Estou configurando um ap wireless sem conexão com a internet. Um cliente pode se conectar ao servidor hostapd e obter um endereço IP graças ao dnsmasq . O problema é que o cliente não consegue fazer ping no servidor e o servidor não consegue fazer ping no cliente. Meu servidor é um raspberry pi 3.
Ao fazer ping no cliente no computador host do servidor, recebo ping: connect: Network is unreachable
. Embora o cliente esteja conectado e tenha um endereço IP (testado com $ ip a
).
Não preciso de acesso à internet nem quero configurá-lo. Por isso, não montei uma ponte.
Este é o meu hostapd.conf
:
# the interface used by the AP
interface=wlan0
# "g" simply means 2.4GHz band
hw_mode=g
# the channel to use
channel=10
# limit the frequencies used to those allowed in the country
ieee80211d=1
# the country code
country_code=SE
# 802.11n support
ieee80211n=1
# QoS support, also required for full speed on 802.11n/ac/ax
wmm_enabled=1
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid=raspi
wpa_passphrase=********
Este é o meu /etc/dnsmasq.conf
:
interface=wlan0
dhcp-range=192.168.10.2,192.168.10.30,255.255.255.0,12h
dhcp-option=3,192.168.10.1
dhcp-option=6,192.168.10.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1
Para iniciar o ap eu corro:
wpa_cli terminate;
systemctl stop dhcpcd;
systemctl start hostapd;
systemctl start dnsmasq;
Para parar o ap eu corro
systemctl stop dnsmasq;
systemctl stop hostapd;
systemctl restart dhcpcd;
Eu tentei nmap -sn 192.168.10.0/24
a rede com apenas um resultado, o cliente, nmaping apenas o roteador 192.168.10.1
não dá nada mesmo que o ssh esteja funcionando no pi (quando o ap está desligado e o pi está conectado a outro wifi).
Ao fazer $ ip a
no servidor ele ainda tem o mesmo endereço de ip que tinha antes de iniciar o ap, quando estava conectado ao wifi, porém, este endereço de ip não é acessível via wifi "antigo" .
Em conclusão , parece que o rpi pode criar um AP e fornecer endereços IP. Diz que está conectado com um endereço ip, mas ao fazer ping no rpi, não está conectado em nenhum lugar. O SO foi instalado recentemente. Como posso resolver isto?
EDITAR:
Do servidor pov:
$ ping 192.168.10.10 # same for x.x.x.1 and x.x.x.0
ping: connect: Network is unreachable
$ ip route
# No output
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
link/ether b8:27:eb:42:db:a0 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether b8:27:eb:17:8e:f5 brd ff:ff:ff:ff:ff:ff
Do cliente pov:
$ ping 192.168.10.1 ## same output for x.x.x.0 too
ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
From 192.168.10.10 icmp_seq=1 Destination Host Unreachable
From 192.168.10.10 icmp_seq=2 Destination Host Unreachable
From 192.168.10.10 icmp_seq=3 Destination Host Unreachable
^C
--- 192.168.10.1 ping statistics ---
6 packets transmitted, 0 received, +3 errors, 100% packet loss, time 5054ms
pipe 3
$ ping 192.168.10.10 ## pinging the client itself
ping 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.031 ms
64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.122 ms
64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.042 ms
64 bytes from 192.168.10.10: icmp_seq=4 ttl=64 time=0.040 ms
^C
--- 192.168.10.10 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3039ms
rtt min/avg/max/mdev = 0.031/0.058/0.122/0.036 ms
$ ip route
default via 192.168.10.1 dev wlan0 proto dhcp metric 302
192.168.10.0/24 dev wlan0 proto dhcp scope link src 192.168.10.10
$ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether d4:61:9d:1b:3f:78 brd ff:ff:ff:ff:ff:ff
inet 192.168.10.10/24 brd 192.168.10.255 scope global noprefixroute wlan0
valid_lft forever preferred_lft forever
Provavelmente algo estava errado no meu último teste, pois eu disse que o servidor mostrava o endereço ip antigo que ele tinha, ele faz isso de vez em quando quando reinicio o ap.
Caso alguém encontre isso no futuro, executar os seguintes comandos após iniciar o AP e o servidor dhcp fez o trabalho:
Isso ocorre porque eu precisava configurar um endereço IP para a interface wlan0 e, em seguida, roteá-lo para a rede. Dessa forma, o rpi está conectado à rede, pois todas as solicitações de rede são roteadas para o endereço correto.