3.7 Linux中的火墙策略优化

目录

1.火墙介绍

2.火墙管理工具切换

3. iptables 的使用

4.火墙默认策略

1. firewalld的开启

2.关于firewalld的域

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

4. firewalld的管理命令

5. firewalld的高级规则

 6.firewalld中的NAT

1. SNAT

2. DNAT


实验环境:两台虚拟机,一台双网卡主机可以上外网,可以连接内网,一台单网卡主机可以连接内网

1.火墙介绍

        linux防火墙简单来说是内核上数据包过滤的插件,主要工作在网络层,属于典型的包过滤防火墙。常用的有两种火墙工具iptables和firewalld,但软件本身其实并不具备防火墙功能,他们的作用都是在用户空间中管理和维护规则,真正利用规则进行过滤是由内核netfilter完成的。netfilter IP 信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。

1.netfilter

2.iptables

3.iptables|firewalld

2.火墙管理工具切换

在rhel8中默认使用的是firewalld

从firewalld切换到iptables的过程,先搭建好软件仓库,安装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. iptables 的使用

火墙策略的永久保存

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

永久保存策略

iptales-save > /etc/sysconfig/iptables

service iptables save(建议使用)

4.火墙默认策略

默认策略中的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  nat  -nL  (-t指定表名)

iptables  -t  mangel  –nL

          -n   不做解析

          -L    查看

   -A            添加策略

   -p            协议

   --dport     目的地端口

   -s             来源

   -j              动作

           ACCEPT     允许

           DROP        丢弃

           REJECT     拒绝

           SNAT         源地址转换

           DNAT         目的地地址转换

-N    新建链

-E    更改链名称

-X    删除链

-D    删除规则

-I     插入规则

-R    更改规则

-P    更改默认规则

数据包状态

RELATED           建立过连接的

ESTABLISHED   正在连接的

NEW           新的

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT

任何访问本机80 端口的数据都让他通过

iptables -I INPUT 1 -s 192.168.155.178 -p tcp --dport 80 -j REJECT

不允许192.1268.155.178访问本机80端口

测试:用192.168.155.178主机 

iptables -R INPUT 1 -s 192.168.155.178 -p tcp --dport 80 -j ACCEPT

更改第一条使其允许192.168.155.178访问本机80端口

策略优化

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 53 -j ACCEPT

iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT

ptables -A INPUT -m state --state NEW -j REJECT

原地址转换

在双网卡主机中设置

snat

iptable -t nat -A POSTROUTING -o ens192 -j SNAT --to-source 192.168.43.201 

在单网卡主机中连接双网卡主机 

在双卡主机中显示是双网卡主机的另一个ip 

 目的地地址转换

dnat

iptables -t nat -A PREROUTING -i ens192 -j DNAT --to-dest 192.168.155.178

firewalld

1. firewalld的开启

systemctl stop iptables

systemctl disable iptables

systemctl mask iptables

systemctl unmask firewalld

systemctl enable --now firewalld

 

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 --set-default-zone=trusted     设定默认域

firewall-cmd --list-all --zone=work              查看指定域的火墙策略

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=192.168.155.178/24 --zone=block     删除自定域中的数据来源

 firewall-cmd --permanent --remove-interface=ens192 --zone=public

删除指定域的网络接口

firewall-cmd --permanent --add-interface=ens192 --zone=block   添加指定域的网络接口

firewall-cmd --permanent --change-interface=ens192 --zone=public

更改网络接口到指定的域

5. 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  (拒绝192.168.155.178连接)

测试端

服务器端删除后

测试端即可登录

 6.firewalld中的NAT


1. SNAT

firewall-cmd --permanent --add-masquerade

firewall-cmd --reload

 

2. DNAT

firewall-cmd --permanent --add-forward-port=port=22:proto=tcp:toaddr=192.168.155.178 firewall-cmd –reload

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值