Jak wyłączyć NAT dla IPv6 (NAT66)?

9

Obecny system Ubuntu LTS nie obsługuje tabel NAT dla IPv6 (tzn. Nie ma ip6tables -t nat), i dobrze, że w rzeczywistości środowisko bez NAT jest „rdzeniem” moich sieci.

Ale następny Ubuntu LTS doda obsługę tabel NAT IPv6 i problem polega na tym, że mam „zamówienia”, aby nie zezwalać na to w mojej sieci IPv6, to znaczy, nie będziemy obsługiwać NAT66 (NAT dla IPv6).

Muszę się więc upewnić, że ip6tables -t nattutaj nie zadziała. Jak mogę to wyłączyć?

Czy mogę po prostu umieścić na czarnej liście niektóre moduły jądra? Sysctl?

ThiagoCMC
źródło

Odpowiedzi:

6

Moduł NAT IPv6 ma nazwę nf_nat_ipv6, więc powinno wystarczyć, aby ten moduł znalazł się na czarnej liście .

sudo sh -c 'echo blacklist nf_nat_ipv6 >> /etc/modprobe.d/blacklist'
Michael Hampton
źródło
Ta technika czarnej listy nie działa. nf_nat_ipv6 jest na czarnej liście, ale jeśli uruchomię „ip6tables -t nat -L -nv”, moduł się pojawi. Proszę, NAT66 jest całkowicie niepożądany, niepotrzebny i muszę się upewnić, że jest wyłączony.
ThiagoCMC,
1
Ale potem zniszczę pakiet „linux-image-generic” ... A po aktualizacji systemu ten przerażający moduł pojawi się ponownie ... Naprawdę nie rozumiem, dlaczego ta funkcja jest domyślnie włączona, NAT66 jest niepożądane. Ludzie muszą przejść przez NAT (co jest tylko obejściem sieci IPv4), chodźcie z chłopakami z Ubuntu ... Nie róbcie tego, dajcie mi profesjonalny sposób na wyłączenie NAT66 ... IPv6 NIE potrzebuje żadnego rodzaju NAT i przyniesie to problemy światu (IPv6), który nie ma żadnych problemów. :-P
ThiagoCMC,
4
@ user2512727 Też nie rozumiem. Ten szczególny fragment kodu nigdy nie powinien zostać napisany , a tym bardziej wdrożony.
Michael Hampton
1
Ta sudoczęść polecenia nic ci nie da. Dotyczy tylko echopolecenia (które nie wymaga specjalnych uprawnień). Przekierowanie, które wymaga uprawnień, jest wykonywane przed sudo. Więc polecenie zawiedzie bash: /etc/modprobe.d/blacklist: Permission denied. Ale może echo blacklist nf_nat_ipv6 | sudo tee -a /etc/modprobe.d/blacklistmoże działać lepiej.
kasperd
1
@ThiagoCMC Dlaczego mówisz, że jest domyślnie włączony? O ile nie utworzysz reguł, które wymagają modułu, nie należy go nigdy ładować. To powiedziawszy, obawiam się, że taki moduł wyrządzi więcej szkody niż pożytku. Rozsądne przypadki użycia NAT66 są niezwykle rzadkie. Funkcjonalność NAT66 jest bardziej prawdopodobna dla osób, które miały zbyt dużą ekspozycję na IPv4 i obecnie cierpią na złudzeniu, że NAT jest dobrym pomysłem.
rfc2460
0

Właściwy sposób na czarną listę modułów takich jak ten jest następujący:

W pliku czarnej listy wstaw następujący wiersz, zastępując „(nazwa_modułu)” nazwą modułu tak, jak pokazano w lsmod

install (module_name) /bin/false

Jest to dyrektywa na poziomie jądra i nie jest specyficzna dla żadnej dystrybucji. Więcej informacji na temat installdyrektywy można znaleźć w man modprobe.conf.

Speeddymon
źródło