2013-08-05 14 views
6

Tôi muốn xác định một quy tắc trong iptables cho postrouting trong ubuntu như sau:Iptables Postrouting với SNAT cho một điểm đến paritcular IP

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

Nó có nghĩa là cho các điểm đến với xxx.xx.xx.8 IP (một oublic IP), tôi muốn IP nguồn của nó là xxx.xx.xx.238.

Quy tắc trên không hoạt động. Bất kỳ đề xuất nào. Cảm ơn bạn.

Trả lời

6

Tôi đã tự giải quyết như sau: Tôi đã thêm một IP mới trong giao diện phụ (eth0: 0), với IP NATting bắt buộc của tôi. Ví dụ: xxx.xx.xx.238 với eth0: 0. Bây giờ tôi đã thêm một quy tắc mới trong IPTABLE là

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

.

Khi truy cập ứng dụng trong IP xxx.xx.xx.8, Nó hiển thị IP NAT là xxx.xx.xx.238.

+0

Thông số "-d" đã giúp tôi, và bạn có định viết "eth0.0" không? Bởi vì bạn viết rằng giao diện con của bạn là "eth0: 0" – W4rlock

+0

Có, đối với giao diện phụ chúng ta cần phải viết dưới dạng eth0.0 trong quy tắc iptables. Tôi đã sử dụng IP xxx.xx.xx.238 cho giao diện phụ eth0: 0. – Shyamkkhadka