說明:以下的操作只要在Linux下都是通用的。
Linux發行版默認情況下是不開啟IP轉發功能的。如果架設一個Linux路由或者VPN服務就需要開啟該服務。
1、通過訪問sysctl的內核ipv4.ip_forward來判斷轉發是否開啟。(說明:現在有些網絡已經普及ipv6的,所以下面的命令可以從ipv4改為ipv6即可)
使用sysctl:
sysctl net.ipv4.ip_forward net.ipv4.ip_forward = 0
或者檢查/proc下的文件:
cat /proc/sys/net/ipv4/ip_forward 0
ipv4轉發沒有開啟 (值為 0)
2、啟動IP轉發
通過sysctl可以開啟ipv4的轉發功能 (無需重啟):
sysctl -w net.ipv4.ip_forward=1
或者
echo 1 > /proc/sys/net/ipv4/ip_forward
這種設置只是暫時的;它的效果會隨着計算機的重啟而失效。
通過在/etc/sysctl.conf設置參數
如果想使IP轉發永久生效,就請修改/etc/sysctl.conf ,在這里可以增加一條net.ipv4.ip_forward = 1
/etc/sysctl.conf: net.ipv4.ip_forward = 1
如果ipv4轉發項已被設為0那么你只需要將它改為1。
3、要想是更改生效,你需要執行以下指令:
sysctl -p /etc/sysctl.conf
在紅帽系列的發行版上可以通過重啟網絡服務使之生效:
service network restart
而在Debian/Ubuntu系列的發行版則用這樣的命令:
#早期版本 /etc/init.d/procps.sh restart #最新版本 /etc/init.d/procps restart
參考:
http://blog.chinaunix.net/uid-14691740-id-3055343.html(以上內網轉自此篇文章)