欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

61 iptables

程序员文章站 2022-05-28 12:34:59
...

netfilter:kernel

报文流向

流入本机

​ prerouting----input-----用户空间

流出本机

​ 用户空间-----output----postrouting

转发

​ prerouting—forward----postrouting

内置链:hook

​ prerouting 路由前

​ input 流入

​ forward 转发

​ output 转发

​ postrouting 路由后

4张表

​ filter: input,forward,output

​ mangle:prerouting,input,forward,output,postrouting

​ nat:prerouting,input,output,postrouting

​ raw:prerouting,output

优先级的高低:

 raw--mangle---nat--filter

规则:

匹配条件+动作

匹配条件

基本匹配

​ netfilter 自带的匹配机制

​ [!] -s 源地址匹配 !取反

扩展匹配:加载扩展模块

  • 隐式扩展

​ -p 指明协议

  • 显式扩展

​ --sports x:x,x,x,x

​ --dports x:x,x,x,x

iptables -I INPUT -s 0/0 -d 192.168.113.129 -p tcp -m multiport --dports 22,80 -j ACCEPT

​ iprange

​ 一段连续的ip地址范围

​ --src-range from to

​ --dst-range from to

iptables -A INPUT -d 192.168.113.129 -p tcp --dport 23  -m iprange --src-range 192.168.113.140-192.168.113.150 -j ACCEPT

动作

基本处理动作

扩展处理动作

自定义动作

链:

内置链:对应于一个函数

添加规则时的考量

1.实现功能

2.添加规则位置

========================================================

默认filter链:

链管理

​ -N 新增一条链

​ -X 删除

​ -P 设置链的默认策略

  • accept
  • drop
  • reject

iptables -L 查询规则

​ Chain INPUT (policy ACCEPT)

​ iptables -L -n

​ -vv 详细信息

​ --line-numbers

iptables -S 以iptables-save命令显示规则

-P INPUT ACCEPT

-P FORWARD ACCEPT

-P OUTPUT ACCEPT

规则管理

​ -A 追加

​ -I 插入

​ -D 删除

​ -R 替换

​ -F 清洗

​ -Z 清空计数器0

​ iptables计数器

​ 1.匹配规则的次数

​ 2.规则匹配到的包数量

 [[email protected] ~]# iptables -vnL 

num   pkts bytes target     prot opt in     out     source               destination         

1        0     0 ACCEPT     udp  --  virbr0 *       0.0.0.0/0            0.0.0.0/0            udp dpt:53

-S 显示所有链上的规则

iptables-save 保存

iptables-restore  恢复

​ 匹配:

​     1.fileter链

​      iptables -P INPUT DROP  拒绝所有进战

​      iptables -P OUTPUT DROP 拒绝所有出战

​      iptables -P FORWARD DROP

​      iptables -F 清除所有规则

[[email protected] ~]# iptables -nvL

Chain INPUT (policy DROP 2 packets, 214 bytes)

pkts bytes target prot opt in out source destination

59 6497 ACCEPT all – * * 192.168.113.0/24 0.0.0.0/0

限制流入接口

-i 只能用于prerouting forward output

限制流出接口

-o 只能用于forward output postrouting

TCP

  iptables -A INPUT  -s 192.168.113.0/24 -p tcp -j ACCEPT

关键命令

命令参数都是大写 选项参数是小写

-A 新增

-S 显示命令格式


    [[email protected] ~]# iptables -S
    -P INPUT ACCEPT
    -P FORWARD ACCEPT
    -P OUTPUT ACCEPT
    -A INPUT -s 192.168.113.1/32 -j ACCEPT
    -A INPUT -s 192.168.113.161/32 -j REJECT --reject-with icmp-port-unreachable

-s源地址

-d目的地址

-p协议

-j动作

​ ACCEPT,DROP,REJECT

-i流入接口

-o流出接口

-sport 源端口

-dport 目的端口

SNAT

DNAT

 iptables -A  INPUT -s 0/0 -d 192.168.113.129 -p tcp --dport 22 -j ACCEPT

iptables -A OUTPUT -s 192.168.113.129 -d 0/0 -p tcp --sport 22 -j ACCEPT

iptables -A  INPUT -s 0/0 -d 192.168.113.129 -p tcp --dport 80 -j ACCEPT

iptables -A OUTPUT -s 192.168.113.129 -d 0/0 -p tcp --sport 80 -j ACCEPT

iptables -A INPUT  -s 192.168.113.0/24 -j ACCEPT  #源地址匹配

iptables -A OUTPUT -d 192.168.0.0/16 -j ACCEPT    #目的地址匹配

新增:
iptables -A INPUT -s 192.168.113.1/32 -j ACCEPT
iptables -A INPUT -j REJECT
插入:
iptables -I INPUT 2 -s 192.168.113.141 -j accept

iptables -I INPUT 3 -s 192.168.113.161 -p tcp --dport 22 -j ACCEPT
相关标签: iptables