Estoy haciendo un experimento de red sobre el reenvío de paquetes ip, pero no sé por qué funciona.
Tengo una máquina Linux con dos interfaces de red, eth0 y eth1, ambas con dirección IP estática (eth0: 192.168.100.1, eth1: 192.168.101.2).
Mi objetivo es simple, solo quiero reenviar paquetes ip desde eth1 con destino en la subred 192.168.100.0/24 a eth0, y reenviar paquetes ip desde eth0 con destino en la subred 192.168.101.0/24 a eth1.
Encendí el reenvío de ip con:
sysctl -w net.ipv4.ip_forward=1
mi tabla de enrutamiento es así:
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.100.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.101.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
Pero, cuando trato de hacer ping desde 192.168.100.25 a 192.168.101.47, no funciona.
fuente
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
yiptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
a mis tablas. Y mi política INPUT, OUTPUT y FORWARD son todosACCEPT
.traceroute
en mi host, muestra que el paquete va al "enrutador" (192.168.100.1), pero no va más allá.Debe agregar una ruta a 192.168.100.25 y 192.168.101.47.
Si su servidor de reenvío tiene IP 192.168.100.1 y 192.168.101.1, agregaría el cliente 192.168.100.25
y en el cliente 192.168.101.47
(Esto funciona con solo el reenvío habilitado, sin iptables).
fuente