温馨提示×

Linux防火墙怎样限制外部访问

小樊
37
2025-11-14 20:14:06
栏目: 智能运维

在Linux系统中,可以使用iptables或firewalld来限制外部访问。这里分别介绍这两种方法:

  1. 使用iptables限制外部访问:

iptables是Linux系统中的一个命令行工具,用于配置内核防火墙。以下是一些基本的iptables规则,用于限制外部访问:

  • 阻止所有外部访问:
sudo iptables -P INPUT DROP
  • 允许已建立的连接和相关的数据包通过:
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  • 允许SSH访问(假设SSH端口为22):
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  • 允许HTTP和HTTPS访问(假设HTTP端口为80,HTTPS端口为443):
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
  • 保存iptables规则:
sudo iptables-save > /etc/iptables/rules.v4

注意:不同的Linux发行版可能使用不同的iptables配置文件路径,请根据实际情况进行调整。

  1. 使用firewalld限制外部访问:

firewalld是另一个用于配置Linux防火墙的命令行工具,它提供了一个动态管理防火墙的方式。以下是一些基本的firewalld规则,用于限制外部访问:

  • 阻止所有外部访问:
sudo firewall-cmd --permanent --set-default-zone=drop
  • 允许已建立的连接和相关的数据包通过:
sudo firewall-cmd --permanent --zone=trusted --add-interface=lo
  • 允许SSH访问(假设SSH端口为22):
sudo firewall-cmd --permanent --zone=public --add-service=ssh --permanent
  • 允许HTTP和HTTPS访问(假设HTTP端口为80,HTTPS端口为443):
sudo firewall-cmd --permanent --zone=public --add-service=http --permanent
sudo firewall-cmd --permanent --zone=public --add-service=https --permanent
  • 重新加载firewalld配置:
sudo firewall-cmd --reload

注意:不同的Linux发行版可能使用不同的firewalld配置文件路径,请根据实际情况进行调整。

以上两种方法都可以实现限制外部访问的目的,具体选择哪种方法取决于你的需求和Linux发行版。

0