- 求職 : Linux運(yùn)維
- 論壇徽章:
- 203
|
Linux添加永久靜態(tài)路由
實(shí)際上route命令就是控制路由器的優(yōu)先級,優(yōu)先級如下
直連(兩個機(jī)器通過一根網(wǎng)線直接連接)-》靜態(tài)路由(修改路由表)-》動態(tài)路由
直連我就不敘述了,一根網(wǎng)線只有一條路徑,route命令控制的是靜態(tài)路由修改機(jī)器的路由表
實(shí)現(xiàn)Windows和Linux主機(jī)之間不同網(wǎng)段通信
大家知道不同網(wǎng)段的兩臺機(jī)器是不能通信的,其實(shí)我們可以通過路由規(guī)則的方法讓兩臺機(jī)器通信
如果兩臺機(jī)器都是真實(shí)機(jī),我們只需要使用直連線,中間不經(jīng)過任何交換機(jī)路由器就可以通信
如果兩臺真實(shí)機(jī)都連著交換機(jī),那么就需要多買一個網(wǎng)卡(兩臺機(jī)器雙網(wǎng)卡),一個網(wǎng)卡連交換機(jī),一個網(wǎng)卡直接連接
示意圖
圖中兩個機(jī)器都只有一個網(wǎng)卡,通過網(wǎng)線直接相連
然后在Windows和Linux各自添加一條路由規(guī)則
Windows 192.168.1.100
route add -p 192.168.0.0 mask 255.255.255.0 192.168.0.106 IF 12 //Windows添加
在cmd下執(zhí)行上面命令
IF:網(wǎng)卡接口編號,可以通過route print查看
-p :表示添加永久路由
Linux 192.168.0.106
route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0 //Linux添加
dev:為網(wǎng)卡設(shè)備,這里是 eth0
添加完畢之后,Windows和Linux都可以互相ping通
上面的命令,Windows添加的是永久路由,而Linux只是暫時路由,重啟機(jī)器或重啟網(wǎng)絡(luò)服務(wù),路由規(guī)則就會消失
這時候需要在Linux添加永久路由
在/etc/sysconfig/ 路徑下新建一個static-routes 文件
添加一行
any net 192.168.1.0/24 dev eth0
# cat /etc/sysconfig/static-routes
any net 192.168.1.0/24 dev eth0
然后重啟網(wǎng)絡(luò)服務(wù):service network restart
這時候,無論在Linux里重啟機(jī)器或重啟網(wǎng)絡(luò)服務(wù),路由規(guī)則都不會消失虛擬機(jī)跟真實(shí)機(jī)的做法都是一樣的,并沒有差異
這樣,即使虛擬機(jī)跟真實(shí)機(jī)的網(wǎng)段不一樣,我們照樣可以ssh我們的Linux虛擬機(jī)
原理
附:在linux下設(shè)置永久路由的方法:
1.在/etc/rc.local里添加 方法,這種方法重啟網(wǎng)絡(luò)服務(wù)之后就會失效
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.2.254
2.在/etc/sysconfig/network里添加到末尾 ,這種方法只能添加默認(rèn)網(wǎng)關(guān)
方法:
GATEWAY=gw-ip或者 GATEWAY=gw-dev
3./etc/sysconfig/static-routes : (沒有static-routes的話就手動建立一個這樣的文件)
any net 192.168.3.0/24 gw 192.168.3.254
any net 10.250.228.128 netmask 255.255.255.192 gw 10.250.228.129
4.開啟 IP 轉(zhuǎn)發(fā):
# echo "1" >/proc/sys/net/ipv4/ip_forward (臨時)
# vi /etc/sysctl.conf --> net.ipv4.ip_forward=1 (永久開啟)
如果在rc.local中添加路由會造成NFS無法自動掛載問題,所以使用static-routes的方法是最好的。無論重啟系統(tǒng)和service network restart 都會生效
按照linux啟動的順序,rc.local里面的內(nèi)容是在linux所有服務(wù)都啟動完畢,最后才被執(zhí)行的,也就是說,這里面的內(nèi)容是在netfs(NFS)之后才被執(zhí)行的,
那也就是說在netfs(NFS)啟動的時候,服務(wù)器上的靜態(tài)路由是沒有被添加的,所以netfs(NFS)掛載不能成功。
static-routes文件又是什么呢,這個是network腳本執(zhí)行時調(diào)用的一個文件,這個文件的放置在/etc/sysconfig目錄下,在network腳本中的位置是
復(fù)制代碼
/etc/init.d/network:
159 # Add non interface-specific static-routes.
160 if [ -f /etc/sysconfig/static-routes ]; then
161 grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
162 /sbin/route add -$args
163 done
164 fi
復(fù)制代碼 |
|