linux nat 共用出口IP與轉內部伺服器
用linux架一個nat伺服器不是什麼困難的事,最近應伺服器多台要共用一個出口IP,所以我也搞了一個
* iptables設定
> *nat
-A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
-A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.134:80
COMMIT
可這些伺服器對內部的連線怎樣才可以保持原樣?這邊用一個大的內部路由實現,要到內部網段走原本的gw,而default gw就走nat伺服器出去,以達到共用出口IP的效果
> [root@localhost]# ip r
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.135
169.254.0.0/16 dev eth0 scope link metric 1002
192.168.0.0/16 via 192.168.1.254 dev eth0
default via 192.168.1.130 dev eth0
路由的指令這樣下,可以補在rc.local中,開機自動執行
* ip route add 192.168.0.0/16 via 192.168.1.254
或者編一個路由檔案給網卡如下,這樣在service network restart時,路由也不會跑掉
> [root@localhost]# cat route-eth0
192.168.0.0/16 via 192.168.1.254
* iptables設定
> *nat
-A POSTROUTING -s 192.168.1.0/24 -o eth1 -j MASQUERADE
-A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.134:80
COMMIT
可這些伺服器對內部的連線怎樣才可以保持原樣?這邊用一個大的內部路由實現,要到內部網段走原本的gw,而default gw就走nat伺服器出去,以達到共用出口IP的效果
> [root@localhost]# ip r
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.135
169.254.0.0/16 dev eth0 scope link metric 1002
192.168.0.0/16 via 192.168.1.254 dev eth0
default via 192.168.1.130 dev eth0
路由的指令這樣下,可以補在rc.local中,開機自動執行
* ip route add 192.168.0.0/16 via 192.168.1.254
或者編一個路由檔案給網卡如下,這樣在service network restart時,路由也不會跑掉
> [root@localhost]# cat route-eth0
192.168.0.0/16 via 192.168.1.254
留言
張貼留言