我想在 CentOS 7 计算机上禁用反向路径过滤。我有一个文件包含/etc/sysctl.d/
以下内容,试图为我的所有网络接口禁用它:
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.enp1s0f0.rp_filter = 0
net.ipv4.conf.enp1s0f1.rp_filter = 0
net.ipv4.conf.enp1s0f2.rp_filter = 0
net.ipv4.conf.enp1s0f3.rp_filter = 0
net.ipv4.conf.ens1f0.rp_filter = 0
net.ipv4.conf.ens1f1.rp_filter = 0
net.ipv4.conf.lo.rp_filter = 0
但是,启动后,all
和default
条目仍设置为 1。我必须在启动系统后手动设置它们,以使它们按需要变为 0。同样,如果我通过 停止并重新启动网络systemctl restart network.service
,它们会再次重置为 1。
有什么方法可以让这个设置按照我想要的方式保持下去吗?
答案1
事实证明,我被另一个目录所困扰,/usr/lib/sysctl.d/
在启动时应用 sysctl 选项时,也会考虑其内容(按字典顺序)。有一个现有文件,50-default.conf
按字典顺序排列在我的文件之后,它正在设置:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
我将我的文件重命名为比这个更晚的版本,并且可以正常工作。