Mi PC está equipado con dos interfaces de red, wlan0
y eth0
, y quiero usar el puerto Wi-Fi como un punto de acceso en wlan0
.
- Utilicé la
hostapd
instalación y funciona correctamente en modo de enrutamiento dentro de la red local; los usuarios pueden conectarse al punto de acceso y DHCP funciona correctamente en ambos segmentos. - La PC con
hostapd
no tiene ningún cortafuegos oiptables
reglas (iptables
y cortafuegos deshabilitados), ya que solo quiero usar el cortafuegos incorporado del enrutador ADSL.
Mi configuración de red es la siguiente:
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)
¿Cómo configuro una configuración NAT simple iptables
en la PC?
- Quiero que todos los usuarios conectados a la red a través de
hostapd
(network192.168.10.X
) tengan acceso ay desde internet - No quiero filtrar ningún tráfico, solo NAT.
No puedo obtener una conexión a Internet desde el segmento WiFi:
- El cliente conectado a WiFi tiene dirección DHCP
192.168.10.48
, y el único tráfico está activadoeth0
desde la dirección:
Nota: La dirección16:50:14.671587 ARP, Request who-has 192.168.0.48 tell 192.168.0.1, length 46
192.168.0.48
no es192.168.10.48
, así que Masquerade parece funcionar. - Ya no puedo hacer ping
192.168.0.1
[enrutador ADSL], que era posible antes. - ¿Qué pasa con el acceso desde Internet a los usuarios de WIFI? Por supuesto, lo configuraré en el enrutador ADSL, reenviando la agrupación de puertos IP particulares de Internet a la dirección IP particular de dicho usuario de WiFi.
EDITAR 1:
systemctl
se muestraiptables
como:
Aunque corrí:iptables.service loaded active exited
systemctl enable iptables.service systemctl start iptables.service
EDITAR 2:
- Funciona, pero cada vez que inicio la computadora, ¿es normal tener que agregar manualmente lo siguiente a través de un script de inicio?
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Respuestas:
En la forma más simple:
Eso permitirá a todos los usuarios de WiFi acceder a Internet.
Por supuesto, suponiendo que su otra configuración de enrutamiento ya esté hecha, a saber:
Reenvío habilitado en el núcleo
Reenvío habilitado en
iptables
:Úselo
tcpdump -nn -i eth0
para observar el tráficoeth0
en caso de problemas para ver si obtiene NAT correctamente, si la respuesta regresa, etc.EDITAR: "Tengo que agregar manualmente cada vez que inicio la computadora (desde el script de inicio) ..." Depende de la distribución de Linux que tenga. Lamentablemente, cada distribución tiene su propia herramienta de Firewall: al final solo llaman,
iptables
pero por alguna razón los autores creen que ofuscar la forma en que funcionan las iptables es lo que los usuarios quieren.Para responder a su pregunta, lo más probable es que su firewall se pueda configurar para agregar esta regla NAT automáticamente. Sin embargo, la forma exacta varía entre las distribuciones de Linux sin una buena razón. Triste pero cierto.
fuente
Escribí un firewall para todas las ocasiones. Lea el archivo README y el SCRIPT antes de usarlo. Incluí las reglas necesarias para HOSTAP
HostAP
HostAP requiere que las líneas siguientes sean ambas ACEPTADAS para funcionar
https://github.com/diveyez/fw.sh
fuente