1.什么是防火墙

防火墙是指设置在不同网络,或网络安全域之间的一系列部件的组合。它可通过监测、限制、更改跨越防火墙的数据流,尽可能地对外部屏蔽网络内部的信息、结构和运行状况,以此来实现网络的安全保护。
防火墙(Firewall),是一种硬体设备或软体系统,主要架设在内部网路和外部网路间,为了防止外界恶意程式对内部系统的破坏,或是阻止内部重要资讯向外流出,有双向监督的功能。藉由防火墙管理员的设定,可以弹性的调整安全性的等级。

2.防火墙的介绍

防火墙有netfilter,iptables;

netfilter是内核上的一个插件,当有数据包到达内核时,内核首先查看netfilter表格中的信息,来确定是否接受此数据包。

netfilter火墙策略的更新来源于iptables策略,更改iptables策略的工具有:iptables和fillwalld

3.火墙管理工具的切换

【注】:在rhel8中默认使用的是firewalld

1) firewalld - - - - - >iptables的切换

dnf install iptables ##首先安装iptables
systemctl stop firewalld ##关闭firewalld
systemctl disable firewalld  ##设置开机不启动
systemctl mask firewalld ##封锁firewalld
systemctl enable --now iptables ##开启iptables并设置为开机启动
systemctl status iptables ##查看iptables状态


2)iptables- - - - ->firewalld的切换

systemctl stop iptables
systemctl disable iptables
systemctl mask iptables
systemctl enable --now firewalld
systemctl status firewalld

4.iptables的使用

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


永久保存策略:

方法一:service iptables save
方法二:iptables-save > /etc/sysconfig/iptables

查看默认的火墙策略

用 -F 刷新火墙策略后,重启服务后查看火墙策略还是默认的

用方法一或二来永久保存策略

5.火墙默认策略

默认策略中的五条链:

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

默认的三张表

filter 经过本机内核的数据(包含的链有:input、output、forward
net 不经过本机内核的数据(postrouting、prerouting、input、output
mangle 当filter和net表不够用时使用(input、output、forward、postrouting、prerouting)

iptables的命令

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

-t   ##指定表名
-L   ##查看
-n   ##不做解析


此时其他主机还能和这台主机通信:

-A   ##添加策略
-j   ##动作
REJECT ##拒绝


此时此主机拒绝任何其他主机的所有端口

-D ##删除策略

此时其他主机又能和此台主机通信!!

DROP ##丢弃

此时其他主机和这台主机通信时,不会被此台主机拒绝,但也收不到信息

-s ##数据来源
ACCEPT ##允许


上面命令在INPUT链中添加192.168.43.117用户被允许,但其还是被阻止了,因为在火墙策略中,是从上往下依次读取,当只有读到和他匹配的策略他就直接走掉了,不会从上往下依次读完。

-i ##插入

此时192.168.43.117用户可以和此主机通信

-p ##协议
- -dport ##目的地端口

此时其他主机的22端口才能和此台主机连接

-R ##更改

上面将端口该为80,现在其他主机的22端口不能访问,80端口可以访问这台主机

-P ##更改默认规则
默认是ACCEPT

上面的策略允许所有主机的所有端口通过

此时所有主机的所有端口访问都成DROP状态。

-N ##新建链
-E ##更改链
-X 删除链




数据包状态
为了解决数据包因为策略检测,而发生巨大的延迟问题,我们需要将数据包的状态记录下来

上述当已经访问过的或者正在访问的,可以直接让他通过,如果是新的访问回环接口,80,443,53端口,也让他通过。倒数第二条命令是除了192.168.43.117用户访问22端口不能通过,其他用户都可以通过。
【综上】:当在设定火墙时要将火墙的状态加上去,不然会大大影响数据传输的性能

nat表中的dnat、snat

snat(源地址转换):
数据传送,首先准备一台双网卡主机

nmcli connection add westos1 ifname ens224 type ethernet ip4 172.25.254.20/24 ##设定IP地址


设定客户主机ip为172.25.254.10,网关为172.25.254.1

现在客户主机能连接172.25.254.20这个ip,但是不能连接192.168.43.63这个ip
检查192网络的内核路由是否打开:

发现是开着的,现在编写火墙策略文件

在客户端测试发现,此时能够Ping通192.168.43网段的外网

dnat(目的地址转换):

iptables -t nat -A PREROUTEING -i ens160 -j DNAT --to-dest 172.25.254.30
##从ens160进入的数据均将他仍给172.25.258.30 ,这就是目的地址转换

firewalld火墙策略(一)相关推荐

  1. firewalld 火墙策略(二)

    1.firewalld 的介绍 firewalld是CentOS 7.0新推出的管理netfilter的工具,firewalld是配置和监控防火墙规则的系统守护进程.可以实现iptables,ip6t ...

  2. Linux中的火墙策略优化(iptables,firewalld)

    一.火墙介绍 1.netfilter 2.iptables 3.iptables | firewalld 二.火墙管理工具切换 在rhel8中默认使用的是firewalldfirewalld----- ...

  3. Linux系统中的火墙策略——firewalld、iptables

    文章目录 一.基本介绍 二.火墙管理工具切换 1. firewalld切换为iptablds 2. iptables切换为firewalld 三.iptables的使用 四.火墙默认策略 1. 默认策 ...

  4. 详细总结Linux中的火墙策略优化

    文章目录 前言 一.火墙介绍 二.火墙管理工具切换 三.iptables 1.火墙策略的永久保存 2.火墙默认策略 (1)iptables命令 (2)filter 表 (3)nat表 四.firewa ...

  5. 第七章 LINUX中的火墙策略

    火墙管理工具切换 firewalld----->iptables dnf install iptables-services -y systemctl stop firewalld system ...

  6. 如何进行Linux中的火墙策略设计优化

    Linux中的火墙策略设计 一.关于火墙的基础知识 1.火墙介绍 2.火墙管理工具切换 二.iptables 1. iptables 的使用 2.火墙默认策略 三.firewalld 1.关于fire ...

  7. Linux火墙策略的管理以及火墙的介绍

    文章目录 前言 一.火墙介绍以及实验环境设定 1.火墙介绍 2.实验环境设定 3.火墙管理工具的切换 二.firewalld对火墙的管理方式以及设定 1.firewalld基础管理命令 2.火墙中的三 ...

  8. Linux中的火墙策略

    1.火墙介绍 netfilter iptables iptables | firewalld  这个两个工具是用来管理火墙的 dnf install iptables-services -y 安装ip ...

  9. firewall火墙策略

    firewall的基本zone分类 drop 丢弃所有进入的包,而不给出任何响应block 拒绝所有外部发起的连接,允许内部发起的连接 public 允许指定的进入连接 external 出去的ipv ...

最新文章

  1. Oracle中的substr()函数 详解及应用
  2. mysql linux centos 安装_Linux centos 下在线安装mysql
  3. 一篇文章带你搞懂JS对象的自我销毁
  4. 报告!我还有几个阿里同事也去了亚运会
  5. git config设置用户名_一个神奇的工具,实现多人协作,git常用命令详解
  6. 8.1.4 Authentication in a Web Application
  7. js日期比较大小_node.js 内存泄漏的秘密
  8. 新风口下:嵌入式AI学习中较好的练手项目(附代码资料/学习视频/学习规划)...
  9. python画图去掉边框
  10. pycharm无法导入Pillow
  11. 【Todo】RTP/RTCP/RTSP/SIP/SDP 等多媒体传输和会话协议
  12. 74HC AHCT LS LV ABT区别
  13. 2021中国智能驾驶核心软件产业研究报告:软件定义,数据驱动.pdf(附下载链接)...
  14. pow函数需要注意的问题
  15. java 12306 源码_java Web SpringMVC项目实现12306余票查询功能
  16. 读书笔记-《领导力21法则》
  17. css white-space属性总结
  18. PTA团体程序设计天梯赛-练习集(3)
  19. 【图像处理-计算机视觉学习路线】个人记录
  20. docker 使用 iso虚拟光驱一键式安装

热门文章

  1. java语言生成plist下载ipa文件
  2. 大学计算机基础应用word,Word(大学计算机基础).ppt
  3. 迪文屏幕T5UID3平台学习笔记四:串口使用和定时器使用
  4. 深入探索 Qt WebEngineCore:从基础原理到高级应用与技巧
  5. android mac 照片恢复,相片恢复?误删的手机照片简单的找回方法来了!
  6. (附源码)计算机毕业设计ssm菜鸟驿站快递分发系统
  7. java打字游戏_Java打字游戏
  8. 单稳态触发器(cmos门电路构成)-微分型
  9. 《精通正则表达式(第三版)》下载
  10. 计算机网络教程-自顶向下方法(计算机网络概述)