【DevOps】Linux 安全:iptables 组成、命令及应用场景详解
warning:
这篇文章距离上次修改已过202天,其中的内容可能已经有所变动。
Iptables是Linux系统中用于管理网络规则的工具,它可以用于创建防火墙和其他网络规则。以下是Iptables的基本组成和常用命令:
- Tables:
- filter: 默认表,用于防火墙规则。
- nat: 用于网络地址转换。
- mangle: 用于修改数据包的元数据。
- raw: 用于确定数据包是否被链接跟踪机制处理。
- Chains:
- INPUT: 处理进入的数据包。
- OUTPUT: 处理出去的数据包。
- FORWARD: 处理转发的数据包。
- PREROUTING: 路由之前,用于NAT。
- POSTROUTING: 路由之后,用于NAT。
- 常用命令:
iptables -L
: 列出所有规则。iptables -F
: 清除所有规则。iptables -A
: 添加规则到链的末尾。iptables -I
: 插入规则到指定位置。iptables -D
: 删除规则。iptables -R
: 替换指定位置的规则。iptables -S
: 以脚本格式列出规则。
应用场景:
- 网络隔离:可以设置允许或拒绝特定IP的访问。
- 流量控制:可以限制进入网络的数据流量。
- 访问控制:控制哪些服务可以被访问。
- 安全审计:跟踪网络上的活动以进行审计。
示例代码:
# 允许所有传入的ping请求
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
# 拒绝来自192.168.1.10的主机的SSH连接
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.10 -j DROP
# 将所有到达本机22端口的数据转发到另一个IP的2222端口
iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222
评论已关闭