CentOS 7防火墙配置

服务操作

启动服务

1
systemctl start firewalld
  • start:启动防火墙
  • stop:关闭防火墙
  • enable:开启开机自启动防火墙服务
  • disable:关闭开机自启动防火墙服务
  • reload:重启防火墙

查看服务状态

1
systemctl status firewalld

命令操作

查看服务状态

1
firewall-cmd --state

常见参数及说明:

参数 说明
--reload 重启防火墙服务
--list-ports 查看开放端口
--list-services 查看开放服务

查询端口开放状态

1
firewall-cmd --query-port=80/tcp

添加开放端口

1
firewall-cmd --zone=public --add-port=80/tcp --permanent
  • --zone=public:作用域
  • --add-port=80/tcp:开放80端口,格式:端口号/通讯协议
  • --permanent:永久生效,不添加此参数则重启后失效

注:添加端口后,必须使用firewall-cmd --reload重新加载后才生效。

移除开放端口

1
firewall-cmd --zone=public --remove-port=80/tcp --permanent

禁止指定IP访问

1
firewall-cmd --zone=public --add-rich-rule="rule family='ipv4' source address='10.0.0.1/24' port port=80 protocol='tcp' drop" --permanent
  • port port=80:不设置port则禁止源IP访问所有端口。

解除禁止指定IP访问

1
firewall-cmd --zone=public --remove-rich-rule="rule family='ipv4' source address='10.0.0.1/24' port port=80 protocol='tcp' drop" --permanent
  • drop:直接丢弃请求,不返回任何数据,直到客户端连接尝试超时。WEB服务推荐,既节省资源,又可以延缓被攻击进度。
  • reject:直接断开,并返回ICMP错误信息包。推荐内网使用,方便诊断、调试网络设备或防火墙造成的问题。

查看链表规则

1
iptables -t filter -vL INPUT