Cet article présente principalement l'explication détaillée de la façon dont le système Linux est moins vulnérable aux attaques par inondation TCP. L'éditeur pense que c'est plutôt bon, je vais donc le partager avec vous maintenant et le donner en guise de référence. référence. Suivons l'éditeur et jetons un coup d'œil
#最关键参数,默认为5,修改为0 表示不要重发 net.ipv4.tcp_synack_retries = 0 #半连接队列长度 net.ipv4.tcp_max_syn_backlog = 200000 #系统允许的文件句柄的最大数目,因为连接需要占用文件句柄 fs.file-max = 819200 #用来应对突发的大并发connect 请求 net.core.somaxconn = 65536 #最大的TCP 数据接收缓冲(字节) net.core.rmem_max = 1024123000 #最大的TCP 数据发送缓冲(字节) net.core.wmem_max = 16777216 #网络设备接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目 net.core.netdev_max_backlog = 165536 #本机主动连接其他机器时的端口分配范围 net.ipv4.ip_local_port_range = 10000 65535 # ……省略其它……
Notez que les paramètres suivants ne doivent pas être ouverts face au réseau externe. Parce que les effets secondaires sont évidents, veuillez rechercher les raisons spécifiques sur Google. S'il est déjà activé, veuillez le modifier explicitement à 0, puis exécutez sysctl -p pour le fermer. Car après test, un grand nombre de connexions TIME_WAIT en statut n'ont pas beaucoup d'impact sur le système :
#当出现 半连接 队列溢出时向对方发送syncookies,调大 半连接 队列后没必要 net.ipv4.tcp_syncookies = 0 #TIME_WAIT状态的连接重用功能 net.ipv4.tcp_tw_reuse = 0 #时间戳选项,与前面net.ipv4.tcp_tw_reuse参数配合 net.ipv4.tcp_timestamps = 0 #TIME_WAIT状态的连接回收功能 net.ipv4.tcp_tw_recycle = 0 #当出现 半连接 队列溢出时向对方发送syncookies,调大 半连接 队列后没必要 net.ipv4.tcp_syncookies = 0 #TIME_WAIT状态的连接重用功能 net.ipv4.tcp_tw_reuse = 0 #时间戳选项,与前面net.ipv4.tcp_tw_reuse参数配合 net.ipv4.tcp_timestamps = 0 #TIME_WAIT状态的连接回收功能 net.ipv4.tcp_tw_recycle = 0
Afin de gérer un grand nombre de connexions, un autre paramètre doit être modifié :
# vi /etc/security/limits.conf
Ajoutez une ligne ci-dessous pour permettre à chaque utilisateur d'ouvrir un maximum de 409 600 descripteurs de fichiers (connexions comprises) :
* – nofile 409600
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!