用iptables做NAT代理,使內網機器上外網


現狀:
服務器A只有一個內網IP,不能上外網,內網IP與服務器B內網相通;服務器B有一個內網IP和公網IP。想實現服務器A也能上外網。

1
2
3
4
服務器A:內網網卡:eth0  內網IP:192.168.0.10
 
服務器B:內網網卡:eth0  內網IP:192.168.0.20
         外網網卡:eth1  外網IP:203.195.45.182

實現方法:
1、在可以上外網的服務器B上,開啟路由轉發功能:
 
方法一:

1
# echo 1 > /proc/sys/net/ipv4/ip_forward

注:上面命令在服務器重啟之后會失效,可以編輯/etc/rc.d/rc.local把上面命令添加到最底部,實現開啟自動執行。
 
方法二:

1
2
3
4
5
編輯/etc/sysctl.conf
找到net.ipv4.ip_forward = 0 修改為 net.ipv4.ip_forward = 1 最后保存。
 
執行sysctl -p命令使配置生效:
# sysctl -p

2、在可以上外網的服務器B上執行添加SNAT規則

1
# iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.10 -j SNAT --to 203.195.45.182

如果想讓整個網段都通過服務器B上外網,修改上面規則命令中-s 192.168.0.10為-s 192.168.0.0/24,然后把想上外網的服務器默認網關改成192.168.0.20就可以了。
 
3、保存剛添加的iptables規則

1
# service iptables save

4、在需要上外網的服務器A上,修改內網網卡eth0的默認網關為192.168.0.20

1
# route add default gw 192.168.0.20

修改后,查看路由表,確認已修改成功,測試已經可以上外網了

1
2
3
4
5
6
# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         192.168.0.20    0.0.0.0         UG    0      0        0 eth0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM