Centos7防火墙关闭和启用iptables操作

 

 Centos7 防火墙 firewalld 的配置文件/开关/IP/端口 - CCCiTU 玩机大学

 

2. firewalld 相关命令

①一般在终端通过命令行控制防火墙,但使用了宝塔面板的用户,②可以在软件商店 > 系统工具 > 系统防火墙,进行可视化添加/删除/开关管理。

添加和删除规则,③还可以直接去配置文件操作,保存后要重启一次:firewall-cmd --reload,以上这些是比较常见的3种操作方式。

2.1开关防火墙服务

  1. #启动服务
  2. systemctl start firewalld
  3. #停止服务
  4. systemctl stop firewalld
  5. #开机自启
  6. systemctl enable firewalld
  7. #关闭自启
  8. systemctl disable firewalld
  9. #重启服务
  10. systemctl restart firewalld
  11. #查看状态
  12. systemctl status firewalld firewall-cmd --state

2.2 查看已开放规则

  1. #查看firewalld所有开放的规则
  2. firewall-cmd --list-all
  3. #查看已经开放的服务(端口合集)
  4. firewall-cmd --list-services
  5. #查看已经开放的端口
  6. firewall-cmd --list-port

2.3 增加或删除规则

⭕注意,规则的增删有两点需要额外注意⚠️⚠️:

  1. --permanent #加到命令后面,表示永久有效;
  2. firewall-cmd --reload #执行此命令重启防火墙后,永久规则才能生效

⭕端口

  1. #开放单个端口
  2. firewall-cmd --zone=public --add-port=22/tcp --permanent
  3. #限制单个端口
  4. firewall-cmd --zone=public --remove-port=22/tcp --permanent
  5. #开放一组端口
  6. firewall-cmd --zone=public --add-port=100-500/tcp --permanent
  7. #限制一组端口
  8. firewall-cmd --zone=public --remove-port=100-500/tcp --permanent

⭕IP

  1. #限制IP地址访问端口,reject 表示拒绝,设置为 drop 表示直接丢弃
  2. firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
  3. #解除限制(允许)
  4. firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"
  5.  
  6. #限制IP段访问端口
  7. firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"
  8. #解除限制(允许)
  9. firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" accept"
  10.  
  11. #允许某个IP的所有连接
  12. firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="<ip>" accept"
  13. #允许某个IP访问ssh服务
  14. firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" service name="ssh" accept"
  15. #允许某个IP访问icmp协议
  16. firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" protocol value="icmp" accept"

⭕服务

  1. firewall-cmd --get-services #查看所有预设的服务
  2. firewall-cmd --list-services #查看已放行的服务
  3. firewall-cmd --info-service=ssh #查看某个服务包含的端口,如ssh
  4. firewall-cmd --permanent --add-service=<service name> #放行服务
  5. firewall-cmd --permanent --add-service=ssh #如放行 ssh
  6. firewall-cmd --permanent --remove-service=<service name> #移除服务

⭕协议

  1. firewall-cmd --permanent --add-protocol=<protocol> # 允许协议
  2. firewall-cmd --permanent --add-protocol=icmp # 例:icmp,即允许ping
  3. firewall-cmd --permanent --remove-protocol=<protocol> # 取消协议
  4. firewall-cmd --list-protocols # 查看允许的协议

注意事项

防火墙从上往下匹配规则,一旦匹配成功就会暂停向下匹配,因此要注意规则的顺序避免失效。遇到规则不生效时,建议执行firewall-cmd --list-all查看所有开发的服务/IP和端口,以及注意查看它们的顺序。

宝塔用户如安装并启用了系统防火墙插件,端口的放行就要在系统防火墙插件里操作,不要再去面板后台的安全选项里放行,避免出现规则的冲突。

posted @ 2023-08-27 17:54  ucdos2023  阅读(605)  评论(0编辑  收藏  举报