linux网络防火墙

netfilter :内核中的框架,过滤框架,网络过滤器!

iptables  :实现数据过滤、net、mangle等规则生成的工具

防火墙:硬件、软件、规则(匹配规则、处理办法)

/proc/sys/net/ipv4/ip_forward :转发数据报文

根据目标ip完成路由决策

hook :钩子函数(四表五链)

PREROUTING  :在路由决策之前

INPUT  :进入本机

OUTPUT  :本机出去

FORWARD  :本机转发

POSTROUTING  :在决策之后,就要离开本机

规则链:一个钩子上放着多条规则

filter(过滤):表

INPUT

OUTPUT

FORWARD

nat(地址转换):表

PREROUTING

OUTPUT

POSTROUTING

mangle (把报文拆开做了修改,再缝上):表

PREROUTING

INPUT

OUTPUT

POSTROUTING

FORWARD

raw(原始转状态):表

OUTPUT

PREROUTING

可以使用自定义链,它只能在被调用时才能发挥作用,而且如果没有自定义链中的任何匹配规则,还应该有返回机制。

用户可以删除自定义的空链,默认链无法删除。

每个规则都有两个内置的计数器

被匹配的报文个数

被匹配的报文大小之和

规则:匹配标准、处理动作

格式:iptables   -t 指定表名  子命令   操作链  [第几条规则]   匹配标准  -j  处理办法

匹配标准

通用匹配 :自身能够完成检查

-s :    指定源地址

-d :   制定目标地址

-p  [tcp|udp|icmp]  :指定协议

-i  网络接口   :指定数据报文流入的接口

可用于定义标准的链:PEREOUTING          INPUT   FORWARD

-o  网络接口   :指定数据报文流出的接口

可用以定义标准的链:OUTPUT   POSTROUTING    FORWARD

扩展匹配:依赖于模块才能完成的检查

端口,状态是请求报文或者是响应报文

iptables -A OUTPUT  -s 192.168.2.128  -p tcp --sport 22 -m state --state  ESTABLISHED  -j ACCEPT

设置防护墙出站规则只允许源地址是192.168.2.128的tcp链接,而且连接的是22端口,状态是响应报文

查看防火墙连接状态:ipstate

iptstate需要两个东西的支持,一个是ncurses库,一个是libnetfilter_conntrack 的支持,如果没有这两个东西,是运行不了的。

格式:  ..... -m state   --state  状态类型,状态类型   -j 处理办法

处理办法

-j  :跳转

ACCEPT    允许

DROP     直接丢弃数据包,不作任何回应信息

REJECT    拒绝数据包通过,必要时会给数据发送端回一个响应信息

LOG      记录日志

语法格式: iptables  -t  表名   command   CHAIN  [那条规则]  匹配标准  -j  处理办法

命令

管理规则

-A :附加一条规则,添加在链的尾部

-I  CHAIN  [数字]  :插入一条规则,插入在对应的CHAIN上的第几条

-D  CHAIN  [数字]  :删除指定链中第几条规则

-R  CHAIN  [数字]  :替换指定的规则

管理链

-F [CHAIN] :用于清空指定规则链,若省略CHAIN则实现删除对应表中的所有链

-P  CHAIN :设定指定链的默认策略

-N :自定义一个新的空链

-X :删除一个自定义的空链

-Z :置零指定链中所有规则的计数器

-E :重命名自定义的链

查看类的命令

-L :显示指定表中的规定

-n :以数字格式显示主机地址和端口号

-v :显示链及规则详细信息

-x :显示计数器的精确值

--line-numbers :显示规则号码

处理动作类的命令(target)

ACCEPT    允许

DROP     丢弃

REJECT    拒绝

DNET     目标地址转换

SNET     源地址转换

REDIREC  端口重定向

MASQUERADE  地址伪装,实现原地址转换

LOG      记录日志

MARK     给报文打一个标记

iptables 不是服务,但有服务脚本,服务脚本的主要作用在于管理保存的规则。

lsmod  :查看内核模块

lsmod| grep ip :查看iptables有关的的模块

ping类型:

0  回显应答,ping应答,响应报文

8  回显请求,ping请求,请求报文

保存规则

当防火墙重启的时候,他会清空每个表中的链,重启完之后不会有任何的规则,

想要配置永久生效的防火墙规则,建立完一条规则,必须用一条命令service  iptables  save 进行保存,保存到/etc/sysconfig/iptables

iptables-save   >  /etc/sysconfig/iptables.112  把防火墙的规则保存在。。。

iptables -restore  < /etc/sysconfig/iptables.112  重启防火墙时选择读取那个防火墙规则

常用扩展模块:

-m  iprange  :指定ip范围

--src-range  ip-ip :匹配源的

--dst-range  ip-ip :匹配目标的

加!可以取反,除他之外的范围,不加叹号为这个范围内的

-m  limit  :连接数限定,

-j  LOG  处理动作记录日志

iptables  -N 链名  :创建一条空链

iptables  -I 主链名  -j  自定义链名   :把规则引用到主链上

NAT及其过滤功能:

DNAT:目标地址转换

SNAT:源地址转换(一定要在NAT表postrouting链中做)

-j  SNAT    地址转换

--to-source   IP地址 :转换为那一个地址作为源地址,也可以指定范围(IP地址-IP地址)

-j  DNAT

iptables  -t  nat  -A  PREROUTING  -i 接口  -d 公网接口  -p tcp  --dport 端口  -j DNAT  --to-destination  私有地址

DNAT :目标地址转换

SNAT : 源地址转换

让linux服务器带有路由功能,需要一个模块ip_forward,在/proc/sys/net/ipv4/ip_forward位置,设值为1。

编辑  /etc/sysctl.conf    改forward =1 然后保存,sysctl  -p 使其生效!

使用rpm包安装tcpdump抓包

使用格式:tcpdump   -i 接口   -nn  -X 协议

详解Linux操作系统的iptables原理及配置的更多相关文章

  1. 详解Linux下iptables中的DNAT与SNAT设置(转)

    详解Linux下iptables中的DNAT与SNAT设置 这篇文章主要介绍了Linux下iptables中的DNAT与SNAT设置,是Linux网络配置中的基础知识,需要的朋友可以参考下   原文连 ...

  2. [转帖]详解Linux系统inode原理--硬链接、软链接、innodb大小和划分等

    详解Linux系统inode原理--硬链接.软链接.innodb大小和划分等 原创 波波说运维 2019-07-17 00:03:00 https://www.toutiao.com/i6713116 ...

  3. 详解Linux操作系统的进程

    系统 计算机运行起来以后,就是由内核和运行在内核之上的众多进程来实现的(kernel+process) 内存分为 :    线性内存: 物理内存: 计算机的所有运行都只在内存和CPU中运行! 内核空间 ...

  4. 详解linux运维工程师入门级必备技能

    详解linux运维工程师入门级必备技能 | 浏览:659 | 更新:2013-12-24 23:23 | 标签:linux it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 ...

  5. 从苦逼到牛逼,详解Linux运维工程师的打怪升级之路

    做运维也快四年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感 ...

  6. 详解Linux运维工程师

    运维工程师是从一个呆逼进化为苦逼再成长为牛逼的过程,前提在于你要能忍能干能拼,还要具有敏锐的嗅觉感知前方潮流变化.如:今年大数据,人工智能比较火……(相对表示就是 Python 比较火) 之前写过运维 ...

  7. Linux进程上下文切换过程context_switch详解--Linux进程的管理与调度(二十一)

    1 前景回顾 1.1 Linux的调度器组成 2个调度器 可以用两种方法来激活调度 一种是直接的, 比如进程打算睡眠或出于其他原因放弃CPU 另一种是通过周期性的机制, 以固定的频率运行, 不时的检测 ...

  8. IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm(转载)

    IIS负载均衡-Application Request Route详解第二篇:创建与配置Server Farm 自从本系列发布之后,收到了很多的朋友的回复!非常感谢,同时很多朋友问到了一些问题,有些问 ...

  9. linux dmesg命令参数及用法详解(linux显示开机信息命令)

    linux dmesg命令参数及用法详解(linux显示开机信息命令) http://blog.csdn.net/zhongyhc/article/details/8909905 功能说明:显示开机信 ...

随机推荐

  1. MQ异步同步搜索引擎ElasticSearch数据踩坑

    业务背景 在大型网站中,为了减少DB压力.让数据更精准.速度更快,将读拆分出来采用搜索引擎来为DB分担读的压力,ElasticSearch就是目前市面上比较流行的搜索引擎,他的检索速度奇快.支持各种复 ...

  2. Educational Round 64 题解

    前言: 这场太难了……我一个紫名只打出两题……(虽说感觉的确发挥不够好) 一群蓝绿名的dalao好像只打了两题都能升分的样子…… 庆幸的是最后A出锅然后unr了>///< 写一波题解纪念这 ...

  3. ros ap 的无线中继

    https://wiki.mikrotik.com/wiki/Manual:Interface/Wireless#Repeater Wireless repeater will allow to re ...

  4. Golang(三)Goroutine原理

    前言 最近用到了一些 Golang 异步编程的地方,感觉 Golang 相对于其他语言(如 Java)对多线程编程的支持非常大,使用起来也非常方便.于是决定了解一下 Goroutine 的底层原理. ...

  5. Spring配置中<bean>的id和name属性

    在BeanFactory的配置中,<bean>是我们最常见的配置项,它有两个最常见的属性,即id和name,最近研究了一下,发现这两个属性还挺好玩的,特整理出来和大家一起分享. 1.id属 ...

  6. 3 Linux性能优化之 CPU上下文

  7. SpringBoot系列教程web篇Servlet 注册的四种姿势

    原文: 191122-SpringBoot系列教程web篇Servlet 注册的四种姿势 前面介绍了 java web 三要素中 filter 的使用指南与常见的易错事项,接下来我们来看一下 Serv ...

  8. maven-3.6.1

    1.下载 cd /opt/ wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.1/binaries/apache-m ...

  9. idea 全局内容搜索和替换

    在做项目时,有时会在整个项目里或指定文件夹下进行全局搜索和替换,这是一个很方便功能.使用方法如下: 一.全局搜索1.使用快捷键Ctrl+Shift+F打开搜索窗口,或者通过点击Edit–>Fin ...

  10. 拦截器配置类使用继承写法导致jackson的全局配置失效

    问题描述 项目中需要一个拦截器用于拦截请求,在没有请求中生成requestId.然后写了一个配置类,这个类继承了 WebMvcConfigurationSupport类,重写了addIntercept ...