firewalld管理方式

因为刚练习完iptables的内容,所以此处需要先打开firewalld

1 firewalld的开启

systemctl stop iptables 
systemctl disable iptables
systemctl mask iptables 
systemctl unmask firewalld
systemctl enable --now firewalld

在这里插入图片描述

2.关于firewalld的域

trusted接受所有的网络连接
home用于家庭网络,允许接受ssh mdns ipp-client samba-client dhcp-client
work工作网络 ssh ipp-client dhcp-client
public公共网络 ssh dhcp-client
dmz军级网络 ssh
block拒绝所有
drop丢弃 ,所有数据全部丢弃无任何回复
internal内部网络 ssh mdns ipp-client samba-client dhcp-client
externalipv4网络地址伪装转发 sshd

练习:修改域
在这里插入图片描述

3.关于firewalld的设定原理及数据存储

  • 火墙配置目录: /etc/firewalld
  • 火墙模块目录: /lib/firewalld

练习:在火墙服务中添加http(更推荐之前学过的用一条命令直接添加的方法

  • 初始状态(服务中不包含http)
    在这里插入图片描述
  • 切换目录,并查看public.xml文件
    在这里插入图片描述
    在这里插入图片描述
  • 新增一行,添加http服务
    在这里插入图片描述
  • 重启后进行查看,此时添加成功了
    在这里插入图片描述
    练习2:切换到trusted域后再次添加
  • 初始状态
    在这里插入图片描述
  • 使用命令直接添加
    在这里插入图片描述
  • 切换域后,会出现trusted.文件
    说明其存储方式都是模块化的存储方式,当我们使用命令时,系统自动生成了可扩展标记语言里面的文件。
    在这里插入图片描述
    在这里插入图片描述
    练习3:将http改为lyq
    我们所使用的、别人预先放置的xml脚本就在/lib/firewalld中
  • firewall-cmd --get-services
    在这里插入图片描述
  • 切换目录
    在这里插入图片描述
  • 复制
    在这里插入图片描述
  • 修改端口为8080
    在这里插入图片描述
  • 重启服务后进行添加验证
    在这里插入图片描述

4.firewalld的管理命令

firewall-cmd(后面的- -之间应该是没有空格的,是因为CSDN中的显示问题。练习的时候--

firewall-cmd --state	查看火墙状态
firewall-cmd --get-active-zones 		查看当前火墙中生效的域
firewall-cmd --get-default-zone 		查看默认域
firewall-cmd --list-all 				查看默认域中的火墙策略 
firewall-cmd --list-all --zone=work		查看指定域的火墙策略
firewall-cmd --set-default-zone=trusted	设定默认域

firewall-cmd --get-services				查看所有可以设定的服务
firewall-cmd --permanent --remove-service=cockpit	移除服务
firewall-cmd --reload

firewall-cmd --permanent --add-source=172.25.254.17 --zone=block指定数据来源访问指定域
firewall-cmd --reload
firewall-cmd --permanent --remove-source=172.25.254.17 --zone=block  删除自指定域中的数据来源

firewall-cmd --permanent --remove-interface=enp1s0 --zone=public 删除指定域的网络接口
firewall-cmd --permanent --add-interface=enp1s0 --zone=block  添加指定域的网络接口
firewall-cmd --permanent --change-interface=enp1s0 --zone=public 更改网络接口到指定域

firewall-cmd

练习1:常见的信息查看
在这里插入图片描述
练习2:移除服务
使用--permanent表示永久生效,因为直接修改的是/etc/firewall/zones/public.xml中的文件。如果不使用,在reload之后又会恢复到原来的状态
在这里插入图片描述

练习3:指定数据来源访问指定域

  • 初始状态下真机能够连接workstation
    在这里插入图片描述
  • 在workstation中设置172.25.254.17(真机ip)为黑名单
    在这里插入图片描述
  • 使用172.25.254.17(真机ip)连接workstation
    在这里插入图片描述
  • 删除该数据来源
    在这里插入图片描述
  • 再次尝试ssh,连接成功
    在这里插入图片描述
    练习4:对指定域的网络接口实现删除、增加与修改(使用rhel8双网卡主机完成)
  • firewall-cmd --remove-interface=enp6s0 --zone=public删除
    在这里插入图片描述
  • firewall-cmd --add-interface=enp6s0 --zone=block将enp6s0添加到block中
    在这里插入图片描述
  • firewall-cmd --change-interface=enp6s0 --zone=public修改
    在这里插入图片描述

5.firewall中的高级规则

firewall-cmd --direct --get-all-rules   #查看高级规则
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.17 -p tcp --dport 22 -j ACCEPT  #添加
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.33 -j REJECT		#删除

练习1:设定只允许某服务访问

真机:172.25.254.17
rhel8:172.25.254.33
workstation:172.25.254.22
  • 初始状态(真机和rhel8都可连接workstation)
    在这里插入图片描述
  • 设置workstation中拒绝rhel8(33)的ssh接入
    在这里插入图片描述
  • 此时结果表明rhel8无法ssh连接,真机断开连接重新连后,还是能正常连接
    在这里插入图片描述
  • firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.25.254.33 -j REJECT删除
    在这里插入图片描述
    删除后可以rhel8就可正常连接了
    在这里插入图片描述

6.firewall中的NAT

SNAT
	firewall-cmd --permanent --add-masquerade  #在双网卡主机中打开,workstation就可访问外网。操作结果与iptables中练习的一致
	firewall-cmd --reload

DNAT
	firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.17  #在workstation(22)中进行设置,使用rhel8(33)连接,最终连接位置是真机(17)
	firewall-cmd --reload
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值