Firewalld 防火墙

1、Firewalld的网络区域

2、 Firewalld 防火墙配置方法

配置防火墙图形界面

firewall-config

        (1)启动、停止、查看Firewalld服务

systemctl start firewalld      (启动)

systemctl sotp  firewalld      (停止)

systemctl enable firewalld     (开机自启动)

systemctl disable firewalld    (开机不自启动)

systemctl status firewalld     (查看运行状态)

        (2)区域管理 

显示当前系统默认区域 

firewall-cmd --get-default-zone

 显示默认区域的所有规则

firewall-cmd --list-all

显示网络接口ens33对应区域

firewall-cmd --get-zone-of-interface=ens33

将网络接口ens33对应区域更改为internal区域

firewall-cmd --zone=public --change一interface=ens33

firewall-cmd --zone=internal一list-interfaces

firewall-cmd --get-zone一of-interface=ens33

显示所有激活区域

firewall-cmd --get-active-zones

        (3)服务管理

 为默认区域设置允许访问的服务

firawall-cmd --list-services            (显示默认区域内允许访问的所有服务)

firawall-cmd --add-service=http         (设置默认区域允许访问http服务)

firawall-cmd --add-service=https        (设置默认区域允许访问https服务)

 为internsl区域设置允许访问的服务

firewall-cmd --zone=internal --add-service=mysgl
(设置internal区域允许访问mysql服务)

firewall-cmd --zone=internal --remove-service=samba-client
(设置internal区域不允许访问samba-client服务)

firewall-cmd --zone=internal --list-services
(显示internal区域内允许访问的所有服务)

         (4)端口管理

指定区域internal添加端口443/tcp

firewall-cmd --zone=internal --add-part=443/tep

指定区域internal禁止443/tcp端口访问

firewall-cmd --zone=internal --remove-port=443/tep 

 3、Firewalld 防火墙配置应用

通过企业案例配置防火墙,如图所示先配置ip地址

网关服务器链接互联网网卡 ens33 地址为100.1.1.10,为公网IP地址,分配firewall的external(外部)区域,连接服务器网卡ens38地址为192.168. 2.1,分配到firewall的dmz(非军事)区域

        (1)基本环境配置
在网关服务器上配置主机名及网卡

hostname gateway-server         (更改临时主机名)

vim /etc/hostname               (永久更改主机名)

 开启网关服务器的路由转发功能

vim /etc/sysctl.conf   

net.ipv4.ip_forward = 1

sysctl -p

配置网站(web)服务器主机名及网卡地址

vim /etc/hostname
web

hostname web

        (2)网站服务器环境搭配
安装httpd和mod-ssl软件包

rm -rf /etc/yum.repos.d/*

vim  /etc/yum.repos.d/a.repo
[aa]
name=aaa
baseurl=file:///media
gpgcheck=0


yum install -y httpd mod_ssl

 启动并开机自启httpd服务

systemctl start httpd

systemctl enable httpd

创建网页测试页

vim /var/www/html/index.html
<h1>111111111111<h1>

 更改ssh的侦听地址,并重启sshd服务,需要关闭SELinux

vim /etc/ssh/sshd_config
Port 12345

systemctl restart sshd

        (3)在网站服务器上启动并配置Firewalld防火墙

启动防火墙并设置默认区域为dmz区域

systemctl start firewalld
systemctl enable firewalld
systemctl status firewalld    (查看服务器状态)

firewall-cmd --set-default-zone=dmz

 为dmz区域打开https服务及添加TCP的12345端口

firewall-cmd --zone=dmz --add-service=https --permanent

firewall-cmd --zone=dmz --add-port=12345/tcp --permanent

禁止ping

firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent

因为预定义的SSH服务已经更改默认端口。所以将预定义SSH服务移除

firewall-cmd --zone=dmz --remove-service=ssh --permanent

重新加载Firewalld激活配置,并查看刚才的配置.

firewall-cmd --reload

firewall-cmd --list-all --zone=dmz

        (4)在网关服务器上配置firewalld防火墙
验证firewalld在网关服务器上启动并且正在运行

systemctl start firewalld
systemctl enable firewalld
systemctl status firewalld

设置默认区域为external区域,并查看配晋结果

firewall-cmd --set-default-zone=external

firewall-cmd --list-all

 将ens37网卡配置到trusted区域.将ens38配置到dmz区域

firewall-cmd --change-interface=ens37  --zone=trusted

firewall-cmd --change-interface=ens38  --zone=dmz

查看配置情况如下

firewall-cmd --get-active-zones

在企业内网测试机上访问网站服服务器

 更改SSH的侦听端口并重启服务(需关闭SELinux )

vim /etc/ssh/sshd_config
Port 12345

systemctl restart sshd

 配置external区域添加TCP的12345端口

firewall-cmd --zone=external --add-port=12345/tcp --permanent

 配置external区域移除SSH服务

firewall-cmd --zone=external --remove-service=ssh --permanent

配置external区域禁止ping

firewall-cmd --zone=external --add-icmp-block=echo-request --permanent

重新加载防火墙激活配置

firewall-cmd --reload

 在互联网测试计算机上通过SSH登录网关外部接口地址的12345端口.成功

ssh -p 12345 root@100.1.1.10

在企业内网测试计算机上SSH登录web网站服务器的12345端口.成功

ssh -p 12345 root@192.168.2.10

4、配置IP伪装与端口转发

         (1)内网用户通过网关服务器共享网络
外网测试机搭建网站服务,并添加网页测试内容

vim /etc/hostname
internet

rm -rf /etc/yum.repos.d/*

vim /etc/yum.repos.d/a.repo
[aaa]
name=aaa
baseurl=file:///media
gpgcheck=0

yum install -y httpd

vim /var/www/html/index.html
<h1>22222<h1>

systemctl enable httpd
systemctl start httpd

在内部测试机上访问外网

 

在网站服务器上测试

 curl http://100.1.1.20

查看网关服务器的external区域是否开启地址伪装

firewall-cmd --list-all --zone=external 
(显示伪装地址开启)
  masquerade: yes

在网关服务器上关闭 exteranl的伪装地址,在external区域内,源地址192.168.1.0/24网段开启地址IP伪装

firewall-cmd  --remove-masquerade --zone=external

firewall-cmd  --zone=external  --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 masquerade'

在网站服务器上测试,发现无法访问外网网站

curl https://100.1.1.20
curl: (7) Failed connect to 100.1.1.20:443; 没有到主机的路由

        (2)配置端口转发实现互联网用户访问内部web服务器                                                            在网关服务器上配置如下

firewall-cmd --zone=external --add-forward-port=port=443:proto=tcp:toaddr=192.168.2.10

在互联网测试机上访问内部web服务器成功

        (1) 给内网web服务器申请一个新的ip地址100.1.15端口转发

需要将新公网地址100.1.1.15配置在网关服务器的外网接口ens33上。作为第二个IP地址.

vim /etc/sysconfig/network-scripts/ifcfg-ens33
    (添加)

IPADDR1=100.1.1.15
PREFIX1=8
IPADDR0=100.1.1.10
PREFIX0=8

ifdown ens33

ifup ens33

使用富规则配置端口转发

firewall-cmd --zone=external --add-rich-rule='rule family=ipv4 destination address=100.1.1.15/32 forward-port port=443 protocol=tcp to-addr=192.168.2.10'

 在互联网测试机上访问测试结果

 

        

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值