Linux 中 tcp_syncookies 的更好替代方案

3 connection tcp ddos tcp-window-scaling syn

为了防止 DDOS 攻击,我按照建议将我的 linux 机器中的 /proc/sys/net/ipv4/tcp_syncookies 值设置为 1 以启用 TCP syncookies。

但是,当我查看此网址时:http://ckdake.com/content/2007/disadvantages-of-tcp-syn-cookies.html

它告诉我,如果我启用 tcp_syncookies,那么一半的 tcp 功能(包括大窗口管理)将被禁用,这可能会降低性能。

我在其他地方读到,syn cookie 的部分目的是当更多数据包进入时将 tcp syn 积压缓冲区扩展到其上限(通过 /proc/sys/net/ipv4/tcp_max_syn_backlog),这样数据包就不会丢失。

我希望能够禁用 syn cookie,这样我就可以充分利用 tcp 并使我的服务器运行得更快并且继续不受 DDOS 攻击。我可以轻松地增加同步缓冲区和最大连接数,但我认为如果设置得太高,我会耗尽内存。

有没有人有一个好的替代方法可以在重型服务器上同步 cookie 而不会受到 DDOS 攻击?我想享受 TCP 的功能并非常快速地向用户提供内容。

pet*_*rtc 5

Ubuntu 10.04 的默认“sysctl.d/10-network-security.conf”设置如下:

# Turn on SYN-flood protections.  Starting with 2.6.26, there is no loss
# of TCP functionality/features under normal conditions.  When flood
# protections kick in under high unanswered-SYN load, the system
# should remain more stable, with a trade off of some loss of TCP
# functionality/features (e.g. TCP Window scaling).
net.ipv4.tcp_syncookies=1
Run Code Online (Sandbox Code Playgroud)

  • 因为我不确定其他发行版是否默认包含此配置。 (2认同)