J'ai un léger problème avec ma configuration NAT.
Ce que j'essaie de faire :
J'ai 2 VLAN (dans cet exemple 100 et 200) et je veux qu'ils puissent accéder au réseau via des IP distinctes. Cela devrait être accompli par un iptables
NAT. J'ai créé cette configuration avec pf (FreeBSD) mais malheureusement le matériel que je dois utiliser n'est pas compatible. J'aimerais bien que ce soit dans notre routeur principal, mais le CPU ne peut pas gérer de telles charges. Avec des tables IP, etc. Je suis juste un noob ;) Schema :
Utilisateur sur VLAN 100 (10.100.0.0/24) -> 10.100.0.1 NAT xxx.yyy.zzz.6 -> Réseau
Utilisateur sur VLAN 200 (10.200.0.0/24) -> 10.200.0.1 NAT xxx.yyy.zzz.7 -> Réseau
Tout cela sur la même interface physique, avec des interfaces VLAN, etc.
Voici ma configuration actuelle : /etc/network/interfaces
lo ....
iface ens2f3 inet static
address xxx.yyy.zzz.6
netmask 255.255.252.0
auto ens2f3.100
iface ens2f3.100 inet static
address 10.100.0.1
netmask 255.255.255.0
vlan-raw-device ens2f3
iface ens2f3 inet static
address xxx.yyy.zzz.7
netmask 255.255.252.0
auto ens2f3.200
iface ens2f3.200 inet static
address 10.200.0.1
netmask 255.255.255.0
vlan-raw-device ens2f3
/etc/iptables/rules.v4 (chargé automatiquement)
#NAT TABLE
\*nat
:PREROUTING ACCEPT \[0:0\]
:INPUT ACCEPT \[0:0\]
:OUTPUT ACCEPT \[0:0\]
:POSTROUTING ACCEPT \[0:0\]
-A POSTROUTING -s 10.100.0.0/24 -o ens2f3 -j SNAT --to-source xxx.yyy.zzz.6
-A POSTROUTING -s 10.200.0.0/24 -o ens2f3 -j SNAT --to-source xxx.yyy.zzz.7
COMMIT
# General Table
\*filter
:INPUT ACCEPT \[0:0\]
:FORWARD ACCEPT \[0:0\]
:OUTPUT ACCEPT \[0:0\]
COMMIT
# I know this setup is very insecure! I lockdown the server when I got NAT working
Le problème est que je peux obtenir avec un 10.100.0.100 je peux me connecter sur xxx.yyy.zzy.1 avec exactement cette IP (10.100.0.100 ; ce qui ne devrait pas être possible) au lieu de l'IP que j'aurais dû obtenir via NAT.
J'ai aussi essayé de marquer les paquets lorsqu'ils arrivent à l'interface et avoir des tables de routage séparées pour eux. Là, le problème ci-dessus n'existe pas, mais aucune connexion vers quoi que ce soit n'est possible.
Pourriez-vous me donner des conseils sur la façon de réaliser ceci avec un système d'exploitation basé sur Linux. Si nécessaire, je dispose d'une autre interface 10G