工作測試中,軟體實現了一個路由轉寄功能,要進行相關配置測試。
實際情況是這樣的:
一台機器PC1為CentOS 5.5,配有兩塊網卡eth0和eth1。eth0外網,假定為75.58.2.1;eth1接內網,假定IP為:192.168.100.1;
另一台機器PC2為一個網卡接入內網,IP為192.168.100.11。
現在要使用路由轉寄功能,讓PC2能通過PC1訪問外網主機。
1. 首先要開啟PC1的IP轉寄功能,預設是關閉的,可用下面命令檢查:
more /proc/sys/net/ipv4/ip_forward
如果顯示值為0,則是關閉的,需要開啟,採用shell命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
由於該命令只是不重啟進程,而直接暫時開啟轉寄,為防止重啟後配置失效,需要用命令vi /etc/sysctl.conf修改設定檔,
將其中net.ipv4.ip_forward = 0改為:net.ipv4.ip_forward = 1
為PC1添加兩個路由,命令為:
route add -net 192.168.100.0/24 dev eth0
2. PC2需要將預設網關設定為PC1 eth1的IP
vi /etc/sysconfig/network
...
GATEWAY=192.168.100.1
3. 修改PC1的/etc/sysconfig/iptables
注釋掉:
#-A FORWARD -j RH-Firewall-1-INPUT
添加:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.100.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.100.0/24 -j ACCEPT
iptables -A FORWARD -s ! 192.168.100.0/24 -j DROP
重啟iptables: #service iptables restart