Centos7中firewalld防火墙的设置

systemctl status firewalld:查看防火墙状态

防火墙区域:

firewalld防火墙为了简化管理,将所有网络流量分为多个区域(zone)。然后要所数据包的源IP地址或传入的网络接口条件等将流量传入相应区域。每个区域都定义了自己打开或关闭的端口服务列表。其中默认区域为public区域,trusted区域默认允许所有流量通过,是一个特殊的区域。用户可以根据具体环境选择使用区域。管理员也可以对这些区域进行自定义,使其具有不同的设置规则。

查看默认使用的区域:firewall-cmd --get-default-zone

安装Apache服务:yum install httpd
验证:本地:localhost
外部:无法显示,没开80端口。打开http服务,可以访问。
查看public区域开放的服务:firewall-cmd --list-all --zone=public
firewall-cmd --set-default-zone=trusted:设置默认区域为trusted,允许所有的通过

防火墙的两种状态:

  • runtime(正在运行生效的状态):添加的规则立即生效,重启服务,或计算机就失
    效。
  • permanent(永久生效的状态) :设置后不会立即启动,需要重启防火墙才立即生效。

区域管理:

firewalld-cmd --help | wc -l:查看帮助信息,wc -l 统计行数。
firewalld-cmd --get-default-zone :查看默认区域
firewalld-cmd --get-active-zones :列出当前正在使用的区域及其所对应的网卡接口。
firewalld-cmd --get-zones :列出所有可用的区域
firewalld-cmd --set-default-zone=block :设置默认区域

服务管理:

1.查看预定义服务 :firewall-cmd --get-services
2.添加http服务到public区域 :firewall-cmd --add-service=http --zone=public --
permanent
重启防火墙服务才生效(permanent状态): systemctl restart firewalld
3.查看public区域已配置的规则:firewall-cmd --list-all --zone=public
4.移除public区域的http服务,不使用--zone指定区域时使用默认区域:
firewall-cmd --remove-service=http --permanent --zone=public
systemctl restart firewalld
5.将多个服务添加到某一个区域,不添加--permanent选项表示是即时生效的临时设置:firewall-
cmd --add-service=http --add-service=https
systemctl restart firewalld
6.添加端口:firewall-cmd --add-port=80/tcp --zone=public
端口号后面一定要跟协议。

端口管理:

1.允许tcp的3306端口到public区域:firewall-cmd --add-port=3306/tcp --zone=public
2.从public区域将tcp的3306端口移除:firewall-cmd --remove-port=3306/tcp --
zone=public
3.允许某一范围的端口,如允许udp的2048-2050端口到public区域:
firewall-cmd --add-port=2048-2050/udp --zone=public
4.使用--list-ports 查看加入的端口操作是否成功:
firewall-cmd --list-ports --zone=public

伪装ip:

firewall-cmd --query-masquerade # 检查是否允许伪装IP
firewall-cmd --permanent --add-masquerade # 允许防火墙伪装IP
firewall-cmd --permanent --remove-masquerade# 禁止防火墙伪装IP

端口转发:

当我们想把某个端口隐藏起来的时候,就可以在防火墙上阻止那个端口访问,然后再开一个不规则的端
口,之后配置防火墙的端口转发,将流量转发过去。
例:
1. firewall-cmd --permanent --add-masquerade :开启地址伪装。
2. firewall-cmd --add-forward-port=port=8080:proto=tcp:toport80 :添加转发
8080--》80
3. firewall-cmd --add-port=8080/tcp
4. firewall-cmd --remove-service=http 删除80端口的协议。

多区域的应用:

1.可以根据不同的接口配置不同的区域
2.可以对同一个接口,对不同网段的ip/流量,配置不同的访问
例:
1. 一个接口只能对应一个区域,将接口与指定区域关联:
firewall-cmd --change-interface=ens75 --zone=drop
2. 根据不同的访问来源网段,设定至不同的区域规则:
firewall-cmd --add-source=192.168.75.0/24 --zone=public
firewall-cmd --add-source=192.168.85.0/24 --zone=drop
firewall-cmd --get-active-zones :查看(活动区域)默认接口和区域。
3. 建议配置方案:
将所有接口划分到不同区域
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章