您好,登錄后才能下訂單哦!
http://blog.csdn.net/hshl1214/article/details/53103790
公司業務需求,一臺服務器,雙網卡,需要同時訪問外網和內網。在設置過程中,同事反映原本好用的內網地址(192.168.1.100)在設置上外網地址后變的不好用,只要停止外網那個網卡內網就可以正常訪問了。
其實是因為,你先設置了內網之后,又設置外網,在給外網設置了網關之后,由于沒有設置默認網關,導致,內網的IP也會走外網的網關,肯定是不可以的。我們要做的僅僅是讓內網走自己的網卡
內網網卡:eth0 192.168.1.100 網關:192.168.1.100
外網網卡 : eth2 119.222.222.222 網關:119.222.222.1
首先設置默認網關,讓所有IP包默認情況下均通過 119.222.222.1 進行轉發:
route add default gw 119.222.222.1
然后,單獨為內網設置轉發特例,所有192.168開頭的,全部走eth0
route add -net 192.168.0.0 netmask 255.255.0.0 dev eth0
路由添加的最好是要加到開機啟動上
vi /etc/rc.local
另:刪除默認網關的命令如下:
route del default
在日常運維作業中,經常會碰到路由表的操作。下面就linux運維中的路由操作做一梳理:
------------------------------------------------------------------------------
先說一些關于路由的基礎知識:
1)路由概念
路由: 跨越從源主機到目標主機的一個互聯網絡來轉發數據包的過程
路由器:能夠將數據包轉發到正確的目的地,并在轉發過程中選擇最佳路徑的設備
路由表:在路由器中維護的路由條目,路由器根據路由表做路徑選擇
直連路由:當在路由器上配置了接口的IP地址,并且接口狀態為up的時候,路由表中就出現直連路由項
靜態路由:是由管理員手工配置的,是單向的。
默認路由:當路由器在路由表中找不到目標網絡的路由條目時,路由器把請求轉發到默認路由接口 。
2)靜態路由和默認路由的特點
靜態路由特點:
路由表是手工設置的;
除非網絡管理員干預,否則靜態路由不會發生變化;
路由表的形成不需要占用網絡資源;
適用環境:一般用于網絡規模很小、拓撲結構固定的網絡中。
默認路由特點:
在所有路由類型中,默認路由的優先級最低
適用環境:一般應用在只有一個出口的末端網絡中或作為其他路由的補充
浮動靜態路由:
路由表中存在相同目標網絡的路由條目時,根據路由條目優先級的高低,將請求轉發到相應端口;
鏈路冗余的作用;
3)路由器轉發數據包時的封裝過程
源IP和目標IP不發生變化,在網絡的每一段傳輸時,源和目標MAC發生變化,進行重新封裝,分別是每一段的源和目標地址
4)要完成對數據包的路由,一個路由器必須至少了解以下內容:
a)目的地址
b)相連路由器,并可以從哪里獲得遠程網絡的信息
c)到所有遠程網絡的可能路由
d)到達每個遠程網絡的最佳路由
e)如何維護并驗證路由信息
f)路由和交換的對比
路由工作在網絡層
a)根據“路由表”轉發數據
b)路由選擇
c)路由轉發
交換工作在數據鏈路層
d)根據“MAC地址表”轉發數據
e)硬件轉發
------------------------------------------------------------------------------
接著說下linux運維中關于路由的一些操作
1)使用route -n命令查看Linux內核路由表
[root@dev ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.17 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
10.1.32.14 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.1.32.12 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.4.8.2 192.168.9.254 255.255.255.255 UGH 0 0 0 eth0
10.4.9.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
192.168.9.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0
10.2.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
10.0.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
10.1.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
192.168.0.0 0.0.0.0 255.255.0.0 U 0 0 0 tun0
0.0.0.0 192.168.9.254 0.0.0.0 UG 0 0 0 eth0
|
2)三種路由類型說明
a)主機路由
主機路由是路由選擇表中指向單個IP地址或主機名的路由記錄。主機路由的Flags字段為H。例如,在下面的示例中,本地主機通過IP地址192.168.1.1的路由器到達IP地址為10.0.0.10的主機。
b)網絡路由
網絡路由是代表主機可以到達的網絡。網絡路由的Flags字段為N。例如,在下面的示例中,本地主機將發送到網絡192.19.12的數據包轉發到IP地址為192.168.1.1的路由器。
c)默認路由
當主機不能在路由表中查找到目標主機的IP地址或網絡路由時,數據包就被發送到默認路由(默認網關)上。默認路由的Flags字段為G。例如,在下面的示例中,默認路由是IP地址為192.168.1.1的路由器。
3)配置路由route的命令
設置和查看路由表都可以用 route 命令,設置內核路由表的命令格式是:
route [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
參數解釋:
add 添加一條路由規則
del 刪除一條路由規則
-net 目的地址是一個網絡
-host 目的地址是一個主機
target 目的網絡或主機
netmask 目的地址的網絡掩碼
gw 路由數據包通過的網關
dev 為路由指定的網絡接口
4)route命令使用舉例
5)設置包轉發
在Linux中默認的內核配置已經包含了路由功能,但默認并沒有在系統啟動時啟用此功能;
開啟Linux的路由功能可以通過調整內核的網絡參數來實現,方法如下:
6)靜態路由配置
添加靜態路由到路由表的語法如下:
參數解析:
ip route 用于創建靜態路由的命令。
Destination_network 需要發布到路由表中的網段。
Mask 在這一網絡上使用的子網掩碼。
Next-hop_address 下一跳路由器的地址。
administrative_distance 默認時,靜態路由有一個取值為1 的管理性距離。在這個命令的尾部添加管理權來修改這個默認值。
例如
查看路由表除了使用route -n命令外,還可以使用ip route
----------------------------------------實例1--------------------------------------------
如上圖所示,PC0機器和PC1機器之間經過兩個路由器,要想使這兩臺機器通信,路由設置如下:
1)Route0路由器設置:
2)Route1路由器設置:
----------------------------------------實例2--------------------------------------------
如上圖所示,使用A主機192.168.1.2能夠ping通E主機192.168.4.2,這兩臺機能夠通信。
操作思路:
1)在主機B上設置默認路由下一跳為192.168.2.2,并開啟路由轉發功能;
2)在主機C上設置2條靜態路由,分別去192.168.1.0/24網段的下一跳為192.168.2.1,去192.168.4.0/24網段的下一跳為192.168.3.2,并開啟路由轉發功能;
3)在主機D上設置默認路由下一跳為192.168.3.1,并開啟路由轉發功能。
操作記錄:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。