温馨提示×

linux防火墙怎么配置白名单

小亿
82
2024-09-03 18:28:54
栏目: 智能运维

在Linux中,可以使用iptables或firewalld来配置防火墙

  1. 使用iptables配置白名单:

首先,确保你的系统已经安装了iptables。然后,按照以下步骤操作:

a. 创建一个新的iptables规则文件,例如/etc/iptables/rules.v4。在这个文件中,添加以下内容:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp --dport 22 -s YOUR_WHITELISTED_IP -j ACCEPT
-A INPUT -p tcp --dport 80 -s YOUR_WHITELISTED_IP -j ACCEPT
-A INPUT -p tcp --dport 443 -s YOUR_WHITELISTED_IP -j ACCEPT
COMMIT

YOUR_WHITELISTED_IP替换为你想要允许访问的IP地址。

b. 保存文件并重启iptables服务:

sudo systemctl restart iptables
  1. 使用firewalld配置白名单:

首先,确保你的系统已经安装了firewalld。然后,按照以下步骤操作:

a. 创建一个新的firewalld区域,例如whitelist

sudo firewall-cmd --permanent --new-zone=whitelist

b. 将你想要允许访问的IP地址添加到新创建的区域:

sudo firewall-cmd --permanent --zone=whitelist --add-source=YOUR_WHITELISTED_IP

YOUR_WHITELISTED_IP替换为你想要允许访问的IP地址。

c. 将所需的服务添加到新创建的区域:

sudo firewall-cmd --permanent --zone=whitelist --add-service=ssh
sudo firewall-cmd --permanent --zone=whitelist --add-service=http
sudo firewall-cmd --permanent --zone=whitelist --add-service=https

d. 将新创建的区域应用于公共接口(例如,eth0):

sudo firewall-cmd --permanent --zone=whitelist --change-interface=eth0

eth0替换为你的公共网络接口名称。

e. 重新加载firewalld配置:

sudo firewall-cmd --reload

现在,只有指定的IP地址才能访问SSH、HTTP和HTTPS服务。其他IP地址将被阻止。

0