IPTABLES基本操作

本文详细解读了iptables的各类链路操作,包括数据包的进入、转发和离开,以及针对不同情况的过滤、NAT转换和标记等操作。重点讲解了规则添加、删除和修改,以及如何实现如IP映射、端口重定向等网络配置。
摘要由CSDN通过智能技术生成

本机可以处理的三类数据包
进入本机的:PREROUTING - INPUT
经过本机转发的:PREROUTING - FORWARD - POSTROUTING
由本机发出的:OUTPUT - POSTROUTING

进入本机 流量->prerouting->input判断路由选择是否本机->是本机发送给对应的应用程序
经过本机转发的 非本机->FORWARD->POSTROUTING 出站

由本机发出的 应用程序:->OUTPUT->POSTROUTING 出站

目标动作:
filter:
-j DROP 丢弃
-j ACCEPT 放行
-j REJECT
NAT:
-j SNAT 源地址转换 ,一般用于内部用户上网
-j MASQRADE 源地址伪装
-j DNAT 目标地址转换 ,将内网的服务器对外提供服务
-j REDIRECT 端口重定向 只修改端口 -A PREROUTING -p tcp --dport 8080 -j REDIRECT --to-port 80 不需要提前开启端口

ip+端口映射

禁ping A通B&&B不通A

mangel:
-j MARK 标记数据包

条件: !-p 取反
协议 -p : tcp udp icmp
地址 -s : 192.168.10.11 192.168.10.0/24 -d 目标地址
网卡 -i : -i 网卡名称 从指定网卡进来的数据包 -o 网卡名称 从指定网卡出去的数据包

扩展条件:
-m tcp --dport 目标端口 80 , 88:90 表示多个端口
-m tcp --sport 源端口

state:-m state --state ESTABLISHED -m muliport -dport 80:90,443

iptables语法:
查看:
iptables -nL (详细查看) 没有接就是默认filter表
iptables -t 表名(raw mangle nat filter) -nL
iptables -t filter -S 显示语法类型查询
iptables -t filter -S {链名input forward output}

增:
iptables -t 表名 -A 链名 匹配条件 -j 目标动作
iptables -A INPUT -s 192.168.10.11 -j DROP(吊着人家)/REJECT(明确表明拒绝)
iptables -t 表名 -I 链名 插入位置{数字}(默认为1) 匹配条件 -j 目标动作
iptables -I INPUT 3 -s 192.168.10.13 -j DROP

iptables -A INPUT -s 192.168.10.1 -j ACCEPT
iptables -t filter -A INPUT -p icmp -s 192.168.10.12 -j DROP
iptables -t filter -R input 1 -s 192.168.10.12 -j REJECT

删除:
删除一条
iptables -t 表名 -D 链名 [序号]
iptables -D INPUT 3
iptables -t 表明 -D 链名
iptables -D INPUT -s 192.168.10.11 -j DROP
清空:无法清空默认的规则
iptables -t 表名 -F 不加链名清空此表所有内容 加链名清空此链所有内容

改:
iptables -t 表明 -R链名 [序号] 匹配条件 -j 目标动作
iptables -A INPUT -s 192.168.10.11 -j drop
iptables -R INPUT 1 -d 192.168.10.11 -j drop

修改默认 iptables -t filter -P INPUT DROP 将进入本机的所有包全部丢弃

iptables是一个用于管理Linux系统上防火墙规则的工具。它允许你配置和管理网络流量的过滤、网络地址转换(NAT)和端口转发等规则。 iptables规则由一系列规则集合组成,这些规则定义了如何处理进出系统的网络数据包。每个规则都包含一个匹配条件和一个操作动作。 基本的iptables规则可以分为以下几个部分: 1. 链(Chain):链是规则的容器,它指定了要执行规则的位置。常见的链包括INPUT(用于处理进入系统的数据包)、OUTPUT(用于处理从系统发出的数据包)和FORWARD(用于处理通过系统转发的数据包)。 2. 表(Table):表定义了要应用规则的上下文环境。常见的表包括filter表(用于过滤数据包)、nat表(用于地址转换)和mangle表(用于修改数据包头部信息)。 3. 匹配条件(Match):匹配条件用于指定要匹配的数据包特征。例如,你可以使用源IP地址、目标端口或协议类型等作为匹配条件。 4. 动作(Action):动作定义了符合匹配条件的数据包应该如何处理。常见的动作包括ACCEPT(接受数据包)、DROP(丢弃数据包)和REJECT(拒绝数据包并发送错误消息)。 下面是一个基本的iptables规则示例: ``` iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -j DROP ``` 这些规则的含义是: 1. 接受来自192.168.1.0/24网段的TCP流量,并且目标端口为22; 2. 接受所有TCP流量,并且目标端口为80; 3. 丢弃所有其他进入系统的数据包。 请注意,这只是一个简单示例,实际使用时需要根据具体需求和网络环境进行适当配置。还有许多其他选项和参数可以用于更精细地控制和管理规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值