linux-防火墙

news2024/9/26 5:14:21

目录

一、防火墙概念

1.软件防火墙

2.iptables默认规则

3.iptables的五链

4.iptables动作

5.四表五链

6.iptables实例


一、防火墙概念

linux下防火墙一般分为软件防火墙、硬件防火墙

硬件防火墙:在硬件的级别实现防火墙过滤功能,性能高,但成本也很高

软件防火墙:在软件系统内核级别实现网络流量过滤,性能稍弱,但是成本也很低

1.软件防火墙

在linux上提供的软件防火墙,名字叫做iptables,它是一个防火墙命令行工具,iptables还是一个客户端代理

通过iptables的代理,将用户配置的安全策略,执行到对应的安全框架中netfilter

iptables只是个命令行工具,处于用户空间,离用户最近

真正实现流量过滤的软件是netfileter,处于系统内核空间,和操作系统离得是最近的

iptables+netfilter共同组成了linux的软件防火墙,一般就用来代替昂贵的硬件防火墙了

centos7系统下

firewalld软件,有替代了iptables工具

iptables是把用户配置的防火墙规则,交给内核层的netfiler工具去处理

firewalld服务把用户配置的防火墙规则交给内核层的nftables网格过滤器去处理

2.iptables默认规则

iptables默认会自上而下的读取防火墙规则,匹配到正确规则后,就结束匹配的工作,并且执行对应的工作。

如果读取的防火墙所有规则都没有符合,就执行默认的策略。

默认策略一般分为两种:

  • 允许
  • 拒绝

当默认规则全都是拒绝的时候,你就得设置一些允许通过的流量,否则所有的流量都禁止了

当默认的规则全部都是允许的时候,就得设置一些拒绝的匹配规则,以保证服务器的安全

防火墙的规则默认是存储在linux内核空间的信息包中,这些规则定义了源地址信息,目的地址信息,传输协议类型,服务类型

当数据包符合规则条件的时候,iptables就根据所定义的动作,来处理这些数据包,放行,拒绝,丢弃

3.iptables的五链

iptables把用于处理和过滤流量的策略,称之为规则,多条规则就组成了一个规则链,并且规则链,还有默认的动作,规则链根据数据包所处的不同位置进行不同的分类

linux默认的五个规则链

  • 路由选择前处理数据包,prerouting链
  • 处理流入的数据包,input链
  • 处理流出的数据包,output链
  • 处理转发的数据包,forward链
  • 进行路由选择后处理数据包,postrouting链

主要使用的都是input链

4.iptables动作

服务器流量在通过input链之后,进入到服务器内,还得遵循一些动作去处理数据包

  • accpet,允许数据包通过
  • reject,拒绝数据包通过,还会给客户端一个响应,告知对方被拒绝
  • log,在linux系统的日志目录下/var/log/message中记录防火墙日志,在进行下一个数据包处理
  • drop,直接丢弃数据包,不给予任何的回复
  • SNAT,源地址转换,解决内网用户用同一个公网的问题,用于forward链
  • DNAT,目标地址转换
  • redirect,在本机做端口映射

5.四表五链

表:

  • raw:高级功能,如:网址过滤
  • mangle:数据包修改(QOS),用于实现服务质量
  • net:地址转换,用于网关路由器
  • filter:包过滤,用于防火墙规则

链:

  • input链:处理输入数据包
  • output链:处理输出数据包
  • forward链:处理转发数据包
  • prerouting链:用于目标地址转化(DNAT)
  • postouting链:用于源地址转换(SNAT)

动作:

  • accpet,允许数据包通过
  • reject,拒绝数据包通过,还会给客户端一个响应,告知对方被拒绝
  • log,在linux系统的日志目录下/var/log/message中记录防火墙日志,在进行下一个数据包处理
  • drop,直接丢弃数据包,不给予任何的回复
  • SNAT,源地址转换,解决内网用户用同一个公网的问题,用于forward链
  • DNAT,目标地址转换
  • redirect,重定向,映射,透明代理
  • masquerade:IP伪装(NAT),用于ADSL
  • LOG:日志记录

6.iptables实例

禁止服务器被ping

# -A 指定链 -p 指定协议 --icmp-type 8 指定icmp协议的类型 -s 指定源ip端 -j 动作
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j REJECT

删除指定规则

iptables -D INPUT 1

禁止访问服务器的80端口

iptables -A INPUT -p tcp --dport 80 -j DROP

禁止服务器被ping(动作为丢弃)

# -A 指定链 -p 指定协议 --icmp-type 8 指定icmp协议的类型 -s 指定源ip端 -j 动作
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1133584.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

360智慧生活旗舰产品率先接入“360智脑”能力实现升级

10月25日,360智慧生活秋季新品及视觉云方案发布会在深圳召开。360智能硬件产品,诸如 360可视门铃、360智能摄像机、360行车记录仪、360儿童手表和家庭防火墙等,都在各自的行业有着举足轻重得地位,而这次发布的系列新品&#xff0c…

使用Golang策略和最佳实践高效处理一百万个请求

有效处理一百万个请求的策略与最佳实践 在不断发展的Web应用程序领域,处理大规模请求的能力是成功的关键因素。作为一名全栈开发人员,您可能熟悉Golang的效率和性能。在本文中,我们将深入探讨如何利用Golang来优雅地处理处理一百万个请求的挑…

【ICLR23论文】Can CNNs Be More Robust Than Transformers?

文章目录 0 Abstract1 Introduction2 Related Works3 Settings3.1 CNN Block Instantiations3.2 Computational Cost3.3 Robustness Benchmarks3.4 Training Recipe3.5 Baseline Results 4 Component Diagnosis4.1 Patchief Stem4.2 Large Kernel Size4.3 Reducing Activation …

安装 tensorflow==1.15.2 遇见的问题

一、直接安装 命令:pip install tensorflow1.15.2 二、换 阿里云 镜像源 命令:pip install -i http://mirrors.aliyun.com/pypi/simple tensorflow1.15.2 三、换 豆瓣 镜像源 命令:pip install http://pypi.douban.com/simple tensorflow1…

Android Glide判断图像资源是否缓存onlyRetrieveFromCache,使用缓存数据,Kotlin

Android Glide判断图像资源是否缓存onlyRetrieveFromCache,使用缓存数据,Kotlin import android.graphics.Bitmap import android.os.Bundle import android.util.Log import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity…

“第五十天” 机组--数据的表示

数据的表示和运算: 进位计数制: 对于我们现在使用的如十进制计数法,二进制计数法等,符号反映权重,比如十进制的0~9,9这个符号的权重和0是不一样的,而且现在的计数法符号所在位置也反映权重&am…

去雨去雪去雾算法运行问题汇总记录

在进行去雨去雪去雾算法过程中,遇到了一个问题,这在先前的电脑运行是都没有出现过,但在博主新买的电脑上却出现了,讲道理是有点小抑郁的。 RuntimeWarning: invalid value encountered in scalar divideret ret.dtype.type(ret …

基于Or-Tools的线性规划问题求解

画出可行域如图所示: Python调用ortools求解 导入求解器 # 导入(或包含)or - tools线性求解器包装器,这是MIP求解器和线性求解器的接口,如下所示 from ortools.linear_solver import pywraplp声明线性规划求解器 MPsolver is a wrapper …

js双向绑定

题目来源: 双向绑定_牛客题霸_牛客网 (nowcoder.com) JS37 双向绑定 描述 请补全JavaScript代码,要求如下: 1. 监听对象属性的变化 2. 当"person"对象属性发生变化时,页面中与该属性相关的数据同步更新 3. 将输入框中…

【C++面向对象】8. 继承

文章目录 【 1. 基本原理 】【 2. 派生类的访问权限 】【 3. 派生类继承得到的成员的权限 】【 4. 多继承 】 继承允许我们依据另一个类来定义一个类,这使得创建和维护一个应用程序变得更容易。这样做,也达到了 重用代码功能 和 提高执行时间 的效果。当…

【Qt之QSetting】介绍及使用

概述 QSettings类提供了一种持久的、与平台无关的应用程序设置存储功能。 用户通常期望一个应用能在不同会话中记住其设置(窗口大小和位置,选项等)。在Windows上,这些信息通常存储在系统注册表中;在macOS和iOS上&…

MySQL数据库 #4

文章目录 一、MySQL外键基本概念1. 表与表之间的关系1.一对多的表关系2.多对多3.一对一注意事项 2.多表查询1.子查询2.数据准备3.连表查询(重点) 二、多表查询练习题1.习题试题的SQL文件2.Navicata可视化软件1.连接数据库2 操作数据库3.导入备份4.查询数…

01. 板载硬件资源和开发环境

一、板载硬件资源 STM32F4VGT6-DISCOVERY硬件资源如下: (1). STM32F407VGT6微控制器有1M的FLASH存储器,192K的RAM,LQFP100封装 (2). 板上的ST-LINK_V2可以使用选择的方式把套件切换成一个独立的ST-LINK/V2来 使用(可以使用SWD…

UML中类之间的六种主要关系

UML中类之间的六种主要关系: 继承(泛化)(Inheritance、Generalization), 实现(Realization),关联(Association),聚合(Aggregation),组…

Java架构师内功嵌入式技术

目录 1 导学2 嵌入式微处理体系结构3 微处理器分类4 多核处理器5 嵌入式软件6 嵌入式系统6.1 系统组成7 嵌入式实时操作系统8 嵌入式软件设计9 软件开发工具想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导学 嵌入式技术对软件架构的作用主要体现在以下几个方面: …

搜索二叉树实现(非递归版本)

目录 一,搜索二叉树是个啥? 二,搜索二叉树的实现 1.前期工作 2.方法实现 1.插入 2,查找 3.删除 三,实现二叉搜索树的全部代码 一,搜索二叉树是个啥? 话不多所,先给各位来一个…

查看linux下dns信息并修改

cat /etc/resolv.conf 查看dns 常用dns nameserver 114.114.114.114 nameserver 100.125.0.250 nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 192.168.122.1 nameserver 100.125.1.250 nameserver 100.125.1.251 nameserver 223.5.5.5 可以用vi 修改,修改后 …

【云原生】portainer管理多个独立docker服务器

目录 一、portainer简介 二、安装Portainer 1.1 内网环境下: 1.1.1 方式1:命令行运行 1.1.2 方式2:通过compose-file来启动 2.1 配置本地主机(node-1) 3.1 配置其他主机(被node-1管理的节点服务器&…

spring常见问题汇总

1. 什么是spring? Spring是一个轻量级Java开发框架,最早有Rod Johnson创建,目的是为了解决企业级应用开发的业务 逻辑层和其他各层的耦合问题。它是一个分层的JavaSE/JavaEE full-stack(一站式)轻量级开源框架, 为开…