Linux IP 分享(NAT)設定
必須安裝的模組
- iptables (iptables-1.2.11-3.1.RHEL4)
設定程序
vi /etc/sysctl.conf
: net.ipv4.ip_forward = 1 :
sysctl -p /etc/sysctl.conf cat /proc/sys/net/ipv4/ip_forward
lsmod | grep ip_tables
- 如果沒有出現 ip_tables 就輸入 modprobe ip_tables 然後再確認一次
- 規劃好預計達成的規則
- 來自 192.168.0.* 的 IP, 自動轉到 eth0 介面出去
- 來自 eth0 的 8080 自動轉到 192.168.0.241:80
- 來自 eth0 的 8081 自動轉到 192.168.0.22:8080
vi /etc/sysconfig/iptables
: *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] :OUTPUT ACCEPT [0:0] [0:0] -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth0 -j MASQUERADE [0:0] -A PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.0.241:80 [0:0] -A PREROUTING -p tcp --dport 8081 -j DNAT --to-destination 192.168.0.22:8080 COMMIT :
- CentOS 6 (RHEL6) 增加一些安全的控管, 因此在 *filter 的 :FORWARD 項目要增加開放 nat 的來源資訊
- 例如 來自 eth1 都允許 nat 出去就可增加以下的設定資料
*filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] -A FORWARD -i eth1 -j ACCEPT -A FORWARD -o eth1 -j ACCEPT :OUTPUT ACCEPT [0:0]
service iptables restart