ip rule是linux中用于配置路由的命令(應(yīng)該說(shuō)是ip 命令的route選項(xiàng)),相當(dāng)于
成都創(chuàng)新互聯(lián)公司專(zhuān)注于花山企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開(kāi)發(fā),商城網(wǎng)站制作?;ㄉ骄W(wǎng)站建設(shè)公司,為花山等地區(qū)提供建站服務(wù)。全流程按需求定制開(kāi)發(fā),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)公司專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
通過(guò)路由表 inr.ruhep 路由來(lái)自源地址為192.203.80/24的數(shù)據(jù)包?windows的route命令;
linux對(duì)應(yīng)的用法是:
ip rule add from 192.167.80/24 table inr.ruhep prio 220?
windows 對(duì)應(yīng)的用法是:
route add 192.167.80.0 mask 255.255.255.0
另外,linux還有個(gè)命令iptables功能強(qiáng)大得多,可以設(shè)置端口轉(zhuǎn)發(fā),以供外部的主機(jī)享用路由規(guī)則。
平時(shí)工作經(jīng)常需要配置路由,接下來(lái)總結(jié)一下linux服務(wù)器配置路由的方法。
1、首先看一下本機(jī)的網(wǎng)路環(huán)境網(wǎng)絡(luò)信息及路由信息:ip addr;route -n。
2、接著使用route命令添加一條靜態(tài)路由:route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.2.1。
3、然后使用route命令添加一條路由,并指定eth1網(wǎng)卡:route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.2.1 dev eth1。
4、接著使用route命令添加一條指向某一個(gè)主機(jī)的路由:route add -host 192.168.5.125 gw 192.168.2.1 。
5、最后使用ip命令添加一條靜態(tài)路由,并指定從eth1網(wǎng)卡收發(fā)數(shù)據(jù):ip route add 192.168.7.0/24 via 192.168.2.1 dev eth1,如下圖所示添加靜態(tài)路由就完成了。
linux route命令 用于顯示和操作IP路由表 。
要實(shí)現(xiàn) 兩個(gè)不同子網(wǎng)之間的通信 ,需要一臺(tái)連接兩個(gè)網(wǎng)絡(luò)的路由器,或者同時(shí)位于兩個(gè)網(wǎng)絡(luò)的網(wǎng)關(guān)來(lái)實(shí)現(xiàn)。
在Linux系統(tǒng)中,設(shè)置路由通常是為了解決以下問(wèn)題:該Linux系統(tǒng)在一個(gè)局域網(wǎng)中,局域網(wǎng)中有一個(gè)網(wǎng)關(guān),能夠讓機(jī)器訪問(wèn)Internet,那么就需要將這臺(tái)機(jī)器的IP地址 設(shè)置為 Linux機(jī)器的默認(rèn)路由 。
格式:
[root@linux ~]# route [-nee]
[root@linux ~]# route add [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]
[root@linux ~]# route del [-net|-host] [網(wǎng)域或主機(jī)] netmask [mask] [gw|dev]
1、 查看相關(guān)參數(shù):
-n :不要使用通訊協(xié)定或主機(jī)名稱(chēng),直接使用 IP 或 port number;
-ee :使用更詳細(xì)的資訊來(lái)顯示
2、增加 (add) 、刪除 (del) 路由的相關(guān)參數(shù):
-net :表示后面接的路由為一個(gè)網(wǎng)域;
-host :表示后面接的為連接到單部主機(jī)的路由;
netmask :與網(wǎng)域有關(guān),可以設(shè)定 netmask 決定網(wǎng)域的大??;
gw :gateway 的簡(jiǎn)寫(xiě),后續(xù)接的是 IP 的數(shù)值喔,與 dev 不同;
dev :如果只是要指定由那一塊網(wǎng)卡連線出去,則使用這個(gè)設(shè)定,后面接 eth0 等
設(shè)置默認(rèn)路由
格式:route add default gw {IP-ADDRESS} {INTERFACE-NAME}
其中,
參數(shù){IP-ADDRESS): 用于指定路由器(網(wǎng)關(guān))的IP地址;
參數(shù){INTERFACE-NAME}: 用于指定接口名稱(chēng),如eth0。使用/sbin/ifconfig -a可以顯示所有接口信息。
例:
添加到指定網(wǎng)絡(luò)的路由規(guī)則
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
其中
參數(shù){NETWORK-ADDRESS}: 用于指定網(wǎng)絡(luò)地址
參數(shù){NETMASK}: 用于指定子網(wǎng)掩碼
參數(shù){INTERFACE-NAME}: 用于指定接口名稱(chēng),如eth0。
例:
屏蔽一條路由,設(shè)置到指定網(wǎng)絡(luò)為不可達(dá) ,避免在連接到這個(gè)網(wǎng)絡(luò)的地址時(shí)程序過(guò)長(zhǎng)時(shí)間的等待
格式:route add -net {NETWORK-ADDRESS} netmask {NETMASK} reject
例:
刪除路由設(shè)置 ,參數(shù)指定的方式與route add相似。
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} dev {INTERFACE-NAME}
格式:route del -net {NETWORK-ADDRESS} netmask {NETMASK} reject
例:
注意的是 ,直接在命令行下執(zhí)行route命令來(lái)添加路由, 不會(huì)永久保存 ,當(dāng)網(wǎng)卡重啟或者機(jī)器重啟之后,該路由就 失效 了; 要想永久保存 ,有如下方法:
1. 在/etc/rc.local里添加
2. 在/etc/sysconfig/network里添加到末尾
3. /etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y
服務(wù)器添加永久靜態(tài)路由
一、Linux添加永久靜態(tài)路由
方法一:修改 rc.local 配置文件
范圍:測(cè)試 Ubuntu 14.04、centos 6.4、debian 8.1、redhat 6.4 系統(tǒng)可用
使用方法:
向 linux 系統(tǒng)的 /etc/rc.local文件中添加命令route add -net 192.168.2.0/24 gw 192.168.2.254(服務(wù)器的默認(rèn)路由為192.168.2.254),或者添加命令route add -net 192.168.3.0/24 dev eth0,前者是依賴(lài)默認(rèn)路由進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā),后者是依賴(lài)網(wǎng)卡接口進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)
reboot重啟系統(tǒng)命令生效
用 route -n 命令查看命令是否已經(jīng)生效
方法二:修改 static-routes 配置文件
范圍:測(cè)試 centos 6.4、redhat 6.4 系統(tǒng)可用
使用方法(此方法比 rc.local 方法實(shí)用,能保證網(wǎng)絡(luò)鏈路的通暢):
向系統(tǒng)的 /etc/sysconfig/static-routes 文件(如果系統(tǒng)沒(méi)有此文件,可以新建此文件)中添加命令 any net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.254(服務(wù)器的默認(rèn)路由為192.168.2.254),或者添加命令 any net 192.168.2.0 netmask 255.255.255.0 dev eth0, 前者是依賴(lài)默認(rèn)路由進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā),后者是依賴(lài)網(wǎng)卡接口進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)
service network restart 命令重啟網(wǎng)絡(luò)服務(wù)
用 route -n 命令查看命令是否已經(jīng)生效
方法三:修改 interface 配置文件
范圍:測(cè)試 debian 8.1、Ubuntu 14.04 系統(tǒng)可用
使用方法:
向系統(tǒng)的 /etc/network/interface 文件中添加命令 up route add -net 192.168.2.0/24 gw 192.168.2.254(服務(wù)器的默認(rèn)路由為192.168.2.254),或者添加命令 up route add -net 192.168.3.0/24 dev eth0,前者是依賴(lài)默認(rèn)路由進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā),后者是依賴(lài)網(wǎng)卡接口進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)
reboot 重啟系統(tǒng)命令生效
用 route -n 命令查看命令是否已經(jīng)生效
注 1:(引用網(wǎng)上內(nèi)容)如果在 rc.local中添加路由會(huì)造成NFS無(wú)法自動(dòng)掛載問(wèn)題,所以使用 static-routes 的方法是最好的。無(wú)論重啟系統(tǒng)和 service network restart 都會(huì)生效,按照l(shuí)inux啟動(dòng)的順序,rc.local 里面的內(nèi)容是在linux所有服務(wù)都啟動(dòng)完畢,最后才被執(zhí)行的,也就是說(shuō),這里面的內(nèi)容是在netfs之后才被執(zhí)行的,那也就是說(shuō)在netfs啟動(dòng)的時(shí)候,服務(wù)器上的靜態(tài)路由是沒(méi)有被添加的,所以netfs掛載不能成功。
注 2:以上添加命令可以通過(guò) linux 命令 sed -i ‘2i route add -net 192.168.2.0/24 gw 192.168.2.254’ + 文件路徑 命令向相應(yīng)的文件的第二行添加命令或者用 echo route add -net 192.168.2.0/24 gw 192.168.2.254 文件路徑向文件的末尾添加命令
Ubuntux系統(tǒng)可以修改vim /etc/NetworkManager/system-connections/Wired\ connection\ 3