iptables 设置样例
封面图
•
2025-12-01
•
Linux
200
0
0
0
`iptables` 是 Linux 系统中用于配置 IPv4 防火墙规则的工具,它可以用来过滤、转发或修改数据包。下面是一个常见的 `iptables` 设置样例,包括基本的入站、出站和转发规则。 --- ## 📌 示例:基本防火墙设置 ### 1. **清空现有规则(可选)** ```bash iptables -F iptables -X iptables -Z ``` > 注意:这会清除所有现有的规则,建议在测试环境中使用。 --- ### 2. **允许本地回环接口(lo)流量** ```bash iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT ``` --- ### 3. **允许已建立的连接(如响应外部请求)** ```bash iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT ``` --- ### 4. **拒绝所有入站流量(默认策略)** ```bash iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT ``` > 这里我们允许出站流量,但阻止所有入站流量(除了上面定义的例外)。 --- ### 5. **允许 SSH 入站(端口 22)** ```bash iptables -A INPUT -p tcp --dport 22 -j ACCEPT ``` --- ### 6. **允许 HTTP 入站(端口 80)** ```bash iptables -A INPUT -p tcp --dport 80 -j ACCEPT ``` --- ### 7. **允许 HTTPS 入站(端口 443)** ```bash iptables -A INPUT -p tcp --dport 443 -j ACCEPT ``` --- ### 8. **允许特定 IP 的入站访问(例如 192.168.1.100)** ```bash iptables -A INPUT -s 192.168.1.100 -j ACCEPT ``` --- ### 9. **记录被丢弃的数据包(可选)** ```bash iptables -A INPUT -j LOG --log-prefix "iptables_DROP: " ``` --- ## ✅ 保存规则(不同系统方式不同) ### Debian/Ubuntu: ```bash sudo iptables-save > /etc/iptables/rules.v4 ``` ### CentOS/RHEL: ```bash sudo service iptables save ``` 或者: ```bash sudo iptables-save > /etc/sysconfig/iptables ``` --- ## 🧩 常用命令说明 | 命令 | 说明 | |------|------| | `-A` | 添加规则到链末尾 | | `-I` | 插入规则到链开头 | | `-D` | 删除规则 | | `-L` | 列出规则 | | `-F` | 清空规则 | | `-P` | 设置链的默认策略 | | `-m state` | 使用状态匹配模块 | | `--dport` | 指定目标端口 | | `-j` | 指定跳转动作(ACCEPT/DROP/REJECT) | --- ## 📝 注意事项 - `iptables` 不是持久化的,重启后规则会丢失。 - 如果你使用的是 `nftables` 或 `firewalld`,请使用相应的工具。 - 在生产环境中,建议结合 `iptables-persistent` 或 `netfilter-persistent` 来保存规则。 --- 如果你有具体的使用场景(比如 Web 服务器、SSH 访问限制等),我可以帮你定制更详细的规则。需要吗?
上一篇:
体寒的人吃什么食物好?
下一篇:
怎么清洗细口脏瓶子?
标题录入,一次不能超过6条
留言
评论