溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux下路由配置梳理

發(fā)布時間:2020-08-09 22:42:04 來源:ITPUB博客 閱讀:232 作者:steven_hua 欄目:建站服務(wù)器

Linux 雙網(wǎng)卡(內(nèi)外網(wǎng)) 同時使用路由設(shè)置


http://blog.csdn.net/hshl1214/article/details/53103790

       公司業(yè)務(wù)需求,一臺服務(wù)器,雙網(wǎng)卡,需要同時訪問外網(wǎng)和內(nèi)網(wǎng)。在設(shè)置過程中,同事反映原本好用的內(nèi)網(wǎng)地址(192.168.1.100)在設(shè)置上外網(wǎng)地址后變的不好用,只要停止外網(wǎng)那個網(wǎng)卡內(nèi)網(wǎng)就可以正常訪問了。

       其實(shí)是因為,你先設(shè)置了內(nèi)網(wǎng)之后,又設(shè)置外網(wǎng),在給外網(wǎng)設(shè)置了網(wǎng)關(guān)之后,由于沒有設(shè)置默認(rèn)網(wǎng)關(guān),導(dǎo)致,內(nèi)網(wǎng)的IP也會走外網(wǎng)的網(wǎng)關(guān),肯定是不可以的。我們要做的僅僅是讓內(nèi)網(wǎng)走自己的網(wǎng)卡

       內(nèi)網(wǎng)網(wǎng)卡:eth0 192.168.1.100    網(wǎng)關(guān):192.168.1.100

       外網(wǎng)網(wǎng)卡 : eth2  119.222.222.222 網(wǎng)關(guān):119.222.222.1

       首先設(shè)置默認(rèn)網(wǎng)關(guān),讓所有IP包默認(rèn)情況下均通過 119.222.222.1 進(jìn)行轉(zhuǎn)發(fā):

       route add default gw 119.222.222.1

       然后,單獨(dú)為內(nèi)網(wǎng)設(shè)置轉(zhuǎn)發(fā)特例,所有192.168開頭的,全部走eth0

       route add -net 192.168.0.0 netmask 255.255.0.0 dev eth0

       路由添加的最好是要加到開機(jī)啟動上

       vi /etc/rc.local

       另:刪除默認(rèn)網(wǎng)關(guān)的命令如下:

       route  del default

      在linux下設(shè)置永久路由的方法:/etc/sysconfig/static-routes
      寫法: any net 192.168.0.0/16 gw 網(wǎng)關(guān)ip

Linux下路由配置梳理

https://www.cnblogs.com/kevingrace/p/6490627.html


在日常運(yùn)維作業(yè)中,經(jīng)常會碰到路由表的操作。下面就linux運(yùn)維中的路由操作做一梳理:
------------------------------------------------------------------------------
先說一些關(guān)于路由的基礎(chǔ)知識:
1)路由概念
路由:   跨越從源主機(jī)到目標(biāo)主機(jī)的一個互聯(lián)網(wǎng)絡(luò)來轉(zhuǎn)發(fā)數(shù)據(jù)包的過程
路由器:能夠?qū)?shù)據(jù)包轉(zhuǎn)發(fā)到正確的目的地,并在轉(zhuǎn)發(fā)過程中選擇最佳路徑的設(shè)備
路由表:在路由器中維護(hù)的路由條目,路由器根據(jù)路由表做路徑選擇
直連路由:當(dāng)在路由器上配置了接口的IP地址,并且接口狀態(tài)為up的時候,路由表中就出現(xiàn)直連路由項
靜態(tài)路由:是由管理員手工配置的,是單向的。
默認(rèn)路由:當(dāng)路由器在路由表中找不到目標(biāo)網(wǎng)絡(luò)的路由條目時,路由器把請求轉(zhuǎn)發(fā)到默認(rèn)路由接口 。

2)靜態(tài)路由和默認(rèn)路由的特點(diǎn)
靜態(tài)路由特點(diǎn):
路由表是手工設(shè)置的;
除非網(wǎng)絡(luò)管理員干預(yù),否則靜態(tài)路由不會發(fā)生變化;
路由表的形成不需要占用網(wǎng)絡(luò)資源;
適用環(huán)境:一般用于網(wǎng)絡(luò)規(guī)模很小、拓?fù)浣Y(jié)構(gòu)固定的網(wǎng)絡(luò)中。

默認(rèn)路由特點(diǎn):
在所有路由類型中,默認(rèn)路由的優(yōu)先級最低
適用環(huán)境:一般應(yīng)用在只有一個出口的末端網(wǎng)絡(luò)中或作為其他路由的補(bǔ)充

浮動靜態(tài)路由:
路由表中存在相同目標(biāo)網(wǎng)絡(luò)的路由條目時,根據(jù)路由條目優(yōu)先級的高低,將請求轉(zhuǎn)發(fā)到相應(yīng)端口;
鏈路冗余的作用;

3)路由器轉(zhuǎn)發(fā)數(shù)據(jù)包時的封裝過程
源IP和目標(biāo)IP不發(fā)生變化,在網(wǎng)絡(luò)的每一段傳輸時,源和目標(biāo)MAC發(fā)生變化,進(jìn)行重新封裝,分別是每一段的源和目標(biāo)地址

4)要完成對數(shù)據(jù)包的路由,一個路由器必須至少了解以下內(nèi)容:
a)目的地址
b)相連路由器,并可以從哪里獲得遠(yuǎn)程網(wǎng)絡(luò)的信息
c)到所有遠(yuǎn)程網(wǎng)絡(luò)的可能路由
d)到達(dá)每個遠(yuǎn)程網(wǎng)絡(luò)的最佳路由
e)如何維護(hù)并驗證路由信息
f)路由和交換的對比
路由工作在網(wǎng)絡(luò)層
a)根據(jù)“路由表”轉(zhuǎn)發(fā)數(shù)據(jù)
b)路由選擇
c)路由轉(zhuǎn)發(fā)
交換工作在數(shù)據(jù)鏈路層
d)根據(jù)“MAC地址表”轉(zhuǎn)發(fā)數(shù)據(jù)
e)硬件轉(zhuǎn)發(fā)

------------------------------------------------------------------------------
接著說下linux運(yùn)維中關(guān)于路由的一些操作
1)使用route -n命令查看Linux內(nèi)核路由表

[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

Linux下路由配置梳理

2)三種路由類型說明
    a)主機(jī)路由
主機(jī)路由是路由選擇表中指向單個IP地址或主機(jī)名的路由記錄。主機(jī)路由的Flags字段為H。例如,在下面的示例中,本地主機(jī)通過IP地址192.168.1.1的路由器到達(dá)IP地址為10.0.0.10的主機(jī)。

Destination    Gateway       Genmask        Flags     Metric    Ref    Use    Iface
-----------    -------     -------            -----     ------    ---    ---    -----
10.0.0.10     192.168.1.1    255.255.255.255   UH       0    0      0    eth0



    b)網(wǎng)絡(luò)路由
網(wǎng)絡(luò)路由是代表主機(jī)可以到達(dá)的網(wǎng)絡(luò)。網(wǎng)絡(luò)路由的Flags字段為N。例如,在下面的示例中,本地主機(jī)將發(fā)送到網(wǎng)絡(luò)192.19.12的數(shù)據(jù)包轉(zhuǎn)發(fā)到IP地址為192.168.1.1的路由器。

Destination    Gateway       Genmask      Flags    Metric    Ref     Use    Iface
-----------    -------     -------         -----    -----   ---    ---    -----
192.19.12     192.168.1.1    255.255.255.0      UN      0       0     0    eth0


    c)默認(rèn)路由
當(dāng)主機(jī)不能在路由表中查找到目標(biāo)主機(jī)的IP地址或網(wǎng)絡(luò)路由時,數(shù)據(jù)包就被發(fā)送到默認(rèn)路由(默認(rèn)網(wǎng)關(guān))上。默認(rèn)路由的Flags字段為G。例如,在下面的示例中,默認(rèn)路由是IP地址為192.168.1.1的路由器。

Destination    Gateway       Genmask    Flags     Metric    Ref    Use    Iface
-----------    -------     ------- -----      ------    ---    ---    -----
default       192.168.1.1     0.0.0.0    UG       0        0     0    eth0


3)配置路由route的命令
設(shè)置和查看路由表都可以用 route 命令,設(shè)置內(nèi)核路由表的命令格式是:
route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

參數(shù)解釋:
add           添加一條路由規(guī)則
del            刪除一條路由規(guī)則
-net          目的地址是一個網(wǎng)絡(luò)
-host         目的地址是一個主機(jī)
target        目的網(wǎng)絡(luò)或主機(jī)
netmask    目的地址的網(wǎng)絡(luò)掩碼
gw            路由數(shù)據(jù)包通過的網(wǎng)關(guān)
dev           為路由指定的網(wǎng)絡(luò)接口

4)route命令使用舉例

添加到主機(jī)的路由
# route add -host 192.168.1.2 dev eth0:0
# route add -host 10.20.30.148 gw 10.20.30.40
  
添加到網(wǎng)絡(luò)的路由
# route add -net 10.20.30.40 netmask 255.255.255.248 eth0
# route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route add -net 192.168.1.0/24 eth2
  
添加默認(rèn)路由
# route add default gw 192.168.1.1
  
刪除路由
# route del -host 192.168.1.2 dev eth0:0
# route del -host 10.20.30.148 gw 10.20.30.40
# route del -net 10.20.30.40 netmask 255.255.255.248 eth0
# route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
# route del -net 192.168.1.0/24 eth2
# route del default gw 192.168.1.1                  //route del default   刪除所有的默認(rèn)路由
 
添加一條默認(rèn)路由
# route add default gw 10.0.0.1      //默認(rèn)只在內(nèi)存中生效
開機(jī)自啟動可以追加到/etc/rc.local文件里
# echo "route add default gw 10.0.0.1" >>/etc/rc.local
 
添加一條靜態(tài)路由
# route add -net 192.168.2.0/24 gw 192.168.2.254
要永久生效的話要這樣做:
# echo "any net 192.168.2.0/24 gw 192.168.2.254" >>/etc/sysconfig/static-routes
 
添加到一臺主機(jī)的靜態(tài)路由
# route add -host 192.168.2.2 gw 192.168.2.254
要永久生效的話要這樣做:
# echo "any  host 192.168.2.2 gw 192.168.2.254 " >>/etc/sysconfig/static-routes
注:Linux 默認(rèn)沒有這個文件 ,得手動創(chuàng)建一個

5)設(shè)置包轉(zhuǎn)發(fā)
在Linux中默認(rèn)的內(nèi)核配置已經(jīng)包含了路由功能,但默認(rèn)并沒有在系統(tǒng)啟動時啟用此功能;
開啟Linux的路由功能可以通過調(diào)整內(nèi)核的網(wǎng)絡(luò)參數(shù)來實(shí)現(xiàn),方法如下:

  臨時開啟路由功能:
# echo 1 > /proc/sys/net/ipv4/ip_forward
或者
# sysctl -w net.ipv4.ip_forward=1
  永久開啟路由功能
# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
# sysctl -p

6)靜態(tài)路由配置
添加靜態(tài)路由到路由表的語法如下:

ip route [destination_network] [mask] [next-hop_address] administrative_distance]

參數(shù)解析:
ip route         用于創(chuàng)建靜態(tài)路由的命令。
Destination_network        需要發(fā)布到路由表中的網(wǎng)段。
Mask        在這一網(wǎng)絡(luò)上使用的子網(wǎng)掩碼。
Next-hop_address        下一跳路由器的地址。
administrative_distance      默認(rèn)時,靜態(tài)路由有一個取值為1 的管理性距離。在這個命令的尾部添加管理權(quán)來修改這個默認(rèn)值。

例如

ip route 172.16.1.0 255.255.255.0 172.16.2.1

查看路由表除了使用route -n命令外,還可以使用ip route

[root@dev ~]# ip route
192.168.1.17 dev ppp0  proto kernel  scope link  src 192.168.1.190
10.1.32.14 dev tun0  scope link
10.1.32.12 dev tun0  scope link
10.4.8.2 via 192.168.9.254 dev eth0  src 192.168.9.200  mtu 1500 advmss 1460
10.4.9.0/24 dev tun0  scope link
192.168.9.0/24 dev eth0  proto kernel  scope link  src 192.168.9.200  metric 1
10.2.0.0/16 dev tun0  scope link
10.0.0.0/16 dev tun0  scope link
10.1.0.0/16 dev tun0  scope link
192.168.0.0/16 dev tun0  scope link
default via 192.168.9.254 dev eth0

----------------------------------------實(shí)例1--------------------------------------------

Linux下路由配置梳理

如上圖所示,PC0機(jī)器和PC1機(jī)器之間經(jīng)過兩個路由器,要想使這兩臺機(jī)器通信,路由設(shè)置如下:
1)Route0路由器設(shè)置:

ip add 192.168.1.1 255.255.255.0
ip add 192.168.2.1 255.255.255.0
ip route 192.168.3.0 255.255.255.0 192.168.2.2

2)Route1路由器設(shè)置:

ip add 192.168.2.2 255.255.255.0
ip add 192.168.3.1 255.255.255.0
ip route 192.168.1.0 255.255.255.0 192.168.2.1

----------------------------------------實(shí)例2--------------------------------------------

Linux下路由配置梳理

如上圖所示,使用A主機(jī)192.168.1.2能夠ping通E主機(jī)192.168.4.2,這兩臺機(jī)能夠通信。
操作思路:
1)在主機(jī)B上設(shè)置默認(rèn)路由下一跳為192.168.2.2,并開啟路由轉(zhuǎn)發(fā)功能;
2)在主機(jī)C上設(shè)置2條靜態(tài)路由,分別去192.168.1.0/24網(wǎng)段的下一跳為192.168.2.1,去192.168.4.0/24網(wǎng)段的下一跳為192.168.3.2,并開啟路由轉(zhuǎn)發(fā)功能;
3)在主機(jī)D上設(shè)置默認(rèn)路由下一跳為192.168.3.1,并開啟路由轉(zhuǎn)發(fā)功能。

操作記錄:

1)A主機(jī)上操作:ip為192.168.1.2,設(shè)置網(wǎng)關(guān)為192.168.1.1
# route add default gw 192.168.1.1
 
2)B主機(jī)上操作:第一塊網(wǎng)卡為192.168.1.1,第二塊網(wǎng)卡為192.168.2.1
# ifconfig eth0 192.168.1.1
# ifconfig eth2 192.168.2.1   //可以在一塊網(wǎng)卡上設(shè)置兩個ip,比如是eth0,eth0:0
 
B主機(jī)設(shè)置默認(rèn)路由,下一跳為192.168.2.2
# route add default gw 192.168.2.2
 
B主機(jī)開啟路由轉(zhuǎn)發(fā)功能
# echo 1 > /proc/sys/net/ipv4/ip_forward   //臨時轉(zhuǎn)發(fā),可以在/etc/sysctl.conf里設(shè)置永久轉(zhuǎn)發(fā)
 
3)C主機(jī)上操作:第一塊網(wǎng)卡為192.168.2.2,第二塊網(wǎng)卡為192.168.3.1
# ifconfig eth0 192.168.2.2
# ifconfig eth2 192.168.3.1   //如果就一塊網(wǎng)卡,可以設(shè)置ifconfig eth0:0 192.168.3.1
 
C主機(jī)設(shè)置2條默認(rèn)路由
# route add -net 192.168.1.0/24 gw 192.168.2.1
# route add -net 192.168.4.0/24 gw 192.168.3.2
 
C主機(jī)開啟路由轉(zhuǎn)發(fā)功能
# echo 1 > /proc/sys/net/ipv4/ip_forward
 
4)D主機(jī)上操作:第一塊網(wǎng)卡為192.168.3.2,第二塊網(wǎng)卡為192.168.4.1
# ifconfig eth0 192.168.3.2
# ifconfig eth2 192.168.4.1
 
D主機(jī)設(shè)置默認(rèn)路由,下一跳為192.168.3.1
# route add default gw 192.168.3.1
 
D主機(jī)開啟路由轉(zhuǎn)發(fā)功能
# echo 1 > /proc/sys/net/ipv4/ip_forward
 
5)E主機(jī)上操作:ip為192.168.4.2,設(shè)置網(wǎng)關(guān)為192.168.4.1
# route add default gw 192.168.4.1

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI