🧩iptables in linux
type
status
date
slug
summary
category
tags
icon
password
AI summary
Blocked by
Blocking
Category
iptables
是什么
Linux 系统中用于管理和操作网络包过滤规则的工具,是 Linux 内核中的 Netfilter 框架的用户态接口。它的主要作用是配置防火墙、网络地址转换(NAT)和流量控制规则,从而实现对进出网络的数据包进行监控和管理。
基本概念
- 三个主要的chains
- input:处理所有进入主机的流量
- output:处理所有主机发出的流量
- forward:处理所有经过主机发出的流量
- tables
- filter:根据数据包的IP地址、端口等信息来决定接受还是丢弃数据包,多用于防火墙规则配置
- nat:用于网络地址转换的转换规则,当包进入协议栈时,nat中的规则决定是否修改以及如何修改数据包的源、目的IP地址以及端口号信息,以及改变包被路由时的行为
- mangle:用于修改数据包的包头
- raw:允许用户根据
connection tracking表配置规则,比如忽略connection tracking中的有效信息
这里是 iptables 的基本流程:
- 包接收: 当一个包到达 Linux 系统时,系统会将其传递给
iptables。
- 规则匹配:
iptables将包与所有定义的规则进行比较。如果该包与某个规则相符,则会执行相应的动作。
- 动作执行: 根据规则的类型,
iptables可以执行以下动作用: ACCEPT:允许该包通过本机网络。DROP:拒绝该包,并将其丢弃。REJECT:将该包传回源IP(通常是接口的原始 IP)。LOG:记录相关信息并继续运行包。
- 规则链:
iptables有两个主要的规则链:INPUT和OUTPUT。其中,INPUT规则负责处理到达本机网络的包,而OUTPUT规则则负责从本机网络发出包。
常见参数
-A append,表示追加规则,追加到规则表的末尾-I insert,表示插入到链的指定位置,默认为最前面-D delete,表示删除-R replace,表示替换-X 选项可以快速删除不再需要的规则,这个命令可以应用于任何链,包括 INPUT, OUTPUT, FORWARD-Z 重制计数器-t表示选择表,摩恩为filter表- 设置协议
-p 指定协议,如tcp、udp、icmp、all等- 设置端口
—sport 指定源端口—dport 指定目标端口- 设置IP
-s 或 —source指定源IP-d 或 —destination指定目标IP- 设置网卡
-i或—in-interface 指定进入的网络接口-o或—out-interface 指定离开的网络接口- 设置匹配条件
-m state 用于匹配连接状态,如NEW、ESTABLISHED、RELATED、INVALID-m time 根据时间段匹配流量- 限流
—limit 限制每分钟的最大连接数—limit-burst 触发限制前允许的处罚突发流量- others
-f 或 —fragment匹配数据包片段—tcp-flags 匹配TCP标志,如SYN、ACKexample
ref
Prev
从0到1,利用kubevirt构建ubuntu虚拟机
Next
LVM
Loading...
