Configurando um access point no linux usando o create_ap

Nesse post vou mostrar como usar o create_ap para criar um access point usando a linha de comando no linux.

Vamos instalar o git e outras dependências.

sudo apt-get install git  hostapd dnsmasq

Vamos fazer o clone do create_ap

git clone https://github.com/oblique/create_ap.git
cd create_ap

Levantando um Access Point em um só comando.

#./create_ap interface_wifi  interface_bridge_local  SSID Senha 
sudo ./create_ap  wlxc83a35cf64f8 enp4s0 Wifi  UkkEV6wUrGGkcjA

Usando arquivo de configuração . Lembre de fazer as alterações da necessárias para seu ambiente.

nano create_ap.conf

CHANNEL=default
GATEWAY=172.29.0.1
WPA_VERSION=2
ETC_HOSTS=0
DHCP_DNS=gateway
NO_DNS=0
NO_DNSMASQ=0
HIDDEN=1
MAC_FILTER=0
MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept
ISOLATE_CLIENTS=1
SHARE_METHOD=nat
IEEE80211N=0
IEEE80211AC=0
HT_CAPAB=[HT40+]
VHT_CAPAB=
DRIVER=nl80211
NO_VIRT=0
COUNTRY=
FREQ_BAND=2.4
NEW_MACADDR=
DAEMONIZE=0
NO_HAVEGED=0
WIFI_IFACE=wlxc83a35cf64f8
INTERNET_IFACE=enp4s0
SSID=WIFI
PASSPHRASE=UkkEV6wUrGGkcjASk
USE_PSK=0

Levantando um Access Point usando arquivo de configuração.

 sudo /home/julio/create_ap/create_ap  --config  /home/julio/create_ap/create_ap.conf

Criando um serviço . Alterar de acordo com seu ambiente.

nano create_ap.service 


[Unit]
Description=Create AP Service
After=network.target

[Service]
Type=simple
ExecStart=/home/julio/create_ap/create_ap  --config  /home/julio/create_ap/create_ap.conf
KillSignal=SIGINT
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Copiar para a pasta do systemd.

cp /home/julio/create_ap/create_ap.service /etc/systemd/system

Iniciando o serviço.

sudo  systemctl start  create_ap

Pegando o status do serviço.

systemctl status create_ap
● create_ap.service - Create AP Service
   Loaded: loaded (/etc/systemd/system/create_ap.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-04-11 07:50:01 -03; 8h ago
 Main PID: 12101 (create_ap)
    Tasks: 5 (limit: 4915)
   CGroup: /system.slice/create_ap.service
           ├─12101 /bin/bash /home/julio/create_ap/create_ap --config /home/julio/create_ap/create_ap.conf
           ├─12285 dnsmasq -C /tmp/create_ap.wlxc83a35cf64f8.conf.hyDFVcIu/dnsmasq.conf -x /tmp/create_ap.wlxc83a35cf64f8.conf.hyDFVcIu/dnsmasq.pid -l /tmp/create_ap.wlxc83a35cf64f8.conf.hyDFVcIu/dnsmas
           ├─12286 /bin/bash /home/julio/create_ap/create_ap --config /home/julio/create_ap/create_ap.conf
           ├─12291 /usr/sbin/hostapd /tmp/create_ap.wlxc83a35cf64f8.conf.hyDFVcIu/hostapd.conf
           └─26073 sleep 2

Caso você queira ativar na inicialização.

sudo  systemctl enable  create_ap

Alterando regras do iptables , caso você tenha interesse em bloquear algum acesso a alguma rede.

nano create_ap.

Na linha 1713

# enable Internet sharing
if [[ "$SHARE_METHOD" != "none" ]]; then
    echo "Sharing Internet using method: $SHARE_METHOD"
    if [[ "$SHARE_METHOD" == "nat" ]]; then
        iptables -w -t nat -I POSTROUTING -s ${GATEWAY%.*}.0/24 ! -o ${WIFI_IFACE} -j MASQUERADE || die
        iptables -w -I FORWARD -i ${WIFI_IFACE} -s ${GATEWAY%.*}.0/24 -j ACCEPT || die
        iptables -w -I FORWARD -i ${INTERNET_IFACE} -d ${GATEWAY%.*}.0/24 -j ACCEPT || die
        echo 1 > /proc/sys/net/ipv4/conf/$INTERNET_IFACE/forwarding || die
        echo 1 > /proc/sys/net/ipv4/ip_forward || die
        # to enable clients to establish PPTP connections we must

Listando usuário conectados em seu access point.

 /home/julio/create_ap/create_ap   --list-clients  wlxc83a35cf64f8
MAC                  IP                 Hostname
44:10:60:46:be:e7    172.28.0.241       Galaxy-+

Só isso.

Deixa seu comentário.

2 Comentários

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *