linux作为万金油服务的存在,使用linux实现路由器的方案是没有问题的。
今天说下路由转发的相关设置,大部分博客对linux转发理解不够细致。仅开启了路由转发功能,设置对应的内核参数,其实这远远不够。如果使用的路由方案够复杂,将linux-server当做路由器来使用需要设置更多的内核参数。以下提供万金油用法,关注最后的重点。
根据截图看我的配置并根据需求修改你的要求:
需要修改/etc/sysctl.conf:
net.ipv4.conf.br0.rp_filter = 0
net.ipv4.conf.enp0s3.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
执行sysctl -p马上生效
路由转发功能:
需要修改/etc/sysctl.conf:
net.ipv4.ip_forward = 1
执行sysctl -p马上生效
地址校验功能关闭:
需要修改/etc/sysctl.conf:
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
这还不够:
你需要查看你设置的网卡是否开启源地址校验的功能,下面的截图显示网卡br0以及虚拟机enp也没有关闭地址校验,你需要更改下并写入文件固话才可以实现路由器的功能。
由原地址校验的截图:
取消原地址校验