J'ai connecté deux réseaux, mais je ne peux pas configurer le routage direct en raison d'adresses IP en double. Par conséquent, je souhaite convertir l'adresse IP connectée en une plage d'adresses IP inutilisée.
Deux serveurs Linux GW1 et GW2 ont été connectés pour communiquer l'hôte H1 (192.168.30.10) et H2 (192.168.1.10). Cependant, puisque le sous-réseau 192.168.0.1/24 auquel appartient H2 est utilisé par le réseau 2, il n'est pas possible de définir le routage direct vers GW1 pour la communication.
(Network 1)
.10 192.168.30.0/24 .1 .1 192.168.1.0/24
[H1]======================[ GW1 ]================
192.168.99.1 ||
||
192.168.99.2 ||
eth1 || .1 192.168.1.0/24 .10
[ GW2 ]====================[H2]
(Network 2)
En utilisant NETMAP d'iptables, l'adresse IP de H2 vue depuis le réseau 1 est convertie en un autre sous-réseau non utilisé par le réseau 1.
Ancienne histoire https://serverfault.com/questions/109569/iptables-massive-11-nat
Ici, la conversion d'adresse est effectuée afin que l'hôte sur le sous-réseau auquel appartient H2 soit accessible avec 192.0.2.x / 24.
Ajoutez les paramètres suivants à GW2.
iptables -t nat -A PREROUTING -d 192.0.2.0/24 -i eth1 -j NETMAP --to 192.168.1.0/24
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j NETMAP --to 192.0.2.0/24
Afin de limiter la plage de destinations pour la conversion d'adresse vers le réseau 1, la cible est limitée par l'interface connectée. Sans cela, l'adresse sera convertie en un autre sous-réseau dans Network2.
Ajoutez un routage statique. Définissez le routage sur 192.0.2.0/24 dans GW1
ip route add 192.0.2.0/24 via 192.168.99.2
Définissez également le routage adressé à 192.0.2.0/24 dans H1. (Non requis si GW1 est la passerelle par défaut)
Définissez le routage adressé à 192.168.30.0/24 dans GW2.
ip route add 192.168.30.0/24 via 192.168.99.1
Définissez également le routage adressé à 192.168.30.0/24 dans H2. (Non requis si GW1 est la passerelle par défaut)
Avec les réglages jusqu'à ce point, H1 et H2 peuvent communiquer.
Communication de H1 à H2: spécifiez l'adresse convertie
h1$ ping 192.0.2.10
h1$ ssh 192.0.2.10
Communication de H2 à H1: spécifiez l'adresse de H1 telle quelle
h2$ ping 192.168.30.10
h2$ ssh 1192.168.30.10
En H1, la communication depuis H2 apparaît comme la communication connectée depuis 192.0.2.10 après conversion.
Si la communication est démarrée uniquement dans la direction de H1 à H2, le réglage de SNAT dans GW2 élimine le besoin de réglages de routage du côté H2. Dans ce cas, dans H2, la communication de H1 ressemble à une connexion de GW2.
Ajout de ce qui suit à GW2
iptables -t nat -A POSTROUTING -d 192.168.1.0/24 -j SNAT --to-source 192.168.1.1
192.168.1.1 est l'adresse IP de GW2
Des articles sur SNAT / DNAT qui réécrivent les adresses IP destinées à un seul hôte peuvent être trouvés à divers endroits, mais je n'ai pas trouvé d'article sur la façon de remplacer l'adresse IP de toute la plage de sous-réseau, je l'ai donc résumé ici.
Recommended Posts