Firewalld的原则:

如果一个客户端访问服务器,服务器根据以下原则决定使用哪个 zone 的策略去匹配

1.如果一个客户端数据包的源 IP 地址匹配 zone  sources,那么该 zone 的规则就适

用这个客户端;一个源只能属于一个zone,不能同时属于多个zone

2.如果一个客户端数据包进入服务器的某一个接口(如eth0)区配zoneinterfaces

则么该 zone 的规则就适用这个客户端;一个接口只能属于一个zone,不能同时属于多个zone

3.如果上述两个原则都不满足,那么缺省的 zone 将被应用

你可以使用任何一种 firewalld 配置工具来配置或者增加区域,以及修改配置。工具有例如firewall-config 这样的图形界面工具, firewall-cmd 这样的命令行工具,或者你也可以在配置文件目录中创建或者拷贝区域文件/usr/lib/firewalld/zones 被用于默认和备用配置,/etc/firewalld/zones 被用于用户创建和自定义配置文件。

命令行工具firewall-cmd支持全部防火墙特性。(更多firewall相关命令见上篇博客)

   firewall防火墙案例

wKioL1j-BwHRCCqqAAAzCYyCI6E964.png

wKioL1j-B1Sh2sKuAACKnr_pueo376.png 

一.

1.搭建web,ssh服务:使用yum仓库安装httpd可以解决依赖包的问题

 搭建yum仓库也可以使用rpm -ivh 安装

wKioL1j-B22gRfq9AAAFB-0wHE8213.png 

安装sshweb服务

wKiom1j-B3ygI0YQAAADddZj_J4144.png 

  修改IP地址添加参数:IPADDRNETMASKGATEWAYDNS

wKiom1j-B5zhbRI1AAA2MU2xexE810.png 

2.修改服务端口

  ①ssh/etc/ssh/sshd_config

wKiom1j-B7LAiNjyAAAXrLBa1YU797.png 

重启服务查看服务端口号

wKioL1j-B77SMK1mAAAKtyRmmu4209.png 

  ②httpd:/etc/httpd/conf/httpd.conf 参数:ServerName 域名:端口号 Listen: 将要修改的端口号

wKioL1j-B8ygzZzFAABCwV6Nal0797.png 

wKiom1j-B9nhTi92AAASO2XJ8CI241.png 

wKioL1j-B-ngXx1gAAApAnGp0lg118.png 

   启动sshhttp服务 Slinux必须关闭否则会影响访问:/etc/selinux/config

 wKioL1j-B_yR2hBiAAAcIltlWbE843.png

3.禁用外网ping通内网建立firewall防火墙规则:firewall-cmd --add-icmp-block=icmp类型

验证

wKiom1j-CAigTdkxAAAUO4fVZ90261.png 

wKioL1j-CBSBPyW5AABDrmtS2kg342.png 

4.192.168.31.83除了webssh之外,禁止任何访问  firewall-cmd  --add-port=端口号/协议

    wKiom1j-CCXgD3HJAAAY73QXFRA848.png

二.此处需要网关两个网卡

wKiom1j-CDLjFd8LAABXKZP2oto998.png 

1.打开路由转发:vim /etc/sysctl.confrwart 添加参数net.ipv4.ip_forward=1

wKiom1j-CELBy_NyAAACz7JIXlo664.png 

wKioL1j-CEzSDd3EAAAQetLBDng843.png 

载入设置

wKioL1j-CFfjZ4X5AAAEGv1pz0I971.png 

测试能不能访问2008服务器地址(设置的地址为案例172.31.1.2

3.实现内网访问2008地址伪装

   在网关上设置firewall-cmd --add-masquerade

wKiom1j-CHqjkL-XAAAQky2lqlo825.png 

  查看2008服务器web服务日志可见伪装的地址

3.如要求所示:由2008访问内网web端口映射(要求所示为web8000

  firewall-cmd --add-forward-port=port=80:proto=tcptoport8000toaddr=192.168.31.83

4.2008访问内网ssh远程管理端口映射(要求所示为ssh10211

  firewall-cmd --add-forward-port=port=23456:proto=tcptoport10211toaddr=192.168.31.83

5.网关主机禁止任何访问(查看活动区域及详情firewall-cmd [--zone=区域] --list-all

 firewall-cmd [--zone=区域] --remove-service=服务  [--zone=区域]为指定区域)