重启后仍启用 tcp_syncookies

重启后仍启用 tcp_syncookies

我正在运行 Scientific Linux 6.1,想设置net.ipv4.tcp_syncookies=1。我已经设置了/etc/sysctl.conf,如果我执行 ,sysctl -psysctl -q net.ipv4.tcp_syncookies显示设置正确。遗憾的是,如果我重新启动机器,sysctl -q它会再次回到 0。

我尝试四处查找并查看在启动过程中是否有其他东西将其重置为 0,但没有找到任何东西。

我已经在 Google 上搜索过了,所有信息都指向sysctl.conf

我唯一能想到的可能是在读取该文件时网络还没有启动,但老实说,我是一名开发人员,在这方面远远超出了我的自然技能 :) 我很想直接设置它,/etc/init.d/network但那感觉有点黑客,所以我改变了主意,我在这里寻找“正确”的方法。有什么指示吗?

答案1

您可以将此代码放入 /etc/rc.local 文件中:

check_syn_cookie=`grep -r net.ipv4.tcp_syncookies /etc/sysctl.conf | grep -v ^#`
[ "$check_syn_cookie" = "" ] && echo "net.ipv4.tcp_syncookies = 1" >> /etc/sysctl.conf
sysctl -p

但请确保它在任何退出语句之前运行。它应该在启动时强制您的 net.ipv4.tcp_syncookies 为 1。

相关内容