linux路由過程分析與net.ipv4.ip_forward參數(shù)
1、linux路由分析
[root@compute1 ~]# ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 172.16.88.0 dev eno33554976 proto kernel scope link src 172.16.88.130
local 172.16.88.130 dev eno33554976 proto kernel scope host src 172.16.88.130
broadcast 172.16.88.255 dev eno33554976 proto kernel scope link src 172.16.88.130
broadcast 172.16.96.0 dev eno16777736 proto kernel scope link src 172.16.96.131
local 172.16.96.131 dev eno16777736 proto kernel scope host src 172.16.96.131
broadcast 172.16.96.255 dev eno16777736 proto kernel scope link src 172.16.96.131
[root@compute1 ~]# ip route show
default via 172.16.88.2 dev eno33554976
169.254.0.0/16 dev eno16777736 scope link metric 1002
169.254.0.0/16 dev eno33554976 scope link metric 1003
172.16.88.0/24 dev eno33554976 proto kernel scope link src 172.16.88.130
172.16.96.0/24 dev eno16777736 proto kernel scope link src 172.16.96.131
2、net.ipv4.ip_forward參數(shù)功能
出于安全考慮,Linux系統(tǒng)默認(rèn)是禁止數(shù)據(jù)包轉(zhuǎn)發(fā)的。所謂轉(zhuǎn)發(fā)即當(dāng)主機擁有多于一塊的網(wǎng)卡時,其中一塊收到數(shù)據(jù)包,根據(jù)數(shù)據(jù)包的目的ip地址將數(shù)據(jù)包發(fā)往本機另一塊網(wǎng)卡,該網(wǎng)卡根據(jù)路由表繼續(xù)發(fā)送數(shù)據(jù)包。這通常是路由器所要實現(xiàn)的功能。
要讓Linux系統(tǒng)具有路由轉(zhuǎn)發(fā)功能,需要配置一個Linux的內(nèi)核參數(shù)net.ipv4.ip_forward。這個參數(shù)指定了Linux系統(tǒng)當(dāng)前對路由轉(zhuǎn)發(fā)功能的支持情況;其值為0時表示禁止進行IP轉(zhuǎn)發(fā);如果是1,則說明IP轉(zhuǎn)發(fā)功能已經(jīng)打開。
3、net.ipv4.ip_forward的多種配置方式:
3-1、臨時生效的配置方式:在系統(tǒng)重啟,或?qū)ο到y(tǒng)的網(wǎng)絡(luò)服務(wù)進行重啟后都會失效。這種方式可用于臨時測試、或做實驗時使用。
- 1、使用 sysctl 指令配置
sysctl 命令的 -w 參數(shù)可以實時修改Linux的內(nèi)核參數(shù),并生效。所以使用如下命令可以開啟Linux的路由轉(zhuǎn)發(fā)功能。
sysctl -w net.ipv4.ip_forward=1
- 2、修改內(nèi)核參數(shù)的映射文件:/proc/sys/net/ipv4/ip_forward
內(nèi)核參數(shù)在Linux文件系統(tǒng)中的映射出的文件:/proc/sys/net/ipv4/ip_forward中記錄了Linux系統(tǒng)當(dāng)前對路由轉(zhuǎn)發(fā)功能的支持情況。文件中的值為0,說明禁止進行IP轉(zhuǎn)發(fā);如果是1,則說明IP轉(zhuǎn)發(fā)功能已經(jīng)打開。
3-2、永久生效的配置方式:在系統(tǒng)重啟、或?qū)ο到y(tǒng)的網(wǎng)絡(luò)服務(wù)進行重啟后還會一直保持生效狀態(tài)。這種方式可用于生產(chǎn)環(huán)境的部署搭建。
- 1、修改/etc/sysctl.conf 配置文件
在sysctl.conf配置文件中有一項名為net.ipv4.ip_forward的配置項,用于配置Linux內(nèi)核中的net.ipv4.ip_forward參數(shù)。其值為0,說明禁止進行IP轉(zhuǎn)發(fā);如果是1,則說明IP轉(zhuǎn)發(fā)功能已經(jīng)打開。
需要注意的是,修改sysctl.conf文件后需要執(zhí)行指令sysctl -p后新的配置才會生效。
- 2、修改/etc/sysconfig/network配置文件
在文件最后添加一行:FORWARD_IPV4=YES文章來源:http://www.zghlxwxcb.cn/news/detail-420986.html
需要注意的是,修改/etc/sysconfig/network配置文件后需要重啟網(wǎng)絡(luò)服務(wù)(service netwrok restart)才能使新的配置生效。文章來源地址http://www.zghlxwxcb.cn/news/detail-420986.html
到了這里,關(guān)于【博客607】linux路由過程分析與net.ipv4.ip_forward參數(shù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!