iptables
iptables -F # 清除已有 iptables 规则
iptables -L -n -v # 查看所有已添加的 iptables 规则
iptables -L -n | grep 21 # 查看指定端口的 iptables 规则
CentOS7 防火墙 - firewall
在CentOS7中默认使用 firewall 代替了 iptables service 。虽然继续保留了 iptables 命令,但已经仅是名称相同而已。除非手动删除 firewall ,再安装 iptables ,否则不能继续使用以前的 iptables 配置方法。
在 /usr/lib/firewalld/services
目录中存放的是定义好的网络服务和端口参数,只用于参考,不能修改。这里只定义了一部分通用网络服务。在该目录中没有定义的网络服务,也不必再增加相关 xml 定义,后续通过管理命令可以直接增加。
如果要使用到的服务的xml文件,从上面的目录中拷贝到/etc/firewalld/services/目录下,如果端口有变化则可以修改文件中的数值,也可以根据相关定义自己写。
启停防火墙
systemctl start firewalld # 开启防火墙
systemctl stop firewalld # 关闭防火墙
systemctl restart firewalld # 重启防火墙
firewall-cmd --reload # 重载配置文件
重载配置文件之后不会断掉正在连接的 tcp 会话,而重启服务则会断开 tcp 会话。
开放、关闭指定服务
firewall-cmd --add-service=ftp # 暂时开放 ftp 服务
firewall-cmd --add-service=ftp --permanent # 永久开放 ftp 服务
firewall-cmd --remove-service=ftp # 暂时关闭 ftp 服务
firewall-cmd --remove-service=ftp --permanent # 永久关闭 ftp 服务
firewall-cmd --add-port=8001/tcp # 添加自定义的开放端口
firewall-cmd --list-all # 显示防火墙应用列表
查看服务的启动状态
firewall-cmd --state # 检测防火墙状态
firewall-cmd --query-service ftp
firewall-cmd --query-service ssh
firewall-cmd --query-service http
SELinux
setenforce 0 # 关闭 SELinux 服务