route命令
route -n 查看路由,顯示ip,不解析
route del default gw 10.1.1.254 刪除默認路由
route add default gw 192.168.1.110 添加一個默認網(wǎng)關(guān),把所有不知道的網(wǎng)絡(luò)交給網(wǎng)關(guān)來轉(zhuǎn)發(fā)
route add -net 192.168.2.0/24 dev eth0 對一個網(wǎng)絡(luò)添加一個新的路由(另一個網(wǎng)段)
route del -net 192.168.2.0/24 刪除路由
一、路由表
什么是交換?什么是路由?什么是路由表?
- 交換是指同網(wǎng)絡(luò)訪問(兩臺機器連在同一交換機上,配置同網(wǎng)段的不同IP就可以直接通訊)
- 路由就是跨網(wǎng)絡(luò)訪問(路徑選擇)
- 路由表是記錄路由信息的表,在Linux中首先是一張可見的,可更改的表,它的作用就是當數(shù)據(jù)包發(fā)到Linux的時候,系統(tǒng)(或者說內(nèi)核)就根據(jù)這張表中定義好的信息來決定這個數(shù)據(jù)包接下來該怎么走
1. 查看路由表信息
命令:route -n
作用:用來查看和設(shè)置路由表信息
2. 讀懂路由信息
示例
示例1:
按照上面的路由表來看,如果我ping一個公網(wǎng)IP:
14.200.149.30
,應(yīng)該怎么走?
- 先看目標ip是否為本地ip,如果是就直接訪問本地IP;若果不存在。則去找路由表里是否有需要訪問的網(wǎng)段
- 如果路由表有這個ip則從這個路由的表中的對應(yīng)的網(wǎng)卡出去;如果路由表中沒有要訪問的網(wǎng)段,則會找默認路由,也就是網(wǎng)關(guān);
- 如果網(wǎng)關(guān)也沒有的話,則就會報錯
示例2:
按照上面的路由表來看,如果ping一個局域網(wǎng)ip:
192.168.122.10
,又會怎么走?
ping 192.168.122.10
不會走網(wǎng)關(guān),而是走本地路由從 eth0
網(wǎng)卡出去,因為路由表有192.168.122.0
的路由
3. 添加和刪除網(wǎng)關(guān)
注意:如果要添加一個網(wǎng)關(guān)那么,就要添加一個能夠到達該網(wǎng)關(guān)的目標網(wǎng)絡(luò)地址(要和網(wǎng)關(guān)在同一個網(wǎng)段)
-
臨時刪除網(wǎng)關(guān),馬上生效
命令:route del default gw [ip]
-
臨時增加網(wǎng)關(guān),馬上生效
命令:route add default gw [ip]
沒有一條到達該網(wǎng)關(guān)的路報錯
使用命令:route add -net [ip] dev [網(wǎng)卡名]
添加一條到達指定網(wǎng)關(guān)的路
刪除目標網(wǎng)絡(luò)命令:route del -net [ip] dev [網(wǎng)卡名]
永久增加網(wǎng)關(guān)
修改配置文件
路徑:/etc/sysconfig/network-scripts/ifcfg-[網(wǎng)卡名]
注意事項:
- 加網(wǎng)關(guān)只能加你已經(jīng)有的路由網(wǎng)段里的一個IP才行(此IP不一定存在)
- 加網(wǎng)關(guān)可以不用指定子網(wǎng)掩碼(因為是已有的一個網(wǎng)段的ip,所以掩碼已經(jīng)確認了)
4. 多網(wǎng)卡配置(僅主機+NET模式)
添加一張NET模式下網(wǎng)卡
添加一張網(wǎng)卡后
創(chuàng)建一個配置文件
添加的新網(wǎng)卡名叫ens36
創(chuàng)建一個配置文件
修改ifcfg-ens36
配置文件
保存退出,重啟網(wǎng)卡systemctl restart network
雙網(wǎng)卡注意事項
一個linux服務(wù)器上能有幾個有效網(wǎng)關(guān)?
準確來說:一個路由表上可以加多個網(wǎng)關(guān),但只有一個生效。
我一臺linux上如果有雙物理網(wǎng)卡,請問可不可以兩個網(wǎng)卡配置同網(wǎng)段的不同IP呢?
eth0 10.1.1.1/24
eth1 10.1.1.2/24
如果兩個網(wǎng)卡同網(wǎng)段,則會有下面兩條路由
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.1.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eht1
結(jié)果:
它會實現(xiàn)從兩張網(wǎng)卡進來的包,卻從一張網(wǎng)卡出去,問題就產(chǎn)生了。假設(shè)eth0網(wǎng)卡有問題時,路由表里匹配到第一條后,依然會走eth0網(wǎng)卡,而不會走eth1。
也有解決方法(比如多路由表或者雙網(wǎng)卡綁定),這里不涉及。
二、路由選擇
1. 環(huán)境準備
三臺虛擬機的網(wǎng)絡(luò)模式都為僅主機模式
- 主機1 ip:
10.1.1.1/24
主機1作為網(wǎng)關(guān)服務(wù)器,開啟路由轉(zhuǎn)發(fā)功能 - 主機2 ip:
192.168.0.254/24
- 主機3 ip:
172.16.0.254/24
要求
實現(xiàn)不同網(wǎng)絡(luò)(172.16.0.0/24
和192.168.0.0/24
)直間的互通,使用第三方主機1
作為路由進行轉(zhuǎn)發(fā)
2. 步驟
1)開啟路由轉(zhuǎn)發(fā)功能
主機1
中間人完成一下任務(wù)
臨時開啟路由轉(zhuǎn)發(fā)功能
命令:echo 1 > /proc/sys/net/ipv4/ip_forward
永久開啟
修改配置文件vim /etc/sysctl.conf
添加 net.ipv4.ip_forward = 1
2)分別添加node2和node3兩臺主機所在的網(wǎng)絡(luò)
在主機1中
添加到達主機2的路,命令:route add -net 192.168.0.0/24 dev ens33
添加到達主機3的路,命令:route add -net 172.16.0.0/24 ens33
3)分別配置主機2和主機3的ip和網(wǎng)關(guān)
把主機2和主機3的網(wǎng)關(guān)配置成主機1的ip
注意:在配置網(wǎng)關(guān)前,一定要先添加一條能到網(wǎng)關(guān)的路,也就是添加一個和網(wǎng)關(guān)在同一網(wǎng)段的目標網(wǎng)絡(luò)IP
在主機2和主機3里都執(zhí)行添加目標網(wǎng)絡(luò)和默認網(wǎng)關(guān)的命令命令
注意:ens33
是網(wǎng)卡名route add -net 10.1.1.0/24 dev ens33
添加好到網(wǎng)關(guān)的路之后,再添加默認網(wǎng)關(guān)(也就是主機1的Ip,通過主機1來實現(xiàn)路由轉(zhuǎn)發(fā))
命令:route add default gw 10.1.1.1
4)測試
在主機1里分別ping
主機2和主機3
接著測試主機3和主機2之間互相ping,看看是否聯(lián)通文章來源:http://www.zghlxwxcb.cn/news/detail-781848.html
最后實現(xiàn)借助中間主機1路由轉(zhuǎn)發(fā),實現(xiàn)主機2和主機3之間通信文章來源地址http://www.zghlxwxcb.cn/news/detail-781848.html
到了這里,關(guān)于Linux路由轉(zhuǎn)發(fā)+多網(wǎng)卡配置(route命令)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!