温馨提示×

Linux防火墙如何使用iptables

小樊
82
2025-02-17 15:44:16
栏目: 智能运维
Linux服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

iptables 是 Linux 系统中用于配置内核防火墙的一个命令行工具。它允许系统管理员定义规则,这些规则决定了数据包是否被接受、拒绝或丢弃。以下是一些基本的 iptables 使用方法:

  1. 查看规则

    • 查看所有链的规则:iptables -L
    • 查看特定链的规则:iptables -L INPUT(查看 INPUT 链的规则)
    • 查看特定链的规则并显示行号:iptables -L INPUT --line-numbers
  2. 清空规则

    • 清空所有链的规则:iptables -F
    • 清空特定链的规则:iptables -F INPUT
  3. 允许规则

    • 允许特定 IP 访问:iptables -A INPUT -s 192.168.1.100 -j ACCEPT
    • 允许特定端口(例如 SSH 端口 22):iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    • 允许已建立的连接:iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  4. 拒绝规则

    • 拒绝特定 IP 访问:iptables -A INPUT -s 192.168.1.100 -j DROP
    • 拒绝特定端口:iptables -A INPUT -p tcp --dport 22 -j DROP
  5. 保存规则

    • 保存规则到文件:iptables-save > /etc/iptables/rules.v4
    • 从文件恢复规则:iptables-restore < /etc/iptables/rules.v4
  6. 默认策略

    • 设置默认策略为拒绝所有流量:iptables -P INPUT DROP
    • 设置默认策略为接受所有流量:iptables -P INPUT ACCEPT
  7. 删除规则

    • 删除特定规则(需要行号):iptables -D INPUT 3
    • 删除特定规则(根据规则内容):iptables -D INPUT -s 192.168.1.100 -j DROP
  8. 插入规则

    • 在特定位置插入规则(需要行号):iptables -I INPUT 1 -s 192.168.1.100 -j ACCEPT
  9. 修改规则

    • 修改特定规则(需要行号):iptables -R INPUT 3 -s 192.168.1.100 -j DROP

示例

假设你想允许来自特定 IP 地址的 SSH 连接,并拒绝所有其他 IP 地址的 SSH 连接,可以这样做:

# 允许特定 IP 的 SSH 连接
iptables -A INPUT -p tcp --dport 22 -s 192.168.1.100 -j ACCEPT

# 拒绝所有其他 IP 的 SSH 连接
iptables -A INPUT -p tcp --dport 22 -j DROP

注意事项

  • 修改 iptables 规则时要小心,错误的规则可能导致系统无法访问。
  • 在生产环境中,建议先在测试环境中验证规则的正确性。
  • 使用 iptables 时,最好使用 -I-D 选项来插入和删除规则,而不是 -A-R,以避免意外覆盖现有规则。

通过这些基本命令,你可以开始配置和管理 Linux 系统的防火墙规则。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:如何使用iptables建立Linux防火墙规则

0