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 ]
[root@server ~]# service iptables stop
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
客戶端正常上網,歡迎博友們多多指教,THX....