在Linux系统中,为了提高安全性,通常需要限定只有指定的IP地址才能访问系统。这可以防止未经授权的访问和攻击。以下介绍如何在Linux中实现仅允许指定IP访问。
启用防火墙
首先,需要启用系统防火墙。在CentOS/RHEL系统中,使用以下命令:
sudo systemctl start firewalld
sudo systemctl enable firewalld
在Ubuntu/Debian系统中,使用以下命令:
sudo ufw enable
创建防火墙规则
接下来,需要创建防火墙规则来允许指定IP地址访问系统。使用以下命令:
sudo firewall-cmd --zone=public --add-rich-rule="rule family=ipv4 source address=192.168.1.10 accept"
其中, 192.168.1.10 是允许访问的IP地址。可以根据需要添加多条规则,允许不同的IP地址访问。
对于Ubuntu/Debian系统,使用以下命令:
sudo ufw allow from 192.168.1.10
默认策略
默认情况下,防火墙会阻止所有传入的流量。因此,需要设置默认策略为允许已建立的连接,即允许已经建立连接的IP地址继续访问系统。在CentOS/RHEL系统中,使用以下命令:
sudo firewall-cmd --zone=public --set-default-forward-policy=ACCEPT
在Ubuntu/Debian系统中,使用以下命令:
sudo ufw default allow outgoing
sudo ufw default deny incoming
保存和重载
最后,保存和重载防火墙规则以使更改生效。在CentOS/RHEL系统中,使用以下命令:
sudo firewall-cmd --reload
在Ubuntu/Debian系统中,使用以下命令:
sudo ufw reload
测试
完成以上设置后,可以使用以下命令测试:
ping 192.168.1.10
如果允许访问,应该会得到回复。对于不允许访问的IP地址,则会收到超时或拒绝访问的提示。