在CentOS中限制并发连接数,可以通过多种方法实现,包括使用防火墙规则、调整系统参数或使用第三方工具。以下是一些常见的方法:
安装iptables(如果尚未安装):
sudo yum install iptables
设置并发连接数限制:
你可以使用iptables的connlimit模块来限制并发连接数。例如,限制每个IP地址每秒最多10个连接:
sudo iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 10 -j DROP
保存iptables规则:
sudo service iptables save
重启iptables服务:
sudo service iptables restart
编辑/etc/sysctl.conf文件:
sudo vi /etc/sysctl.conf
添加或修改以下参数:
net.core.somaxconn = 128
net.ipv4.tcp_max_syn_backlog = 128
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30
应用新的系统参数:
sudo sysctl -p
安装fail2ban(如果尚未安装):
sudo yum install fail2ban
配置fail2ban:
编辑/etc/fail2ban/jail.local文件,添加以下内容:
[DEFAULT]
bantime = 600
findtime = 600
maxretry = 3
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 3
启动fail2ban服务:
sudo systemctl start fail2ban
sudo systemctl enable fail2ban
nftables(适用于CentOS 8及以上版本)安装nftables(如果尚未安装):
sudo yum install nftables
设置并发连接数限制:
使用nftables的connlimit模块来限制并发连接数。例如,限制每个IP地址每秒最多10个连接:
sudo nft add rule ip filter input tcp dport 22 connlimit rate over 10/sec drop
保存nftables规则:
sudo nft list ruleset > /etc/nftables.conf
重启nftables服务:
sudo systemctl restart nftables
通过以上方法,你可以在CentOS系统中有效地限制并发连接数,从而提高系统的安全性和稳定性。