首页 > 系统相关 >Linux-防火墙

Linux-防火墙

时间:2024-05-29 21:56:43浏览次数:18  
标签:iptables ip Linux 防火墙 filter nat 规则

1.防火墙种类

硬件: 整个企业入口
  • 三层路由: H3C 华为 Cisco(思科)
  • 防火墙: 深信服,绿盟,奇安信.....
  • Juniper
软件: 开源软件 网站内部 封ip 封ip
  • iptables 写入到Linux内核中,以后服务docker 工作在 4层(大部分)
  • firewalld C7
  • nftalbes C8
  • ufw (ubuntu firewall) Ubuntu
云防火墙(公有云)
  • 阿里云:
    • 安全组 (封ip,封端口)
    • NAT网关(共享上网,端口映射....)
    • waf应用防火墙
waf防火墙(应用防火墙,处理7层的攻击) SQL注入,等攻击.
  • 书写规则(描述攻击过程,关键提示,关键操作.)

2.关键名词

  • 容器: 瓶子 罐子 存放东西
  • 表(table): 存放链的容器,防火墙最大概念
  • 链(chain): 存放规则的容器
  • 规则(policy): 准许或拒绝规则 ,未来书写的防火墙条件就是各种防火墙规则

3.iptables执行过程

工作流程小结:※※※※※ 1. 防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的。 2. 如果匹配成功规则,即明确表示是拒绝(DROP)还是接收(ACCEPT),数据包就不再向下匹配新的规则。 3. 如果规则中没有明确表明是阻止还是通过的,也就是没有匹配规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过。 4. 防火墙的默认规则是所有规则都匹配完才会匹配的。

4.表与链

  • 表(table)是对功能的分类,防火墙功能(filter表),共享上网,端口转发(nat表)
  • 链对数据流进行处理,需要使用不同的链(数据流入(INPUT),数据流出(OUTPUT))
  • iptables 是4表伍链
  • 4表: filter 表 nat表 raw表 mangle表
  • 伍链: INPUT OUTPUT FORWARD PREROUTING POSTROUTING

5.filter表

是iptables默认的表,filter表示过滤. 实现防火墙功能:(对数据包的filter过滤)屏蔽或准许,端口,ip

 6.nat表

实现nat功能
  • 实现共享上网(内网服务器上外网)
  • 端口映射和ip映射 

 7.iptables命令参数

 案例:禁止访问22端口

#拒绝用户访问22端口
iptables -t filter  -A INPUT   -p tcp --dport 22 -j DROP
#查看规则并加上序号
iptables -t filter  -nL   --line-number 
#删除规则
iptables -t filter  -D INPUT  1   #根据序号删除

 

8.匹配ICMP类型

  • ICMP(Internet Control Message Protocol)Internet控制报文协议 ping
  • 整个网站核心
案例:通过防火墙规则 控制是否可以ping 
精确的写法是
iptables -t filter -I INPUT -p icmp Վʔicmp-type 8 -j DROP
简单写法
iptables -t filter -I INPUT -p icmp -j DROP

 

9.匹配网络状态(TCP/IP连接状态)

  • -m state --state 状态即可.
  • NEW:已经或将启动新的连接
  • ESTABLISHED:已建立的连接
  • RELATED:正在启动的新连接
  • INVALID:非法或无法识别的

10.限制并发及速率

-m limit --limit n/{second/minute/hour}: 解释:指定时间内的请求速率”n”为速率,后面为时间分别为:秒 分 时 
-m limit Վʔlimit 10/minute     #每分钟只能有10个数据包每6秒生成

 

11.防火墙规则的保存和恢复

  • iptables-save 进行备份,默认输出到屏幕
  • iptables-restore 进行恢复,加上文件
  • 写入到/etc/sysconfig/iptables 
12.iptables配置方式
  • 逛公园模式: 默认规则是 ACCEPT
  • 看电影模式: 默认规则是 DROP 白名单模式
默认是拒绝 去电影院 13.nat
  • nat表用于实现nat功能. nat网络地址转换.
  • 共享上网
  • 端口转发/端口映射
  • ip映射
共享上网原理

共享上网流程:
  • 1. 防火墙添加规则 SNAT\规则 nat表 POSTROUTING
  • 2. 防火墙服务器 开启ip转发功能
  • 3. 后端节点,配置网卡,让网卡网关指向防火墙
  • 4. 后端节点的网卡中配置DNS1=223.5.5.5 ,DNS2=223.6.6.6 
14.端口转发

 15.小结

面试题: 防火墙4表伍链,处理流程. 防火墙filter表,禁用ip,端口. 防火墙nat表实现:共享上网,端口映射. 防火墙备份与恢复. 

标签:iptables,ip,Linux,防火墙,filter,nat,规则
From: https://www.cnblogs.com/anni-qianqian/p/18221163

相关文章

  • linux定时删除历史日志
    在Linux系统中,日志文件是记录系统、应用程序或服务的运行信息、错误消息和警告的重要工具。然而,随着时间的推移,这些日志文件会不断积累,占用大量的磁盘空间。如果不及时清理,可能会导致磁盘空间不足,从而影响系统的正常运行。因此,定时删除历史日志成为了Linux系统管理中不可或缺的......
  • linux 查看csv文件,按指定列聚合 排序
    在Linux中,你可以使用awk工具来查看CSV文件的内容,并按照指定的列进行聚合。awk是一种强大的文本处理工具,它可以处理文本文件中的数据,并根据条件执行相应的操作。以下是一个示例,假设你有一个名为data.csv的CSV文件,其中包含三列数据:姓名、年龄和性别,内容如下:姓名,年龄,性别张......
  • Linux入门第六章LVM与磁盘配额
    一.LVM逻辑卷管理    许多Linux操作系统的使用者在安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量。如果当初估计不准确,一旦系统分区不够用就可能不得不备份、删除相关数据,甚至被迫重新规划分区并重装操作系统,以满足应用系统的需要。1.LV......
  • Linux查找文件内容
    从文件内容查找匹配指定字符串的行:$grep"被查找的字符串"文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件$grep"thermcontact"*/*.in从文件内容查找与正则表达式匹配的行:$grep–e“正则表达式”文件名查找时不区分大小写:$grep–i"......
  • 【Linux终端探险】:从入门到熟练,玩转基础命令的秘密(一)
    文章目录......
  • Linux需要修改时区(目前只写了 上海、越南、印度、日本、韩国、UTC0六个时区,可根据自己
    #!/bin/sh#时区列表timezones=("Asia/Shanghai""Asia/Ho_Chi_Minh""Asia/Calcutta""Asia/Tokyo""Asia/Seoul""UTC")echo"上海时区"echo"越南时区"echo"印度时区"e......
  • Linux 无法访问另一台机器上的服务,重启后可以访问,一段时间后又无法访问
    一台Linux主机A无法访问另一台Linux主机B上的服务,我在自己的电脑(windows)上是可以访问的,重启B后可以访问,但是十几个小时之后又无法访问,再次重启后又可以访问。#无法访问的原因是本机的静态ip设置有问题#系统是Debian12source/etc/network/interfaces.d/*#Theloopback......
  • linux-c-log-rotation-scheme
    linux-c-log-rotation-scheme#include<sys/types.h>#include<sys/stat.h>#include<unistd.h>voidlogworker(){ino_tinode=0;FILE*logfile;logfile=fopen(logfilename,"a+");while(running){......
  • Linux块设备驱动
    1块设备驱动简介块设备是针对存储设备的,比如SD卡、EMMC、NANDFlash、NorFlash、SPIFlash、机械硬盘、固态硬盘等。因此块设备驱动其实就是这些存储设备驱动。块设备驱动比字符设备复杂,不同类型的存储设备又对应不同的驱动子系统,如MTD(memorytechnologydevice内存技术设备......
  • linux环境开发过程中遇到的问题以及解决办法 how to
    1.装好开发机后上网检查网口是否开通,网线是否正常一般桌面上多个网口可能只开通一个,需要联系IT联系之前可以先找一个正常的网线连到PC看看是否能够提供网络一般从公司内网连接外网需要连接代理检查proxy的可访问性curl-x<proxy_address>:<proxy_port>http://www.example......