IP 转发概述
默认情况下, 最新的 Linux 发行版通常会禁用 IP 转发功能。这种默认设置是合理的, 因为大多数用户并不需要启用 IP 转发功能。但是, 如果我们在设置一台 Linux 路由器/网关、VPN 服务器或简单的拨号服务器时, 就必须启用 IP 转发功能。
IP 转发使得 Linux 操作系统能够像路由器一样转发数据包, 或者更通用地说, 将数据包在不同的网络之间进行路由。在本教程中, 我们将学习如何在 Linux 系统上启用 IP 转发。这个过程相对简单, 同时我们也会了解如何将 IP 转发设置为临时启用或永久启用。
临时启用
临时启用IP转发不需要修改配置文件, 但这种设置会在系统重启后失效。
查看当前状态
要查看当前 IP 转发的状态, 执行以下命令
# IPv4
cat /proc/sys/net/ipv4/ip_forward
# IPv6
cat /proc/sys/net/ipv6/conf/all/forwarding
如果返回 0
, 表示 IP 转发被禁用;如果返回 1
, 表示 IP 转发已启用
临时启用 IP 转发
临时修改, 在重启或者使用 sysctl
时会恢复默认
# 启用 IPv4 转发
sysctl -w net.ipv4.ip_forward = 1
# 启用 IPv6 转发
sysctl -w net.ipv6.conf.all.forwarding = 1
永久启用
要永久启用 IP 转发, 需要修改系统配置文件 /etc/sysctl.conf
-
打开文件
/etc/sysctl.conf
vim /etc/sysctl.conf
-
在文件末尾添加以下内容
net.ipv4.ip_forward = 1 net.ipv6.conf.all.forwarding = 1
-
使配置立即生效
sysctl -p /etc/sysctl.conf
原文