CentOS 升级到 7 之后,发现无法使用 iptables 控制 Linuxs 的端口,google 之后发现 Centos 7 使用 firewalld 代替了原来的 iptables。下面记录如何使用 firewalld:
1. firewalld 的基本使用
#启动: systemctl start firewalld #关闭: systemctl stop firewalld #查看状态: systemctl status firewalld #开机禁用: systemctl disable firewalld #开机启用: systemctl enable firewalld
2. systemctl 是 CentOS7 的服务管理工具中主要的工具,它融合之前 service 和 chkconfig 的功能于一体
#启动一个服务: systemctl start firewalld.service #关闭一个服务: systemctl stop firewalld.service #重启一个服务: systemctl restart firewalld.service #显示一个服务的状态: systemctl status firewalld.service #在开机时启用一个服务: systemctl enable firewalld.service #在开机时禁用一个服务: systemctl disable firewalld.service #查看服务是否开机启动: systemctl is-enabled firewalld.service #查看已启动的服务列表: systemctl list-unit-files|grep enabled #查看启动失败的服务列表: systemctl --failed
3. 配置 firewalld-cmd
# 查看版本: firewall-cmd --version # 查看帮助: firewall-cmd --help # 显示状态: firewall-cmd --state # 查看所有打开的端口: firewall-cmd --zone=public --list-ports # 更新防火墙规则: firewall-cmd --reload # 查看区域信息: firewall-cmd --get-active-zones # 查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0 # 拒绝所有包: firewall-cmd --panic-on # 取消拒绝状态: firewall-cmd --panic-off # 查看是否拒绝: firewall-cmd --query-panic # 重新载入 firewall-cmd --reload
4. 开启一个端口
[root@zhouhuoc ~] firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义: --zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
5. 重新载入防火墙
[root@zhouhuoc ~] firewall-cmd --reload
6. 查看端口是否开放
[root@zhouhuoc ~] firewall-cmd --zone= public --query-port=80/tcp
7. 将端口从开放列表移除
[root@zhouhuoc ~] firewall-cmd --zone= public --remove-port=80/tcp --permanent
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于