如何使 IP 转发永久化?

如何使 IP 转发永久化?

我知道我可以通过回显1来启用 IP 转发/proc/sys/net/ipv4/ip_forward,但是如何才能使其永久生效?

顺便说一句,我想要另一种方法而不是启动脚本,有吗?

答案1

编辑 /etc/sysctl.conf 并搜索以下行:

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

取消注释net.ipv4.ip_forward=1

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

或者在一行命令中:

sudo sysctl -w net.ipv4.ip_forward=1

答案2

永久设置使用/etc/sysctl.conf

如果我们想使这个配置永久生效,最好的方法是使用文件/etc/sysctl.conf,我们可以在文件中添加一行net.ipv4.ip_forward = 1

/etc/sysctl.conf:
net.ipv4.ip_forward = 1

如果您已经有一个net.ipv4.ip_forward值为 0 的条目,则可以将其更改为 1。

要启用所做的更改,sysctl.conf您需要运行以下命令:

sudo sysctl -p /etc/sysctl.conf

在基于 RedHat 的系统上,重新启动网络服务时也会启用此功能:

service network restart

在 Debian/Ubuntu 系统上,也可以通过重新启动 procps 服务来完成此操作:

sudo /etc/init.d/procps restart

来源:如何在 Linux 中启用 IP 转发

答案3

如果你需要在脚本中启用它,你可以使用下面的命令来启用

sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/' /etc/sysctl.conf
sysctl -p

或禁用:

sed -i 's/net.ipv4.ip_forward=1/net.ipv4.ip_forward=0/' /etc/sysctl.conf
sysctl -p

相关内容