2017-05-29 2 views
-2

Ich habe folgende iptables Befehle in einem Bash-Skript ip6tables:Umwandlung iptables

#!/bin/sh 
sudo iptables -I OUTPUT -p tcp -j REJECT 
sudo iptables -I OUTPUT -p tcp -d 192.168.0.1/24 -j ACCEPT 
sudo iptables -I OUTPUT -p tcp -d 127.0.0.1 -j ACCEPT 
sudo iptables -I OUTPUT -p tcp -m owner --gid-owner internet -j ACCEPT 

Und es funktioniert gut. Das Problem ist, dass ich die entsprechenden ip6tables Befehle in das Bash-Skript aufnehmen möchte, und ich bin mir nicht sicher, welche Änderungen vorgenommen werden müssten.

So zum Beispiel, wenn ich iptables zu ip6tables alle Instanzen des Wortes ändern würde ich die folgende:

sudo ip6tables -I OUTPUT -p tcp -j REJECT 
sudo ip6tables -I OUTPUT -p tcp -d 192.168.0.1/24 -j ACCEPT 
sudo ip6tables -I OUTPUT -p tcp -d 127.0.0.1 -j ACCEPT 
sudo ip6tables -I OUTPUT -p tcp -m owner --gid-owner internet -j ACCEPT 

Aber dann bemerkte ich, dass die IP-Adressen verwendet werden (192.168 .0.1/24 und 127.0.0.1) sind in der IPv4 Format, und ich nehme an, dass sie in irgendeiner Art von Entsprechung für IPv6 gemacht werden müssen?

Frage: Was wäre das Äquivalent der pervious 2 IP-Adressen werden für IPv6? Welche anderen Änderungen würde das Skript IPv6 benötigen, um ordnungsgemäß zu funktionieren?

+0

für localhost (127.0.0.1), die Sie ':: 1 ', aber es gibt keine direkte Entsprechung für RFC 1918-Adressen in IPv6, die gewünschte Adresse hängt davon ab, was die zweite Regel zu erreichen versucht und die Netzwerkkonfiguration. – user1937198

+0

Hallo @ user1937198! Das vorangegangene Skript ist für einen PC, um die volle Kontrolle darüber zu haben, welche Programme eine Internetverbindung verwenden, so dass die Menge des Verbrauchs kontrolliert werden kann (und keine zufälligen Programme haben, die Sachen herunterladen). Durch das Erstellen einer Gruppe namens "Internet" "sudo groupadd internet" und dann, nachdem das vorherige Skript ausgeführt wurde, indem "sudo -g internet -s" in einem Terminal ausgeführt wird, könnte dieses Terminal einen Browser oder ein anderes Programm aufrufen nutzt das Internet, und die Verbindung wäre auf dieses Programm beschränkt. – Webeng

Antwort

-1

loswerden diese IPs und übereinstimmen auf der Schnittstelle.

sudo iptables -I OUTPUT -o lo -j ACCEPT