Ubuntu
如何限制我的電腦連接到其他 ip 的能力
我在文本文件中有一個逗號分隔的 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