Ⅲ第七章学习博客(firewalld,iptables)

Linux修炼之旅第七章!

今天来介绍火墙的管理策略firewalld和iptables,介绍两者的基础命令和高级规则。下面我们就开始吧


实验开始前先配置好实验环境
配置两台主机
一台为双网卡主机
同时拥有172.25.254网段和1.1.1网段
请添加图片描述请添加图片描述

一、火墙管理及工具切换

本章主要介绍两种比较主流的火墙管理方式
iptables和firewalld
相较于firealld,iptables使用起来更复杂,但是管理起来更精确。
两者的使用需要切换
如何切换呢

首先介绍firewalld转换到iptables

dnf install iptables-services -y
systemctl stop firewalld
systemctl disable firewalld
systemctl mask firewalld #冻结火墙服务,如果想重启必须解锁,unmask
systemctl enable --now iptables

然后是iptables转firewalld

dnf install firewalld -y
systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl enable --now firewalld

二、firewalld

1.firewalld的开启

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

2.firewall的图形管理界面

安装
dnf install firewall-config-0.8.0-4.el8.noarch -y
如果没有启用服务清参照上面的开启步骤开启firewall服务
使用指令
firewall-config
请添加图片描述

请添加图片描述firewall的模块在
/usr/lib/firewalld/
firewall的配置在
/etc/firewalld/

3.关于firewalld的域

请添加图片描述关于firewall中的域的解释

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
external #ipv4网络地址伪装转发 sshd

4.firewalld的管理命令

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

命令效果
请添加图片描述

关于trusted,block和drop

全信任域

firewall-cmd --set-default-zone=trusted

请添加图片描述

block拒绝所有

firewall-cmd --set-default-zone=block

请添加图片描述

drop丢弃

firewall-cmd --set-default-zone=drop

请添加图片描述
查看所有可以设定的服务

firewall-cmd --get-services

请添加图片描述
指定数据来源访问指定域

firewall-cmd --permanent --add-source=172.25.254.0/24 --zone=block

指定只有172.25.254网段的主机可以访问
请添加图片描述命令中是block,看到的效果与上一布中的bolck效果相同
请添加图片描述
如果想要解除,直接用命令删除即可

firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block

请添加图片描述移除后又回到了drop状态
请添加图片描述
关于网卡的指令

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

如果以上面的代码为实验的话,就不可以通过ssh服务来实验,会导致连接直接断开。
请添加图片描述

5.firewalld的高级规则

高级规则的效果,下面通过一个实验来进行说明
首先在服务主机中开启高级规则,限制除了172网段的80主机以外的主机,任何服务都被拒绝
请添加图片描述现在设定高级规则,满足上述要求
请添加图片描述

1网段的主机本来可以访问,设定完毕后不被允许
请添加图片描述172网段的80主机没问题
请添加图片描述

6.firewalld中的NAT

SNAT

简单来说,就是通过开启地址伪装策略来对访问的用户进行控制,比如1网段的主机通过172网段的服务主机来连接别的172网段主机,那么在172的测试主机上就会显示服务主机的172网段ip,具体实验效果如下:

首先设置1网段的客户主机的网关为服务主机的1网段ip地址为网关
请添加图片描述在服务主机中开启地址伪装策略
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload
请添加图片描述然后用1网段的主机来连接172网段的测试机
请添加图片描述
可以看到记录中连接的主机使服务主机的ip而非真正连接主机的1网段主机
请添加图片描述

DNAT

DNAT的效果则是可以让服务主机变成一个中继站,使连接到服务主机的地址直接跳转到设置好的另一个ip中,下面看看实验效果

设定跳转的地址为1.1.1.200
firewall-cmd --pernament --add-forword-port=port=22:proto=tcp:toport=22:toaddr=1.1.1.200
firewall-cmd --reload
请添加图片描述
可以看到原本访问服务主机,但是自动转到了1.1.1.200主机上

请添加图片描述

三、iptables

实验开始之前先从firewalld切换至iptables,具体步骤见第一节中。
请添加图片描述
开启iptables服务
请添加图片描述

1.iptables命令

iptables
	-t #指定表名称
	-n #不做解析
	-L #查看
	-A #添加策略
	-p #协议
	--dport #目的地端口
	-s #来源
	-j #动作
		ACCEPT #允许
		DROP #丢弃
		REJECT #拒绝
		SNAT #源地址转换
		DNAT #目的地地址转换
	-N #新建链
	-E #更改链名称
	-X #删除链
	-D #删除规则
	-I #插入规则
	-R #更改规则
	-P #更改默认规则

iptables -nL
请添加图片描述
上面这个指令可以对状态进行查看,利用这个指令并开启监视,对其他命令进行测试
iptables -D INPUT 2删除INPUT中的第二条规则
请添加图片描述iptables -I -s 172.25.254.80 -j REJECT插入规则
请添加图片描述
iptables -N shy新建链
请添加图片描述iptables -E shy SHY链更名
请添加图片描述iptables -X SHY删除链

请添加图片描述iptables -P INPUT DROP更改默认规则为丢弃
请添加图片描述iptables -P INPUT ACCEPT更改默认规则为通过
请添加图片描述

2.iptables对于读取规则的优化策略

请添加图片描述

3.iptables的nat模式

第二部分的内容中firewall的nat功能相同,介绍iptables下的nat功能

snat

iptables -t nat POSTROUTING -o ens3 -j SNAT --to-source 172.25.254.100
sysctl -a | grep ip_forword
看看开启时候成功
net.ipv4.ipforward=1表示 成功
如果不是1
则编辑文件
vim /etc/sysctl.conf
在最后写入
net.ipv4.ipforward=1
请添加图片描述
请添加图片描述这样就配置好了snat,效果类似于内网可以访问外网了
请添加图片描述

请添加图片描述

dnat

dnat与snat刚好相反,让外网访问内网,只需访问双网卡服务器
配置双网卡服务器
iptables -t nat -A PREROUTING -i ens3 -j DNAT --to-dest 1.1.1.200
查看
iptables -t nat -nL
实验效果
请添加图片描述用172网段的80主机访问双网卡服务器,查看到的是1网段的ip
请添加图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值