如何限制我的电脑连接其他IP的能力

如何限制我的电脑连接其他IP的能力

我在文本文件中有一个以逗号分隔的 IP 地址列表,如下所示:

192.xxx.xxx.xxx,213.www.www.www,255.yyy.yyy.yyy

我可以阻止 Ubuntu 19 连接到这些 IP 地址吗?如果是,如何?

答案1

首先,数据包过滤器(例如 Linux iptables)无法通过主机名或域阻止或允许流量。数据包过滤器仅识别 IP 地址。

其次,FirewallD 无法过滤出站流量,除非您破解它。因此你必须简单地使用 iptables。

您必须首先将列表中包含的所有主机名解析为 IP 地址。如果您有数百或数千个主机名需要解析,则可以使用此工具: http://domaintoipconverter.com/index.php

然后将IP地址列表保存到文件中(例如list.txt)

$ cat list.txt
10.20.20.2
8.8.8.8
1.1.1.1
1.2.3.4
8.8.4.4

然后使用简单的脚本将 IP 地址添加到防火墙规则中

红帽/CentOS

#!/bin/bash
# Stop and disable firewalld
systemctl stop firewalld
systemctl disable firewalld
yum clean all
yum install iptables-services -y
systemctl enable iptables
systemctl start iptables
# For loop statement that will read and add all the IPs from the list to firewall rule. 
for i in $(cat list.txt);
do 
iptables -A OUTPUT -d "$i" -j DROP
done
# Save the rules
service iptables save

Debian/Ubuntu

#!/bin/bash
apt-get update
apt install  iptables-persistent -y
# For loop statement that will read and add all the IPs from the list to firewall rule. 
for i in $(cat list.txt);
do 
iptables -A OUTPUT -d "$i" -j DROP
done
# Save the rules
netfilter-persistent save
netfilter-persistent reload

验证更改:

$ iptables -L

相关内容