Ubuntu

如何限制我的電腦連接到其他 ip 的能力

  • November 2, 2019

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

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

我可以阻止我的 Ubuntu 19 連接到這些 IP 地址嗎?如果是,如何?

首先,包過濾器(如 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

引用自:https://unix.stackexchange.com/questions/545486