Meu PC está equipado com duas interfaces de rede, wlan0
& eth0
, e eu quero usar a porta WiFi como um ponto de acesso wlan0
.
- Eu usei o
hostapd
recurso e ele funciona corretamente no modo de roteamento na rede local; os usuários podem se conectar ao ponto de acesso e o DHCP funciona corretamente nos dois segmentos. - O PC com
hostapd
não possui firewalls ouiptables
regras (iptables
e firewalls desativados), pois eu quero usar apenas o firewall interno do roteador ADSL.
Minha configuração de rede é a seguinte:
PC with hostapd -> cable connection -> ADSL router
wlan0 -> eth0 <-> 192.168.0.1 <-> internet
192.168.10.1 -> 192.168.0.7 -> static routing to 192.168.10.X
PC ifconfig
:
eth0 Link encap:Ethernet HWaddr 00:12:3F:F2:31:65
inet addr:192.168.0.7 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::212:3fff:fef2:3165/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2169539 errors:0 dropped:0 overruns:0 frame:0
TX packets:1008097 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3056198487 (2.8 GiB) TX bytes:72727161 (69.3 MiB)
Interrupt:16
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:3398 errors:0 dropped:0 overruns:0 frame:0
TX packets:3398 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:495444 (483.8 KiB) TX bytes:495444 (483.8 KiB)
mon.wlan0 Link encap:UNSPEC HWaddr 00-14-A5-04-94-3C-90-F0-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:151 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:17092 (16.6 KiB) TX bytes:0 (0.0 b)
wlan0 Link encap:Ethernet HWaddr 00:14:A5:04:94:3C
inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0
inet6 addr: fe80::214:a5ff:fe04:943c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:1502 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:279392 (272.8 KiB)
Como faço para configurar uma configuração NAT simples iptables
no PC?
- Desejo que todos os usuários conectados à rede via
hostapd
(rede192.168.10.X
) tenham acesso à e da Internet - Eu não quero filtrar nenhum tráfego, apenas apenas NAT.
Não consigo obter uma conexão à Internet a partir do segmento WiFi:
- O cliente conectado ao WiFi tem endereço DHCP
192.168.10.48
e o único tráfego está noeth0
endereço:
Nota: Como o endereço16:50:14.671587 ARP, Request who-has 192.168.0.48 tell 192.168.0.1, length 46
192.168.0.48
não é192.168.10.48
, o Masquerade parece funcionar. - Não consigo mais executar ping no
192.168.0.1
[roteador ADSL], o que era possível antes. - E o acesso da Internet aos usuários WIFI? É claro que irei configurar no roteador ADSL, encaminhando um pool de portas IP específico da Internet para um endereço IP específico desse usuário WiFi.
EDIT 1:
systemctl
mostraiptables
como:
Mesmo que eu corri:iptables.service loaded active exited
systemctl enable iptables.service systemctl start iptables.service
EDIT 2:
- Funciona, mas sempre que eu inicializo o computador, é normal adicionar manualmente o seguinte por meio de um script de inicialização?
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Respostas:
Na forma mais simples:
Isso vai permitir que todos os utilizadores de WiFi acessar a Internet.
Obviamente, supondo que sua outra configuração de roteamento já esteja concluída, a saber:
Encaminhamento ativado no kernel
Encaminhamento ativado em
iptables
:Use
tcpdump -nn -i eth0
para assistir o tráfego,eth0
em caso de problemas, para ver se o NAT é adequado corretamente, se a resposta está voltando etc.EDIT: "Eu tenho que adicionar manualmente sempre que inicializar o computador (a partir do script de inicialização) ..." Depende da distribuição do Linux que você possui. Infelizmente, praticamente todas as distros têm sua própria ferramenta de firewall - no final, elas estão apenas ligando,
iptables
mas por algum motivo os autores acreditam que ofuscar a maneira como o iptables funciona é o que os usuários desejam.Para responder à sua pergunta - o mais provável é que o seu firewall possa ser configurado para adicionar essa regra NAT automaticamente. Entretanto, a maneira exata varia entre as distribuições do Linux sem uma boa razão. Triste mas verdadeiro.
fonte
Eu escrevi um firewall para todas as ocasiões. Por favor, leia o README e o SCRIPT antes de usá-lo. Incluí as regras necessárias para o HOSTAP
HostAP
O HostAP exige que as linhas abaixo sejam ACEITAS para funcionar
https://github.com/diveyez/fw.sh
fonte