Próbuję uruchomić osobistą usługę internetową z mojej sieci na IPv6. Chcę, aby była widoczna w publicznym Internecie i za rekordem AAAA. Muszę zrównoważyć łatwość konfiguracji i płynną rekonfigurację, gdy zmienia się prefiks IPv6 od mojego dostawcy usług internetowych.
Z którym adresem mam się powiązać? Lokalny adres IPv6 + NAT, czy powinienem zaakceptować globalnie rutowalne opcje przekazane do hosta poprzez delegowanie prefiksu?
Moje hosty stoją za routerem OpenWRT, IPv4 + IPv6. OpenWRT otrzymuje /56
prefiks delegowany przez mojego dostawcę usług internetowych (Telus w Kanadzie). Jednak ten prefiks nie jest statyczny . Od czasu do czasu zmienia się w kolejności dni. Czasami mogę przyspieszyć zmianę, wykonując resety.
Jestem gotów spróbować tej rzeczy bez NAT na IPv6. Nie przeszkadza mi dziurkowanie portów / adresów IP w zaporze stanowej, ale chciałbym uniknąć translacji adresów.
W mojej bezstanowej + stanowej konfiguracji IPv6 moje hosty w sieci LAN wykonują autokonfigurację, a także robią DHCPv6, aby uzyskać dzierżawiony adres. Na moim polu ubuntu:
192.168.1.4
fd00:cafe::4/128 # ULA local (by dhclient -6)
2001:2:3:4:a8a8:efcf:d96d:1315/64 # slaac+privacy global
2001:2:3:4:22f:bcff:fe12:1234/64 # slaac+EUI64 (macaddr)
fd00:cafe::a8a8:efcf:d96d:1315/64 # slaac+privacy local
fd00:cafe::22f:bcff:fe12:1234/64 # slaac+EUI64 (macaddr)
fe80::21f:bcff:fe08:c07a/64 # link local
Te 2001:2:3:4:
adresy są trasowane na publicznym Internecie. fd00:cafe::
Są routingu tylko lokalnie na moim podsieci. fd00:cafe::
to prefiks, który skonfigurowałem w OpenWRT (ULA) tylko dla mojej sieci wewnętrznej. fe80:
Oczywiście nie jest routing. OpenWRT nie dzierżawi 2001:2:3:4::4
w tej konfiguracji, zgodnie z projektem (bardzo by mi się podobało).
Adres IP v6, który wybiorę dla mojej usługi, musi gdzieś skończyć w rekordzie DNS AAAA, więc byłoby lepiej, gdyby nie zmieniał się co godzinę.
- Adresy slaac + EUI mówią trochę o moim adresie Mac i nie podoba mi się to.
- Adresy prywatności slaac + są nieco bardziej chroniące prywatność, ale zmieniają się co kilka godzin, a to jest mniej pożądane. Adresy się zatrzymują, jeśli nadal są używane, ale będą uwalniane za każdym razem, gdy uruchamiam usługę (i dns będzie musiał zostać zaktualizowany - co zajmuje minimum 5 minut).
- Inną opcją jest po prostu statyczne wybranie sufiksu, który lubię dla mojej usługi (np.
::d00d
), Z tym samym globalnie routowalnym prefiksem i statyczne przypisanie go do mojej nicości, na przykład:
$ sudo ip -6 addr add 2001:2:3:4::d00d/64 dev eth0
Następnie w moich aplikacjach mogłem powiązać tylko z tym adresem (lub „::” na urządzeniu przechowującym ten adres IP).
# ./myserver -l 2001:2:3:4::d00d/64 -p 8080
Teraz, kiedy mam gniazdo nasłuchiwania powiązane z publicznie routowalnym adresem IP na hoście, jaki jest najlepszy sposób, aby poinformować router, aby dopuścił do niego pakiety SYN? Potrzebuję tu dziury. UPnP, NAT-pmp?
Czy myślę o tym w niewłaściwy sposób? Jaka jest typowa konfiguracja IPv6?
Aktualizacja
Próbowałem użyć hostid
ustawienia dhcp w moich dzierżawach OpenWRT /etc/config/dhcp
. Podobno pozwala na określenie ostatnich 32 bitów rezerwacji dhcpv6. Miałem nadzieję, że otrzymam dodatkowy IPv6 z prefiksem wan i moim wybranym sufiksem, ale bez powodzenia. Klient dhcp6 na moim hoście nadal nie otrzymuje tego dodatkowego adresu IP. Prawdopodobnie związane z tym problemem odhcpd 61 .
::
to sposób odbierania połączeń na wszystkie adresy IP z powyższej listy oraz adresy wszystkich innych interfejsów na hoście. Nie otworzy zapory routera automatycznie. Którego adresu użyłbyś wtedy do wypełnienia DNS?