impostare regole di SNAT per mascherare il traffico in uscita di determinate macchine con un particolare IP pubblico sorgente; per il traffico in entrata si fa lo stesso ma con DNAT;
Esempio di NAT 1:1 con tre macchine (ppp+ matcha qualunque interfaccia il cui nome inizi con "ppp"):
iptables -t nat -A PREROUTING -i ppp+ -d IPv4_PUBBLICO_SECONDARIO_1/32 -j DNAT --to-destination 192.168.1.101
iptables -t nat -A PREROUTING -i ppp+ -d IPv4_PUBBLICO_SECONDARIO_2/32 -j DNAT --to-destination 192.168.1.102
iptables -t nat -A PREROUTING -i ppp+ -d IPv4_PUBBLICO_SECONDARIO_3/32 -j DNAT --to-destination 192.168.1.103
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.1.101/32 -j SNAT --to-source IPv4_PUBBLICO_SECONDARIO_1
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.1.102/32 -j SNAT --to-source IPv4_PUBBLICO_SECONDARIO_2
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.1.103/32 -j SNAT --to-source IPv4_PUBBLICO_SECONDARIO_3
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.1.0/24 -j SNAT --to-source IPv4_PUBBLICO_PRIMARIO
Esempio di NAT parziale verso piu' macchine, ma con un solo IPv4 pubblico secondario consegnato sulla PPPoE; 192.168.1.101 e' il server web, .102 il server DNS e .103 il server di posta; le porte interne non devono necessariamente essere uguali a quelle esterne:
iptables -t nat -A PREROUTING -i ppp+ -d IPv4_PUBBLICO_SECONDARIO/32 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.101:8080
iptables -t nat -A PREROUTING -i ppp+ -d IPv4_PUBBLICO_SECONDARIO/32 -p tcp --dport 443 -j DNAT --to-destination 192.168.1.101:8443
iptables -t nat -A PREROUTING -i ppp+ -d IPv4_PUBBLICO_SECONDARIO/32 -p tcp --dport 53 -j DNAT --to-destination 192.168.1.102:53
iptables -t nat -A PREROUTING -i ppp+ -d IPv4_PUBBLICO_SECONDARIO/32 -p udp --dport 53 -j DNAT --to-destination 192.168.1.102:53
iptables -t nat -A PREROUTING -i ppp+ -d IPv4_PUBBLICO_SECONDARIO/32 -p tcp --dport 25 -j DNAT --to-destination 192.168.1.103:25
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.1.101/32 -j SNAT --to-source IPv4_PUBBLICO_SECONDARIO
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.1.102/32 -j SNAT --to-source IPv4_PUBBLICO_SECONDARIO
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.1.103/32 -j SNAT --to-source IPv4_PUBBLICO_SECONDARIO
iptables -t nat -A POSTROUTING -o ppp+ -s 192.168.1.0/24 -j SNAT --to-source IPv4_PUBBLICO_PRIMARIO
I server in entrambi questi esempi avranno una configurazione LAN molto semplice, senza alcun riferimento agli IP pubblici, ma solo all'IP del firewall in LAN, nell'esempio 192.168.1.1:
ip addr add 192.168.1.10X/24 dev eth0
ip route add default via 192.168.1.1 dev eth0
... oppure DHCP con lease statici, o qualunque altra cosa, inoltre i server possono essere fisici, virtuali, container, Linux, Windows, BSD, MacOS, etc, insomma piena liberta' di scelta e configurazione dei server e della/e LAN/VLAN/etc, fintanto che gli indirizzi IP privati dei server non cambino nel tempo.
Inoltre, gli IP pubblici secondari NON vengono mai assegnati ad alcuna interfaccia, ne' sul firewall/router/gateway ne' sui server; ci pensa il NAT a far "funzionare tutto" ;)
Questi sono ovviamente solo esempi parziali di scenari generici, in pratica si puo' attuare qualunque configurazione che possa essere espressa come regole di iptables (piu' un eventuale policy based routing per il "multi WAN" con piu' connessioni attive simultaneamente di operatori differenti, ma questo e' un altro discorso).