2013-08-05 5 views
6

voglio definire una regola di iptables per POSTROUTING in Ubuntu come di seguito:Iptables Postrouting con SNAT per una destinazione paritcular IP

$IPTABLES -t nat -A POSTROUTING -o $EXTIF -p tcp -d xxx.xx.xx.8 -j SNAT --to-source xxx.xx.xx.238 

significa per destinazione con xxx.xx.xx.8 IP (un oublic IP), voglio che il suo IP sorgente sia xxx.xx.xx.238.

La regola precedente non funziona. Qualsiasi suggerimento. Grazie.

risposta

6

Ho ottenuto la soluzione come indicato di seguito: Ho aggiunto un nuovo IP nell'interfaccia secondaria (eth0: 0), con il mio IP di NAT richiesto. Ad esempio xxx.xx.xx.238 con eth0: 0. Ora ho aggiunto una nuova regola in iptable come

$IPTABLES -t nat -A POSTROUTING -o eth0.0 -p tcp -d xxx.xx.xx.8 -j SNAT --to-source xxx.xx.xx.238 

.

Quando si accede all'applicazione in IP xxx.xx.xx.8, viene mostrato che l'IP di NAT è xxx.xx.xx.238.

+0

Il parametro "-d" mi ha aiutato, e intendevi scrivere "eth0.0"? Perché scrivi che la tua sotto-interfaccia è "eth0: 0" – W4rlock

+0

Sì, per l'interfaccia secondaria dobbiamo scrivere come eth0.0 nella regola di iptables. Ho usato IP xxx.xx.xx.238 per l'interfaccia secondaria eth0: 0. – Shyamkkhadka