Linux系统工程师3.7-Linux的火墙优化策略

本文详细介绍了Linux系统中firewalld和iptables的管理,包括工具的切换、默认策略、firewalld的域管理、服务设定、高级规则以及NAT转换。此外,还讲解了iptables的开启、查看、使用及其优化策略,展示了如何通过iptables进行SNAT和DNAT配置。实验环境为两台虚拟机,重点在于防火墙规则的设定与网络流量控制。
摘要由CSDN通过智能技术生成

目录

一.火墙介绍:

二.火墙管理工具切换 :

三.火墙的默认策略:

四:firewalld

五.iptables :


实验环境:两台虚拟机,一台双网卡虚拟机,一台单网卡

双网卡:

 单网卡:

一.火墙介绍:

1.netfilter
2.iptables
3.iptables | firewalld        #iptables        firewalld        同时只能用一个

 二.火墙管理工具切换 :

在rhel8中默认使用的是firewalld

firewalld----->iptables                     #firewalld切换为iptables   

dnf install iptables-services -y           #安装iptables
systemctl stop firewalld                    #停止firewalld
systemctl disable --now firewalld           #停用firewalld
systemctl mask firewalld                    #屏蔽服务,让它不能启动

systemctl unmask iptables                  #解除iptables的屏蔽

systemctl enable --now iptables            #开启iptables

 iptales -------> fiewalld                    #iptables切换为firewalld
dnf install firewalld -y                      #安装firewalld
systemctl disable --now  iptables            #停用iptables                 
systemctl mask iptables                      #屏蔽服务,让它不能启动

systemctl unmask firewalld                    #解除i火墙的屏蔽

systemctl enable --now firewalld              #开启firewalld

 三.火墙的默认策略:

默认策略中的5条链
input               #输入
output              #输出
forward             #转发
postrouting         #路由之后
prerouting          #路由之前
默认的3张表

filter             #经过本机内核的数据(input output forward)
nat               #不经过内核的数据(postrouting,prerouting,input,output)
mangle            #当filter和nat表不够用时使用(input output forward postrouting,prerouting,)
数据包状态
RELATED          #建立过连接的
ESTABLISHED      #正在连接的
NEW              #新的

四:firewalld

 1.firewalld的开启

systemctl stop iptables
systemctl disable iptables
systemctl mask iptables


systemctl unmask firewalld
systemctl enable --now firewalld

dnf install firewall-config-0.8.0-4.e18.noarch -y          #防火墙图形控制安装 

firewall-config                                                              #图形防火墙的开启

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.关于firewalld的设定原理及数据存储

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

 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 ##查看指定域的火墙策略
firewall-cmd --set-default-zone=trusted  ##设定默认域

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

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

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

 

5firewalld的高级规则 

firewall-cmd --direct --get-all-rules	##查看高级规则 
firewall-cmd --direct --add-rule ipv4 filter INPUT 1 ! -s 172.25.254.23 -p tcp --dport 80  -j REJECT 1
    #设置filter表INPUT链中的第一条规则,拒绝指定IP23的80端口的网络数据
firewall-cmd --direct --remove-rule ipv4 filter INPUT 1 ! -s 172.25.254.23 -p tcp --dport 80  -j REJECT
    #删除指定规则

curl http://1.1.1.123
		## filter 三个表格其中之一
		## INPUT 进入
		## ! 除了
		## p是协议, s是IP地址
		## rule 	规则
		## REJECT 	拒绝
		## 1 表示input链的第一条

 6.firewalld中的NAT

SNAT :

在双网卡的主机中:

firewall-cmd --permanent --add-masquerade
firewall-cmd --reload

开启地址伪装服务

 在单网卡主机中:

单网卡设置双网卡服务器的1网段的网关后,用但网卡连接真机(32),在真机中显示的是我们的双网卡主机连接的它

DNAT :

双网卡的主机中:

firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=1.1.1.223

           firewall-cmd --reload  

别的主机连接服务器,服务器会将22端口的网络数据转发至设定的ip223(在双网卡主机中设定命令,然后用真机链接双网卡的,双网卡主机将远程链接转换到223主机的22端口(就是在真机链接双网卡主机之后,ifconfig看的是单网卡的ip,直接转换到单网卡了)。)


 五.iptables :

1.iptables的开启:

2.iptables的查看以及监控

查看:iptables -nL

监控:watch -n 1 iptables -L

3. iptables 的使用

/etc/sysconfig/iptables                                #iptables 策略记录文件

两种永久保存策略:

一:iptales-save > /etc/sysconfig/iptables

二:service iptables save

 4.iptables命令

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

iptables -t filter -A INPUT -j ACCEPT                    #filter接收所有设备输入

iptables -I INPUT -s 172.25.254.32 -j REJECT     #拒绝21输入,策略位置会影响结果,命令的读取是由上往下,例如设置filter允许INPUT所有输入为第一位就不会读取这条命

可以控制插入命令的顺序,默认第一位,如果要改变INPUT 后面加上数字INPUT 2

iptables -D IN PUT 1                                         #删除NPUT表里的第一个策略

 iptables -R INPUT 1 -j REJECT                ##更改INPUT表中规则为REJECT 

5. iptables的优化策略

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT    #只接收建立过连接的和正在连接的数据和请求

iptables -A INPUT -m state --state NEW -i lo -j ACCEPT                              #接收来自新的lo回环接口的数据和请求

iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT          #接收来自新的22端口的数据和请求

ptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT          #接收来自新的53(dns)端口的数据和请求

iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT          #接收来自新的80端口的数据和请求

less /etc/services   #查看所有服务的端口号

iptables -A INPUT -m state --state NEW -j REJECT                                 #拒绝所有新的数据的请求

iptales-save > /etc/sysconfig/iptables  

6.iptables中的NAT

iptables -t nat -nL        ##查看nat列表策略

SNAT :

iptables -t nat -A POSTROUTING -o ens3 -j SNAT --to-source 172.25.254.123  #设置地址伪装,将ens3接口的流出数据的IP修改为123
sysctl -a | grep ip_forward       #查看服务ip_forward是否启动
vim /etc/sysctl.conf                  #1是启动,如果是0则是未启动需手动输入
net.ipv4.ip_forward = 1
sysctl -p

测试 :然后用单网卡主机连接真机

DNAT :

iptables -t nat -A PREROUTING -i ens3 -j DNAT --to-dest 1.1.1.223    #设置DNAT,服务器把对ens3的访问转发到1.1.1.223

 测试:

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值