总结:
iptables 的关键概念和功能:
规则(Rules):
-
iptables 使用规则来定义特定的操作,例如允许或拒绝特定类型的网络流量。每条规则都由条件和操作组成。条件可以是源 IP 地址、目标 IP 地址、端口号等,操作可以是允许、拒绝或修改数据包。
表(Tables):
-
iptables 包含多个表,每个表用于处理特定类型的数据包。常用的表包括:
- filter 表: 用于过滤数据包,实现基本的包过滤功能,如允许或拒绝特定端口的数据包。
- nat 表: 用于网络地址转换(NAT),实现在不同网络之间进行数据包转发和地址转换。
- mangle 表: 用于修改数据包的特定字段,如修改 TOS、TTL 等。
- raw 表: 用于禁用连接跟踪机制,通常用于某些特殊场景下的数据包处理。
-
链(Chains): 每个表包含多个链,链是一系列规则的集合,用于处理数据包。常用的链包括:
- INPUT 链: 处理进入系统的数据包。
- OUTPUT 链: 处理离开系统的数据包。
- FORWARD 链: 处理通过系统转发的数据包。
- PREROUTING 链: 在路由之前处理数据包,适用于 NAT。
- POSTROUTING 链: 在路由之后处理数据包,适用于 NAT。
-
匹配(Matching): 每个规则都包含一个或多个匹配条件,用于确定是否对数据包执行操作。匹配条件可以包括源 IP 地址、目标 IP 地址、协议、端口等。
-
动作(Actions): 规则匹配后,根据定义的操作来处理数据包。常见的动作包括 ACCEPT(允许通过)、DROP(丢弃数据包)和REJECT(拒绝数据包并发送拒绝消息)。
查看规则和状态:
查看当前的 iptables 规则和状态:
iptables -L
iptables -L -n # 显示数字格式的 IP 地址而不是域名
iptables -L -v # 显示详细信息
添加规则:
添加一条允许 SSH(端口 22)流量的规则:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
添加一条拒绝 ICMP 回应的规则:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
删除规则:
删除某一条规则,可以使用 -D
参数加上规则编号(在列表中显示的编号):
iptables -D INPUT 2 # 删除 INPUT 链中的第二条规则
保存和加载规则:
保存当前的 iptables 规则到文件中:
iptables-save > /etc/iptables/rules.v4
加载之前保存的规则文件:
iptables-restore < /etc/iptables/rules.v4
清空规则:
清空所有规则,但保留默认策略:
iptables -F
清空所有规则和默认策略:文章来源:https://www.toymoban.com/news/detail-655218.html
iptables -F
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
设置默认策略:
设置默认策略为拒绝所有输入流量:文章来源地址https://www.toymoban.com/news/detail-655218.html
iptables -P INPUT DROP
到了这里,关于网络安全--iptables的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!