Linux iptables命令详解(如何在Linux中开启iptables防火墙?)

iptables 是 Linux 系统中用于配置和管理防火墙规则的命令行工具。它基于 Netfilter 框架,允许你在不同阶段的数据包处理过程中定义规则,以控制网络通信。

以下是 iptables 命令的一些常用选项和示例:

  1. 查看当前防火墙规则:
iptables -L -n -v

-L 选项表示列出所有规则,-n 表示以数字格式显示 IP 地址和端口,-v 表示显示详细信息。

  1. 添加新规则:
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

-A 选项表示追加规则,INPUT 是要添加规则的链(链有 INPUT、OUTPUT、FORWARD 等),-p tcp 表示指定协议为 TCP,--dport 22 表示目标端口为 22(SSH),-j ACCEPT 表示采取的动作为允许(其他动作还有 DROP、REJECT 等)。

  1. 插入规则:
iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT

-I 选项表示插入规则,1 表示插入的位置(在 INPUT 链的第一个位置插入规则),其他参数与添加新规则类似。

  1. 删除规则:
iptables -D INPUT -p tcp --dport 22 -j ACCEPT

-D 选项表示删除规则,后面的参数指定要删除的规则(与添加新规则类似)。

  1. 清空所有规则:
iptables -F

-F 选项表示清空所有规则。谨慎使用此选项,以免意外关闭重要的网络服务。

  1. 保存当前防火墙规则:

不同的 Linux 发行版有不同的方法来保存 iptables 规则。在基于 Debian 的系统中(如 Ubuntu),可以使用 iptables-persistent 包来保存规则:

sudo apt install iptables-persistent
sudo iptables-save > /etc/iptables/rules.v4

在基于 RHEL 的系统中(如 CentOS),可以使用以下命令来保存规则:

service iptables save
  1. 重启 iptables 服务:

重启 iptables 服务可使新规则生效。在基于 Debian 的系统中,可以使用以下命令:

sudo systemctl restart netfilter-persistent

在基于 RHEL 的系统中,可以使用以下命令:

service iptables restart
阅读剩余
THE END