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.
This script use hostapd + dnsmasq + iptables to create a NATed Access Point OR hostapd + brctl + dhclient to create a bridged Access Point. The default behavior is a NATed Access Point.
Ok Thank you for comment