linux中有两种防火墙软件,Centos7.0以上使用的是firewall,Centos7.0以下使用的是iptables。
Firewall
开启防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
查看防火墙状态:systemctl status firewalld
设置开机启动:systemctl enable firewalld
禁用开机启动:systemctl disable firewalld
重启防火墙:systemctl restart firewalld
重新加载防火墙:firewall-cmd --reload
开放端口(修改后需要重启防火墙方可生效):firewall-cmd --zone=public --add-port=8080/tcp --permanent
查看指定端口是否开放:firewall-cmd --zone=public --query-port=8080/tcp --permanent
查看开放的端口:firewall-cmd --list-ports
关闭端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanent
Iptables
由于Centos7.0以上版本并没有预装iptables,需要自行安装
安装前先关闭firewall防火墙:systemctl stop firewalld
安装iptables:yum install iptables
安装iptables-services:yum install iptables-services
开启防火墙:systemctl start iptables.service
关闭防火墙:systemctl stop iptables.service
查看防火墙状态:systemctl status iptables.service
设置开机启动:systemctl enable iptables.service
禁用开机启动:systemctl disable iptables.service
查看filter表的几条链规则(INPUT链可以看出开放了哪些端口):iptables -L -n
查看NAT表的链规则:iptables -t nat -L -n
清除防火墙所有规则:
- iptables -F
- iptables -X
- iptables -Z
给INPUT链添加规则(开放8080端口):iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
查找规则所在行号:iptables -L INPUT --line-numbers -n
根据行号删除过滤规则(关闭8080端口):iptables -D INPUT 1