在CentOS6中常用的防火墙是iptables,但是升级到CentOS7以后就开始使用firewall-cmd作为防火墙软件了。
命令介绍
firewall-cmd [选项 ... ]
其常用的参数:
-h, --help # 显示帮助信息; -V, --version # 显示版本信息. (这个选项不能与其他选项组合); -q, --quiet # 不打印状态消息; --state # 显示firewalld的状态; --reload # 不中断服务的重新加载; --complete-reload # 中断所有连接的重新加载; --runtime-to-permanent # 将当前防火墙的规则永久保存; --check-config # 检查配置正确性;
实例
对外暴露指定端口
firewall-cmd --permanent --add-port=8080/tcp
其中--permanent
表示永久生效,如果不加这个参数,操作系统重启后则该规则失效。
指定某个端口只能特定的IP访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.10.1.1/24" port protocol="tcp" port="8080" accept" firewall-cmd --reload
8080
端口只能通过10.10.1.1
网段的IP访问。
将网卡添加到区域内
firewall-cmd --zone=public --add-interface=eth0
查看区域信息
firewall-cmd --get-active-zones
查看防火墙状态
firewall-cmd --state
允许/禁止 FTP服务
firewall-cmd --new-service=ftp firewall-cmd --delete-service=ftp
类似的服务还有ssh
,http
等
查看防火墙
firewall-cmd --list-all
端口转发
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080
将80
端口转发到8080
.
服务启停
systemctl start firewalld # 启动 systemctl stop firewalld # 停止 systemctl enable firewalld # 启用自动启动 systemctl disable firewalld # 禁用自动启动 systemctl status firewalld # 或者 firewall-cmd --state 查看状态
参考资料