linux 网络管理之iptables命令详解

用途

iptables是Linux上常用的防火墙软件,

工作流程

当前主机的数据包按流向可分为三种方式:

  • 流入本机
  • 流出本机
  • 路过本机

iptables 会对数据包进行过滤,所以会对请求数据包的包头进行解析,并按照指定的规则进行匹配决定是否允许该数据包进入主机,其过滤规则

用法
iptable 有四表五链的说法

五链是处理数据包的位置,四表则是处理数据包的策略

四表 作用 关联的五链
Filter 负责数据包过滤 INPUT、OUTPUT、FORWARD
NAT 负责网络地址转换(IP和端口) PREROUTING、OUTPUT、POSTROUTING
Mangle 负责修改数据包内容,包括数据包的服务类型,TTL、 PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD
Raw 负责跟踪数据包 PREROUTING、OUTPUT
五链 名称 应用时机 关联的表
PREROUTING链 路由前 主机外报文进入位置,所有进来的数据包都应用此链策略(所有进来的数据报文都需要由此链处理) Mangle, NAT
INPUT链 输入 进来的数据报文应用此链策略 Filter, Mangle
OUTPUT链 输出 出去的数据报文应用此链策略 Filter, Mangle, NAT
FORWARD链 转发 转发数据包时应用此链策略 Filter, Mangle
POSTROUTING链 路由后 对数据报文做出路由选择转发出去应用此链策略,(所有的数据报文出去的时候都需要由此链处理) Mangle,NAT

网上很多介绍iptables的博客都附上了经典”四表五链”流程图,我也加上一张。。。

功能选项
用法示例

1、拒绝某个IP访问

iptables -I INPUT -s 192.168.190.113 -j DROP


2、拒绝访问某个IP

iptables -A OUTPUT  -d 192.168.190.130 -j DROP

遇到的问题

现象1:CHAIN_USER_DEL failed (Device or resource busy): chain LIBVIRT_INP
操作:

# iptables -D INPUT 1

posted @ 2022-08-05 10:26  枫叶艾辰  阅读(489)  评论(0编辑  收藏  举报