前言
出于系統安全考慮,在默認情況下,Linux系統是禁止數據包轉發的。數據包轉發指的是當主機擁有多個網卡時,通過一個網卡接收到的數據包,根據目的IP地址來轉發數據包到其他網卡。這個功能通常用于路由器。
如果在Linux系統中需要開啟路由轉發功能,必須要配置一個內核參數net.ipv4.ip_forward。該參數指定了Linux系統當前對路由轉發功能的支持情況,值為0表示禁止,值為1表示開啟。
臨時生效方式
1、使用 sysctl 指令配置
sysctl 命令的 -w 參數可以實時修改Linux的內核參數,并生效。所以使用如下命令可以開發Linux的路由轉發功能。
sysctl -w net.ipv4.ip_forward=1
2、修改內核參數的映射文件:/proc/sys/net/ipv4/ip_forward
內核參數在Linux文件系統中的映射出的文件:/proc/sys/net/ipv4/ip_forward中記錄了Linux系統當前對路由轉發功能的支持情況。文件中的值為0,說明禁止進行IP轉發;如果是1,則說明IP轉發功能已經打開。可使用vi編輯器修改文件的內容,也可以使用如下指令修改文件內容:
echo 1 > /proc/sys/net/ipv4/ip_forward