包含内容:
CentOS7.9 关闭防火墙和开放指定端口
CentOS7.6在防火墙放开端口
CentOS8查看防火墙状态,开启、关闭系统防火墙
CentOS7配置iptables 防火墙限制同一个IP连接数,防DDOS和CC攻击
CentOS7系统中查看服务器IP连接数
关闭防火墙
systemctl status firewalld 查看防火墙状态
systemctl stop firewalld 实时关闭防火墙
systemctl disable firewalld 永久禁用防火墙,禁止开机自启动
关闭SELinux
vim /etc/selinux/config
SELINUX=permissive #修改为disabled
reboot 重启服务器生效
防止客户启动防火墙后导致SSH连不上,对SSH端口31703放行
systemctl start firewalld
firewall-cmd --zone=public --add-port=31703/tcp --permanent
firewall-cmd --reload
systemctl stop firewalld
systemctl disable firewalld
如需关闭防火墙端口放行,则执行下面命令
firewall-cmd --zone=public --remove-port=31703/tcp --permanent
1、查看防火墙是否开启,如果没有开启防火墙,默认开放所有端口。
注意:如果是生产环境有业务在运行,开启防火墙可能会拦截业务应用端口
开启防火墙 systemctl start firewalld
关闭防火墙 systemctl stop firewalld
重启防火墙 systemctl restart firewalld
查看防火墙状态 systemctl status firewalld
查看防火墙规则 firewall-cmd --list-all
2、放开443端口
firewall-cmd --permanent --zone=public --add-port=443/tcp
(返回 success 代表成功。注:?permanent永久生效,没有此参数重启后失效)
3、重新加载防火墙
firewall-cmd --reload (重新载入防火墙,返回 success 代表成功)
firewall-cmd --zone=public --query-port=443/tcp (查看 返回 yes 代表开启成功)
注意:放开后telnet不到,有可能是端口上没有服务,检查确认。
4、如何查看端口状态
(1)方法一:使用lsof检查当前系统开放的端口
查看所有开放端口,并且只显示计算机正在监听,以及正在运行的服务所占用的端口:
sudo lsof -i -P -n | grep LISTEN
查看某个端口的占用情况:
lsof -i:端口号
(2)方法二:firewall-cmd 查询开放、关闭端口
查询所有开放的端口:firewall-cmd --list-ports
查询443端口是否开放:firewall-cmd --query-port=443/tcp
移除443端口:firewall-cmd --permanent --remove-port=443/tcp
1,查看防火墙状态
systemctl status firewalld.service
2,开启防火墙
systemctl start firewalld.service
3,关闭防火墙
systemctl stop firewalld.service
4,禁用防火墙
systemctl disable firewalld.service
安装iptables
yum install iptables
安装iptables-services
yum install iptables-services
编辑iptables配置表
vi /etc/sysconfig/iptables
配置表内的内容
# Generated by iptables-save v1.4.21 on Sat Apr 17 19:43:29 2021
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Sat Apr 17 19:43:29 2021
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --syn --dport 20021 -m connlimit --connlimit-above 30 --connlimit-mask 0 -j DROP
-A INPUT -p tcp --syn --dport 20013 -m connlimit --connlimit-above 30 --connlimit-mask 0 -j DROP
-A INPUT -m state --state NEW -m tcp -p tcp --dport 0:65535 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p udp --dport 0:65535 -j ACCEPT
重启服务
service network restart
命令参考
-A INPUT -p tcp --syn --dport 22 -m connlimit --connlimit-above 50 --connlimit-mask 0 -j DROP
说明输入的目标端口是22,也就是访问sftp本机22端口的流量,如果连接数大于50,则DROP流量,connlimit-above这个是连接数的统计,
在linux系统中,有时需要统计来自某个地址的链接数,我们就可以用下面的组合命令来查看和统计某个服务器上的所有连接按照ip分类统计结果。
netstat -tun|awk '{print $5}'|cut -d : -f1|sort|uniq -c|sort -n
命令解释:
netstat命令功能是显示网络连接、和网络接口信息,可以得到服务器有哪些网络连接正在运作;-t显示tcp传输协议的连线状况,-u显示udp传输协议的连线状况,-n直接用ip地址显示,而不是通过域名服务器。