当我向 ufw 添加规则然后启用它时,我的某些设置将sysctl.conf
变为无效,因此我必须sysctl -p
在完成后再执行ufw enable
。
例如,我的一个设置sysctl.conf
是不回复 ping,启用 ufw 后,您可以再次 ping 服务器。
为什么是这样?
以下是我的一些设置sysctl.conf
:
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0
net.ipv4.icmp_echo_ignore_all = 1
kernel.panic = 10
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
net.ipv4.ip_local_port_range = 1204 65000
net.core.rmem_max = 262140
net.core.rmem_default = 262140
net.ipv4.tcp_rmem = 4096 131072 262140
net.ipv4.tcp_wmem = 4096 131072 262140
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_keepalive_time = 60000
net.ipv4.tcp_keepalive_intvl = 15000
net.ipv4.tcp_fin_timeout = 30
编辑
谢谢 Aaron!我已经太依赖 Google 了,以至于我都没想过检查 ufw 的配置文件 - 而现在,就在那里,太简单了!
对于任何想要回答这个问题的人来说,你可以在该文件中设置你的配置,或者更好的是,编辑/etc/default/ufw
文件,以便它使用系统默认sysctl.conf
文件/etc/sysctl.conf
答案1
简单的防火墙
UFW 有自己的 sysctl 设置,可以覆盖系统全局设置。
请看一下:
/etc/ufw/sysctl.conf
如果该文件不存在,则在该目录中查找任何调用 sysctl 的文件。