3.7 Linux中的火墙策略优化

在RHEL8中默认使用的是firewalld
火墙工具的切换:

#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

firewalld

firewalld的开启
systemctl stop iptables 
systemctl disable iptables
systemctl mask iptables 

systemctl unmask firewalld
systemctl enable --now firewalld 
关于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

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

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

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.0/24 --zone=block ##指定数据来源访问指定域
firewall-cmd --reload 
firewall-cmd --permanent --remove-source=172.25.254.0/24 --zone=block ##删除自定域中的数据来源

firewall-cmd --permanent --remove-interface=ens224 --zone=public ##删除指定域的网络接口 
firewall-cmd --permanent --add-interface=ens224 --zone=block 	##添加指定域的网络接口
firewall-cmd --permanent --change-interface=ens224 --zone=public ##更改网络接口到指定域
firewalld的高级规则
firewall-cmd --direct --get-all-rules	##查看高级规则 
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 ! -s 172.25.254.250 -p tcp --dport 22  -j REJECT 
firewalld中的NAT
#SNAT
firewall-cmd --permanent --add-masquerade
firewall-cmd --reload 

#DNAT
firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=172.25.254.30
firewall-cmd --reload

火墙默认策略(三表五链)

默认策略中的5条链:

  1. input----输入
  2. output----输出
  3. forward ----路由之后
  4. prerouting----路由之前
  5. postrouting----路由之后

默认策略中的3张表
filter----经过本机内核的数据(input output forward)
nat----不经过内核的数据(postrouting,prerouting,input,output)
mangle----当filter和nat表不够用时使用(input output forward postrouting,prerouting)

iptables

iptables的开启
dnf install iptables-services -y
systemctl stop firewalld
systemctl disable firewalld 
systemctl mask firewalld 
systemctl enable --now iptables
iptables的使用

火墙策略的永久保存:
iptables的策略记录文件:/etc/syscofig/iptables

iptales-save > /etc/sysconfig/iptables
service iptables save

iptables命令

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

数据包状态:
RELATED : 建立过连接的
ESTABLISHED : 正在连接的
NEW : 新的

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW -i lo -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -m state --state NEW ! -s 172.25.254.170 -p tcp --dport 22 -j ACCEPT
ptables -A INPUT -m state --state NEW -j REJECT
service iptables  save

nat表中的dnat和snat:

#snat
iptable -t nat -A POSTROUTING -o ens160 -j SNAT --to-source 172.25.254.170

#dnat
iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.171
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值