web-dev-qa-db-fra.com

Comment puis-je configurer ma machine Linux en tant que routeur pour transférer les paquets IP?

Je fais une expérience de réseau sur le transfert de paquets IP, mais je ne sais pas pourquoi cela fonctionne.

J'ai une machine Linux avec deux interfaces réseau, eth0 et eth1, toutes deux avec une adresse IP statique (eth0: 192.168.100.1, eth1: 192.168.101.2).

Mon objectif est simple: je veux juste transférer les paquets ip de eth1 avec la destination du sous-réseau 192.168.100.0/24 vers eth0, et transférer les paquets ip de eth0 avec la destination du sous-réseau 192.168.101.0/24 vers eth1.

J'ai activé le transfert d'adresse IP avec:

sysctl -w net.ipv4.ip_forward=1

ma table de routage est comme ça:

# 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

Mais, lorsque j'essaie de cingler de 192.168.100.25 à 192.168.101.47, cela ne fonctionne pas.

25
Yishu Fang

Vous devez ajouter une règle de transfert à l'aide de la commande iptablesname__, à peu près comme ceci:

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ACCEPT

voir man iptables pour plus de détails, ou recherchez sur Internet des articles de howto, par exemple Comment configurer un routeur NAT sur un ordinateur Linux

Voici Linux IP Masquerade HOWTO qui décrit le sujet en détail.

Vous devez également vous assurer qu'aucune autre règle (par exemple, dans la chaîne FORWARDname__) ne remplace la règle ACCEPTci-dessus. S'il y en a, vous voudrez probablement les supprimer.

23
Sergey

Vous devez ajouter une route à 192.168.100.25 et 192.168.101.47.

Si les adresses IP 192.168.100.1 et 192.168.101.1 de votre serveur de transfert sont ajoutées au client 192.168.100.25.

ip route 192.168.101.0/24 via 192.1268.100.1

et dans le client 192.168.101.47

ip route 192.168.100.0/24 via 192.168.101.1

(Cela fonctionne avec juste le transfert activé, pas d'iptables).

2
V. Campos