温馨提示×

怎样设置iptables默认策略

小樊
35
2026-01-05 22:00:33
栏目: 编程语言

设置iptables的默认策略是一个重要的安全步骤,可以确保在未明确允许的情况下,所有未经授权的流量都会被拒绝。以下是设置iptables默认策略的步骤:

1. 清除现有规则

首先,清除现有的iptables规则,以确保没有冲突或遗留规则影响新的默认策略。

sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT

2. 设置默认策略

根据你的需求设置默认策略:

  • INPUT链:控制进入本机的数据包。
  • FORWARD链:控制经过本机转发的数据包。
  • OUTPUT链:控制从本机发出的数据包。
# 设置INPUT链的默认策略为DROP
sudo iptables -P INPUT DROP

# 设置FORWARD链的默认策略为DROP
sudo iptables -P FORWARD DROP

# 设置OUTPUT链的默认策略为ACCEPT
sudo iptables -P OUTPUT ACCEPT

3. 允许必要的流量

根据你的网络需求,允许必要的流量通过。例如,允许SSH连接、DNS查询等。

# 允许SSH连接(默认端口22)
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

# 允许DNS查询(默认端口53)
sudo iptables -A INPUT -p udp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT

# 允许已建立的连接和相关的数据包
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# 允许本地回环接口的流量
sudo iptables -A INPUT -i lo -j ACCEPT

4. 保存规则

为了确保重启后规则仍然有效,需要保存iptables规则。不同的Linux发行版可能有不同的方法来保存规则。

在Debian/Ubuntu上:

sudo iptables-save > /etc/iptables/rules.v4

在CentOS/RHEL上:

sudo service iptables save

或者

sudo yum install iptables-services
sudo systemctl enable iptables
sudo systemctl start iptables

5. 验证规则

最后,验证iptables规则是否正确设置。

sudo iptables -L -v -n

通过以上步骤,你可以设置iptables的默认策略,并确保只有必要的流量被允许通过,从而提高系统的安全性。

0