====== 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 ===== 參考資料 ===== * http://www.adj.idv.tw/server/linux_nat.htm * http://www.linuxtopia.org/online_books/rhel6/rhel_6_security_guide/rhel_6_security_sect-Security_Guide-Firewalls-FORWARD_and_NAT_Rules.html {{tag>linux iptables nat 網路}}