LINUX 路由配置小記
根據現有網絡拓撲,利用一台LINUX充當ROUTE的角色,實作内外網互通,具體配置如下:
首先充當LINUX ROUTE的主機具備兩塊網卡,進行内外相連;進入/etc/sysconfig/network-scripts/,分别對ifcfg-eth0;ifcfg-eth1進行配置;具體資訊如圖:
上面這個網關是在eth0上進行設定,因為eth0連接配接的是外網;這個決定了網絡資料包的流向;如果設定不對,内網使用者将無法上網;資料包也就無法轉發出去;
網口配置好相關資訊後,還需要開啟IP路由轉發傳遞;
[root@server ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
也可以直接編輯/etc/sysctl.conf檔案
将# Controls IP packet forwarding
net.ipv4.ip_forward = 0改成1即可
然後重新開機網絡,并觀察路由表;
[root@server ~]# /etc/init.d/network restart
Shutting down interface eth0: [ OK ]
Shutting down interface eth1: [ OK ]
Shutting down loopback interface: [ OK ]
Disabling IPv4 packet forwarding: net.ipv4.ip_forward = 0 [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]
Bringing up interface eth1: [ OK ]
[root@server ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1
0.0.0.0 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
基本配置完成,開始測試用戶端是否能通LINUX ROUTE上網;
問題:測試PING網關192.168.0.254沒有問題;但是PING外網不通;
由于路由是雙向的,是以需要在上層路由上面添加192.168.0.0網段的路由規則;如果不添加192.168.0.0網段的路由規則,内網資料能出去,但是找不到傳回的路由;
在上層路由做一條路由規則;網關指向LINUX ROUTE上的eth0接口,也就是去往192.168.0.0網段的資料包統一都由eth0接口處理;
配置完成後測試PING不通外網域名,可以PING通外網IP;
由于LINUX的安全性,關閉LINUX IPTABLES 即可解決;
[root@server ~]# service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
用戶端正常上網,歡迎博友們多多指教,THX....
本文轉自 liang831002 51CTO部落格,原文連結:http://blog.51cto.com/leo0216/84863,如需轉載請自行聯系原作者