用iptables實現單網路卡做閘道器上網(轉)

ba發表於2007-08-16
用iptables實現單網路卡做閘道器上網(轉)[@more@]作者: jsesaofeng

測試環境,配置iptables的伺服器A的ip:172.16.81.156,預設閘道器172.16.80.1;網段192.168.1.0/24透過交換機與A機連通;
A主機只有一塊網路卡eth0,主要的配置就是在單網路卡上繫結一個虛擬ip,在透過iptables規則將192.168.1.0/24段的源ip進行偽裝,達到上網目的。
配置如下:
/etc/sysconfig/ifcfg-eth0的配置資訊:
DEVICE=eth0
BOOTPROTO=static
IPADDR=172.16.81.156
NETMASK=255.255.248.0
GATEWAY=172.16.80.1
NETWORK=172.16.80.0
ONBOOT=yes
TYPE=Ethernet

/etc/sysconfig/ifcfg-eth0:1的配置資訊:
DEVICE=eth0:1
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
ONBOOT=yes

echo 1 > /proc/sys/net/ipv4/ip_forward(這句寫到/etc/rc.d/rc.local中)

iptables中的規則:
然後加入以下規則
iptables -F
iptables -F -t nat
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j MASQUERADE
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
service iptables save(自動生成/etc/sysconfig/iptables)

客戶端配置:
簡單的說,就是在192.168.1.0/24這個網段中的一個機器,指定以192.168.1.1為閘道器,再新增可用的DNC就可以了.
linux客戶端的配置方法如下:
ifcfg-eth0:
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.2
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
設定DNS(/etc/resolv.con)
重啟機器就可以上網了。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-961934/,如需轉載,請註明出處,否則將追究法律責任。

相關文章