iptables命令

 

PREROUTING   你找谁?我推荐你去找xxx
数据包进行路由决策前应用的规则,一般用于改变数据包的目标地址,不让别人知道我找的是谁
INPUT 来了老弟 数据包经过路由决策后,进入到本机处理时应用的规则,一般用于本机进程处理的数据包
OUTPUT 走了老弟 新建数据包经路由决策后,从本机输出时应用的规则,一般用于本机处理后的数据包
FORWARD 来去匆匆 数据包经过路由决策后,本机不做处理,仅仅是转发数据包时应用的规则
POSTROUTING 去哪
?我给你指另一条路 数据包作从本机出去前,对数据包应用的规则,一般用于更改数据包的源地址信息,不让给别人知道我是谁

 

iptables五链的应用场景

 本机处理数据包:PREROUTING -> INPUT

本机转发数据包: PREROUTING  ->  EORWARD  ->  POSTROUTING

本机响应数据包:OUTPUT  ->  POSTROUTING

 

 

 

 

增删改查

查看信息
      -L                         列出所有链的规则,可以指定链
      -n                         将地址和端口以数字的形式展现
      -v                         显示更多信息
      --line-numbers       列出信息的时候,带编号 
      -S                         打印出所有规则
保存规则
      iptables-save > iptables_file
清除规则
      清除指定:
            iptables -D 链名 规则编号
       清除所有:
             -Z        计数器
             -X         自定义链的删除
             -F          所有链中的规则
恢复规则
      1、 iptables-restore
      2、 重启服务
更改规则
      -P   修改默认的链规则
      iptables  -P  链名  target动作
      target动作:
           ACCEPT        允许数据包通过
           DROP           禁止数据包通过
           REJECT         拒绝数据包通过

 规则实践

增加规则
     追加方式:
           iptables-A 链名[匹配条件] [参数]
           iptables -A INPUT -s 192.168.8.15 -j DROP
      插入方式:
            iptables-I 链名 规则编号[匹配条件] [参数]
            iptables -I INPUT -s 192.168.8.15 -j DROP
            iptables -I INPUT 2 -s 192.168.8.18 -j ACCEPT
删除规则
      -D 链名 编号 | 匹配条件
       iptables -D INPUT 2
       iptables -D INPUT -s 192.168.8.15 -j DROP
更改规则
      -R 链名 编号 [匹配条件] [参数]
      iptables -R INPUT 1 -s 192.168.8.15 -j DROP
      iptables -R INPUT 1 -s 192.168.8.15 -j ACCEPT

 链操作

创建自定义链    iptables -N local-test

修改自定义链名    iptables -E local-test test-local

清除自定义链      iptables -X test-local

表基础

五表简介
      作用:将不同的链组合在一起实现不同业务场景下的功能,它是由netfilter模块在内存中维护的几个空间
五表详解
      security表  mac
      filter表    数据包过滤(默认的,最重要的)
      nat表       网络地址转换
      mangle表    数据包拆修封,自定义
      raw表       特殊的nat表

表信息查看: iptables  -t  表名   -nvL

表链关系

security input、output、forward
filter 过滤表 input、output、forward
nat 转换表 postrouting、prerouting、input、output
mangle 封装表 input、output、forward、prerouting、postrouting
raw 自定义表 postrouting、output

进阶

多目标匹配

    iptables -A  INPUT  -s  192.168.1.10,192.168.1.11  -j  REJECT

取反

     iptables -A  INPUT  !  -s  192.168.1.10  -j  REJECT      # 除了192.168.1.10,其他的源ip都接受

接口匹配

       -i   入口     INPUT、FORWARD、PREROUTING

       -o  出口     FORWARD、OUTPUT、POSTROUTING

端口匹配

      -m tcp --sport  --dport

      -m multiport  --sports  --dports  --ports

连续端口匹配

       iptables  -A  INPUT  -m  iprange  --src-range  192.168.10.14-192.168.10.20  -j  DROP

posted @ 2023-03-07 16:12  高佳丰  阅读(104)  评论(0编辑  收藏  举报