¿Cómo puedo hacer que mi punto de acceso envíe tráfico 192.168.1.0
directo eth0
y todo el resto del tráfico tun0
?
He configurado un punto de acceso VPN Raspberry Pi. Se encuentra en la misma subred que todos mis servidores 192.168.1.0
y, al igual que los servidores, está conectado por cable a mi módem/enrutador. Luego, la Raspberry Pi tiene un dispositivo WIFI ( wlan0
) para que los clientes se conecten, ejecuta su propia subred 192.168.2.0
y usa iptables
reglas para reenviar todo el tráfico de sus clientes a wlan0
través de mi conexión VPN ( tun0
).
Configuré esto hacia adelante haciendo;
sudo iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
sudo iptables -A FORWARD -i tun0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o tun0 -j ACCEPT
Mi problema es que ahora un cliente conectado por wifi a mi punto de acceso no puede comunicarse con mis servidores. ¿Cómo puedo conseguir esto?
| | ¦
| __________________|_______¦_________
| | Modem/Router/DCHP server |
| | 192.168.1.254 |
| |_________________________¦________|
| | ¦
| | ¦
| __________________¦_
| | 8-port switch ¦ |
| |_________________¦_|
| | | ¦
| | | -----------
| ____________________| |__________ ¦
| | eth0| ¦tun0
| __________________ ________________________
| | Server | | Pi VPN Access Point |
| | 192.168.1.79 | | eth0: 192.168.1.81 |
| |________________| | tun0: 10.X.X.X |
| | wlan0:192.168.2.1 |
| |______________________|
| |wlan0
| |
| __________|___________
| | Laptop |
| | wlan0: 192.168.2.2 |
| |____________________|
He descrito la configuración de mi punto de acceso con más detalle en;http://www.snabela.net/index.php/2013/11/raspberry-vpn-access-point/
¿Qué debo hacer para poder realizar ssh desde la computadora portátil al servidor mientras todo el tráfico de Internet de los clientes del AP se envía a través de la VPN? ¿Puedo agregar otra regla de iptables?
Los puntos de acceso ifconfig -a salida:
eth0 Link encap:Ethernet HWaddr b8:28:eb:f1:77:93
inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:124292 errors:0 dropped:0 overruns:0 frame:0
TX packets:86097 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:136739836 (130.4 MiB) TX bytes:15199088 (14.4 MiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:60 errors:0 dropped:0 overruns:0 frame:0
TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:6200 (6.0 KiB) TX bytes:6200 (6.0 KiB)
mon.wlan0 Link encap:UNSPEC HWaddr F8-1B-67-20-B3-61-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4760 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:630721 (615.9 KiB) TX bytes:0 (0.0 B)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.4.43.179 P-t-P:10.4.43.178 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:108875 errors:0 dropped:0 overruns:0 frame:0
TX packets:75807 errors:0 dropped:29 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:126611820 (120.7 MiB) TX bytes:6303503 (6.0 MiB)
wlan0 Link encap:Ethernet HWaddr f8:1b:67:20:b3:61
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:75019 errors:0 dropped:0 overruns:0 frame:0
TX packets:109376 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:7219164 (6.8 MiB) TX bytes:130045181 (124.0 MiB)
La salida route -n del punto de acceso:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.4.43.178 128.0.0.0 UG 0 0 0 tun0
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
10.4.0.1 10.4.43.178 255.255.255.255 UGH 0 0 0 tun0
10.4.43.178 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
95.211.191.34 192.168.1.254 255.255.255.255 UGH 0 0 0 eth0
128.0.0.0 10.4.43.178 128.0.0.0 UG 0 0 0 tun0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 wlan0
Respuesta1
Me arriesgaré a adivinar y diré que su política ADELANTE predeterminada es RECHAZAR o SOLTAR (consulte con iptables -L FORWARD
). Si eso es correcto, todo su problema es esta línea:
sudo iptables -A FORWARD -i wlan0 -o tun0 -j ACCEPT
Lo que hace es ACEPTAR para REENVIAR cualquier cosa que entre wlan0
y salga tun0
. Lo cual no coincide con un paquete desde 192.168.2.2
hasta 192.168.1.79
, porque saldría eth0
.
Lo más fácil es eliminar esa línea y reemplazarla con estas dos, para permitir el reenvío de todo en cualquier dirección entre sus interfaces internas:
sudo iptables -A FORWARD -i wlan0 -j ACCEPT
sudo iptables -A FORWARD -i eth0 -j ACCEPT
Si simplemente desea excluir su servidor de la VPN, agréguelo -o wlan0
a la segunda línea. Por supuesto, si desea agregar requisitos más estrictos, como que el establecimiento de la sesión tenga que ir en una dirección particular o lo que sea, estas reglas son las que deben ajustarse. Diviértete y ten una consola a mano. ;-)