注意:
openSUSE & SLES 搭配容器环境或者虚拟机环境可能只能使用永久路由转发才会实现路由转发
正文:
内容一:临时路由转发的设置
1.1 临时开启路由转发
# echo 1 > /proc/sys/net/ipv4/ip_forward
# echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
或者:
# sysctl -w net.ipv4.ip_forward=1
# sysctl -w net.ipv6.conf.all.forwarding=1
# sysctl -w net.ipv4.route.flush=1
# sysctl -w net.ipv6.route.flush=1
(注意:此方法对 openSUSE & SLES 无效)
1.2 临时停止路由转发
# echo 0 > /proc/sys/net/ipv4/ip_forward
# echo 0 > /proc/sys/net/ipv6/conf/all/forwarding
或者:
# sysctl -w net.ipv4.ip_forward=0
# sysctl -w net.ipv6.conf.all.forwarding=0
# sysctl -w net.ipv4.route.flush=1
# sysctl -w net.ipv6.route.flush=1
(注意:此方法对 openSUSE & SLES 无效)
内容二:永久路由转发的设置
2.1 方法一:修改 /etc/sysctl.conf 配置文件或者 /etc/sysctl.d/*.conf 配置文件
2.1.1 永久开启路由转发
2.1.1.1 修改 /etc/sysctl.conf 配置文件或者 /etc/sysctl.d/*.conf 配置文件
# vim /etc/sysctl.conf
或者:
# vim /etc/sysctl.d/*.conf
添加以下内容:
......
net.ipv4.ip_forward = 1
net.ipv4.conf.all.forwarding = 1
net.ipv6.conf.all.forwarding = 1
2.1.1.2 让路由转发的永久设置立刻生效
# sysctl -p /etc/sysctl.conf
或者:
# reboot
(注意:openSUSE & SLES 只会在 reboot 重启后生效)
2.1.2 永久关闭路由转发
2.1.2.1 修改 /etc/sysctl.conf 配置文件或者 /etc/sysctl.d/*.conf 配置文件
# vim /etc/sysctl.conf
或者:
# vim /etc/sysctl.d/*.conf
添加以下内容:
......
net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 0
2.1.2.2 让路由转发的永久设置立刻生效
# sysctl -p /etc/sysctl.conf
或者:
# reboot
(注意:openSUSE & SLES 只会在 reboot 重启后生效)
2.2 方法二:yast
2.2.1 永久开启路由转发
# yast
System –> Network Settings –> Routing –> 开启 Enable IPv4 Forwarding –> 开启 Enable Ipv6 Forwarding –> OK
(注意:此方法只对 openSUSE & SLES 有效)
2.2.2 永久关闭路由转发
# yast
System –> Network Settings –> Routing –> 关闭 Enable IPv4 Forwarding –> 关闭 Enable Ipv6 Forwarding –> OK
(注意:此方法只对 openSUSE & SLES 有效)
内容三:显示当前路由转发的状态
# cat /proc/sys/net/ipv4/ip_forward
(
补充:
1) 如果返回的结果是 1 则代表已经生效
2) 如果返回的结果是 0 则代表没有生效
)
# cat /proc/sys/net/ipv6/conf/all/forwarding
(
补充:
1) 如果返回的结果是 1 则代表已经生效
2) 如果返回的结果是 0 则代表没有生效
)
(注意:此方法对 openSUSE & SLES 无效)
或者:
# sysctl net.ipv4.ip_forward
(
补充:
1) 如果返回的结果是 net.ipv4.ip_forward = 1 则代表已经生效
2) 如果返回的结果是 net.ipv4.ip_forward = 0 则代表没有生效
)
# sysctl net.ipv6.conf.all.forwarding
(
补充:
1) 如果返回的结果是 net.ipv6.conf.all.forwarding = 1 则代表已经生效
2) 如果返回的结果是 net.ipv6.conf.all.forwarding = 0 则代表没有生效
)