linux 下的防火墙优化策略

1.火墙原理

在这里插入图片描述

2.火墙默认策略的五条链和三张表

- 默认策略中的五条链
- 	input			##输入
-	output			##输出
-	forward			##转发
-	postrouting		##路由之后
-	prerouting		##路由之前
-	 
- 默认的三张表
- 	filter		##经过本机内核的数据(input output forward)
-	nat		##不经过内核的数据(postrouting,prerouting,input,output)
-	mangle		##当filter和nat表不够用时使用(input output forward postrouting,prerouting,)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.管理火墙的俩种方式

3.1 俩种方式的转换

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

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

3.2 firewalld (不仅可以写数据,还有其他功能,rhel7之后出现的)

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

- /etc/firewalld		##火墙配置目录
- /lib/firewalld		##火墙模块目录

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

3.2.2 firewalld的管理命令

- 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.10/24 --zone=block ##指定数据来源访问指定域
- firewall-cmd --reload 
- firewall-cmd --permanent --remove-source=172.25.254.10/24 --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 ##更改网络接口到指定域

在这里插入图片描述

3.2.3 firewalld的高级规则

- firewall-cmd --direct --get-all-rules	##查看高级规则 
- firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -s 172.25.254.10 -p tcp --dport 22  -j REJECT					        ##10不能访问
- firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.10 -p tcp --dport 22  -j REJECT                            ##除了10都不可以访问
- firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 -s 172.25.254.10 -p tcp --dport 22  -j REJECT	                    ##删除高级规则
-  
- 当这个服务没有被火墙允许时
- 	

当服务已经被火墙允许,比如ssh
在这里插入图片描述在这里插入图片描述
当服务没有被火墙允许时,如http

在这里插入图片描述

3.2.4 firewalld中的NAT

- SNAT
-	firewall-cmd --permanent --add-masquerade
-	firewall-cmd --reload 
-
- DNAT
- 	firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=1.1.1.210
-	firewall-cmd --reload

双网卡设置
在这里插入图片描述
在这里插入图片描述
真机测试

在这里插入图片描述

3.3 iptables (偏向于写数据,一直存在的)

3.3.1 iptables参数

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.3.2 数据包

- 状态
- 	RELATED		##建立过连接的
-	ESTABLISHED	##正在连接的
-	NEW			##新的
- 实验如下图

在这里插入图片描述

3.3.3 nat中的dnat,snat

- 双网卡中
- 	设置网卡ip分别为172.25.254.110 和 1.1.1.110,网卡配置分别如下
- 	nat表中的dnat snat
-	snat
-		iptables -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 172.25.254.110
-	dnat    ##为了可以使俩个网段互通,o表示输出
-		iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 1.1.1.210 ##为了使真机ssh root@172.25.254.110时,连接的是1.1.1.210  ,i表示input
-	iptables -t nat -nL           ##查看是否配置成功
-	sysctl -a | grep ip_forward   ###  必须等于1
-	 
-	
- 单网卡的网卡配置
- 	BOOTPROTO=none
-	NAME=enp1s0
-	DEVICE=enp1s0
-	ONBOOT=yes
-	IPADDR=1.1.1.210	
-	PREFIX=24
-	GATEWAY=1.1.1.110
- 
-  
- 测试
- 	1. 1.1.1.210主机可以ping通 172.25.254.10(真机)
- 	2. 1.1.1.210可以ssh root@172.25.254.10 
- 	3. 172.25.254.10  可以ssh root@172.25.254.110  ,实际进入的是1.1.1.210主机
- 

双网卡:

在这里插入图片描述
输入以下内容:

iptables -t nat -A POSTROUTING -o enp1s0 -j SNAT --to-source 172.25.254.110

iptables -t nat -A PREROUTING -i enp1s0 -j DNAT --to-dest 1.1.1.210

sysctl -a | grep ip_forward ##设置成1

单网卡配置

在这里插入图片描述
测试

单网卡访问主机
在这里插入图片描述
主机访问单网卡

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Studying!!!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值