LINUX中火墙策略优化

一、关于火墙的基础知识

1.火墙介绍

定义:火墙是指一种将内部网和公众访问网(如Internet)分开的方法,它实际上是一种隔离技术。火墙是在两个网络通讯时执行的一种访问控制尺度,它能允许你“同意”的人和数据进入你的网络,同时将你“不同意”的人和数据拒之门外,最大限度地阻止网络中的非授权用户来访问你的网络。

  • netfilter #它是内核上的一个插件,是一套防火墙系统,用户可以通过运行在用户空间的工具把相关配置下发给netfilter,
  • iptanles #可以用来管理netfilter,方面用户给netfilter里的表格里写火墙策略
  • iptables | firewalld ##linux系统中,可以用这两种命令对火墙进行操作。iptables的特点是,直接操作三个表五条链,而firewalld的使用更为简单的添加或关闭相关端口及服务名称。

2.火墙管理工具切换

在rhel8中默认使用的是firewalld,iptables与firewalld相互切换时必须有要对关闭的那个进行masl操作,以防止有与其相依赖的其他程序在启动时将其唤醒。

firewalld切换为iptables

dnf install iptables-services -y
systemctl stop firewalld
systemctl disable firewalld 
systemctl mask firewalld   ##锁定,防止有其他与其相依赖的程序在启动时将其唤醒
systemctl unmask iptables   ##解除锁定
systemctl enable --now iptables

在这里插入图片描述
iptales 切换为 fiewalld

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

在这里插入图片描述

二、iptables

1. iptables 的使用

在系统中永久保存火墙策略:

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

永久保存的方法:

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

2.火墙默认策略

默认策略中的5条链

input输入
output输出
forward转发
postrouting路由之后
prerouting路由之前

默认的3张表

表名定义说明
filter经过本机内核的数据(input output forward)
nat不经过内核的数据(postrouting,prerouting,input,output)
mangle当filter和nat表不够用时使用(input output forward postrouting,prerouting,)

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 192.168.0.10 -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 192.168.0.20
  • dnat
   iptables -t nat -A PREROUTING -i ens160 -j DNAT --to-dest 172.25.254.30

三、firewalld

1.关于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

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

/etc/firewalld 火墙配置目录,用来编写设定配置参数
/lib/firewalld 火墙模块目录,用来存储火墙数据

3. 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 ##更改网络接口到指定域

4. 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 

5.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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值