[root@localhost java]# cat /proc/sys/net/ipv4/ip_forward 0
出於安全考慮,Linux系統默認是禁止數據包轉發的。
所謂轉發即當主機擁有多於一塊的網卡時,其中一塊收到數據包,根據數據包的目的ip地址將包發往本機另一網卡,該網卡根據路由表繼續發送數據包。
配置Linux系統的ip轉發功能,首先保證硬件連通,然后打開系統的轉發功能
cat /proc/sys/net/ipv4/ip_forward,該文件內容為0,表示禁止數據包轉發,1表示允許。
有兩種方式可以修改:利用命令一次性完成,並支持重啟
- 利用echo 1 修改
源碼:
echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.d/rc.local \ && echo 1 > /proc/sys/net/ipv4/ip_forward \ && chmod +x /etc/rc.d/rc.local \ && ll /etc/rc.d/rc.local \ && cat /proc/sys/net/ipv4/ip_forward
測試:直接生效,支持重啟
[root@localhost java]# echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.d/rc.local \ > && echo 1 > /proc/sys/net/ipv4/ip_forward \ > && chmod +x /etc/rc.d/rc.local \ > && ll /etc/rc.d/rc.local \ > && cat /proc/sys/net/ipv4/ip_forward -rwxr-xr-x. 1 root root 512 Apr 6 11:55 /etc/rc.d/rc.local 1
- 利用sysctl 修改
源碼:
echo "sysctl -w net.ipv4.ip_forward=1" >> /etc/rc.d/rc.local \ && echo "sysctl -p" >> /etc/rc.d/rc.local \ && chmod +x /etc/rc.d/rc.local \ && ll /etc/rc.d/rc.local \ && cat /proc/sys/net/ipv4/ip_forward
測試:重啟生效
[root@localhost ~]# echo "sysctl -w net.ipv4.ip_forward=1" >> /etc/rc.d/rc.local \ > && echo "sysctl -p" >> /etc/rc.d/rc.local \ > && chmod +x /etc/rc.d/rc.local \ > && ll /etc/rc.d/rc.local \ > && cat /proc/sys/net/ipv4/ip_forward -rwxr-xr-x. 1 root root 515 Apr 6 11:39 /etc/rc.d/rc.local 0
重啟測試:
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward 1
bye
