Angenommen, eine Website hat keinen Domainnamen wie www.google.com
und die einzige Möglichkeit, sich damit zu verbinden, ist die Verwendung einer IP-Adresse wie 216.58.212.68
. Wenn ich einen Eintrag in /etc/hosts
hinzufüge das sieht aus wie 0.0.0.0 216.58.212.68
, wird es Verbindungen zu dieser Website blockieren? Würde auch ein Webbrowser daran gehindert, darauf zuzugreifen?
Gilt dies zusätzlich auch für lokale Adressen wie 192.168.0.1
?
Akzeptierte Antwort:
Nein. Die Hosts-Datei hat keinen Einfluss auf das Routing. Es wirkt sich nur auf Namenssuchen aus. Seit 216.58.212.68
eine IP-Adresse ist, wird das System sie nicht in der Hosts-Tabelle nachschlagen.
Lesen Sie hier für weitere Informationen über die hosts-Datei:http://manpages.ubuntu.com/manpages/trusty/man5/hosts.5.html
Wenn Sie Verbindungen zu einer IP-Adresse von Ihrem System aus blockieren möchten, gibt es dafür mehrere Möglichkeiten, wie zum Beispiel:
-
Blackhole-Verkehr unter Verwendung der
route
Befehl:route add 216.58.212.68 gw 127.0.0.1 lo
-
Verkehr über
route
ablehnen Befehl:route add -host 216.58.212.68 reject
-
Nullroute mit
ip
Befehl:ip route add blackhole 216.58.212.68/32
Wenn Sie nun den Datenverkehr zu einem System anhand des Namens blockieren möchten, können Sie Ihrer Hosts-Datei einen gefälschten Eintrag hinzufügen, der diesen Namen auf die Loopback-Adresse verweist:
127.0.0.1 badactor.evil.com
Dann wird jeder Datenverkehr, der versucht, von Ihrem System zu diesem Host zu gelangen, vorgetäuscht – solange Ihr System so eingestellt ist, dass es die Hosts-Dateisuche vor DNS verwendet. Alle spezifischen DNS-basierten Lookups funktionieren weiterhin, obwohl Sie einen DNSMASQ-Server wie einen Pi Hole verwenden könnten, um sogar DNS-Lookups zu blockieren.
Stellen Sie sicher, dass Sie die Handbuchseiten für route
gelesen haben und ip
Befehle, damit Sie verstehen, wie Sie diese Befehle bei Bedarf auch nach Neustarts beibehalten können.