centos

centos iptables如何拒绝外部访问

小樊
51
2025-08-30 15:08:44
栏目: 智能运维

在CentOS系统中,使用iptables来拒绝外部访问可以通过添加相应的规则来实现。以下是一些基本的步骤和示例,用于配置iptables以拒绝外部对特定端口或服务的访问。

1. 查看当前的iptables规则

首先,你可以查看当前的iptables规则,以便了解现有的配置:

sudo iptables -L -n -v

2. 拒绝所有外部访问

如果你想完全拒绝所有外部访问,可以使用以下命令:

sudo iptables -P INPUT DROP

这会将默认的INPUT链策略设置为DROP,从而拒绝所有传入的数据包。

3. 允许特定IP地址访问

如果你只想允许特定的IP地址访问你的服务器,可以使用以下命令:

sudo iptables -A INPUT -s <允许的IP地址> -j ACCEPT

例如,允许IP地址为192.168.1.100的访问:

sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

4. 拒绝特定端口的访问

如果你想拒绝外部对特定端口的访问,可以使用以下命令:

sudo iptables -A INPUT -p tcp --dport <端口号> -j DROP

例如,拒绝外部对端口80(HTTP)的访问:

sudo iptables -A INPUT -p tcp --dport 80 -j DROP

5. 拒绝特定服务的访问

如果你想拒绝外部对特定服务的访问,可以使用以下命令:

sudo iptables -A INPUT -p <协议> --dport <端口号> -j DROP

例如,拒绝外部对SSH服务(默认端口22)的访问:

sudo iptables -A INPUT -p tcp --dport 22 -j DROP

6. 保存iptables规则

在CentOS 7及以上版本中,iptables规则默认不会保存到重启后仍然有效。你可以使用以下命令来保存规则:

sudo systemctl restart iptables

或者使用firewall-cmd命令(如果你使用的是firewalld):

sudo firewall-cmd --runtime-to-permanent

7. 恢复默认规则

如果你想恢复默认的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 ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

请注意,修改iptables规则时要非常小心,因为错误的配置可能会导致服务器无法访问。建议在修改规则之前备份当前的iptables配置,并在测试环境中验证新规则的效果。

0
看了该问题的人还看了