W domu jestem połączony z adresem IPv6, a ponadto mój dostawca zapewnia konfigurację podobną do NAT, za pośrednictwem której otrzymuję publiczny adres IPv4, który udostępniam innym klientom (oczywiście dlatego, że brakuje nam adresów IPv4).
W rezultacie nie mogę połączyć się z urządzeniami w domu (np. Bramą VPN), gdy jestem w sieci IPv4. Mam jednak serwer, który ma zarówno adres IPv4, jak i adres IPv6. Dlatego powinienem być możliwy dostęp do moich urządzeń domowych, jeśli przejdę przez mój serwer.
Oto, co mam na myśli do tej pory: Ponieważ na IPv6 każde urządzenie otrzymuje własny adres IP, mój serwer w domu otrzymuje statyczny adres IPvv6. Mój zdalny serwer ma już zarówno statyczny IPv4, jak i IPv6.
Kiedy chcę teraz połączyć się z moim serwerem OpenVPN w domu, wcześniej otwierałem port 1194 w moim routerze, a NAT przekazywał tam połączenia z serwerem. W moim nowym scenariuszu chcę połączyć się przez port 1194 (lub inny, nie ma znaczenia) na moim zdalnym serwerze i powinien on wziąć to połączenie i tunelować je na moim serwerze domowym (ponieważ oba mają IPv6).
Graficznie oznaczałoby to:
Urządzenie mobilne (IPv4) -> Serwer zdalny (IPv4 + IPv6) -> Serwer domowy (IPv6)
Ale powinno to się zdarzyć tylko na wybranych portach (czy jest jeszcze bardziej sprytny sposób niż wybieranie według portu?).
Moje pytanie brzmi: jak mogę uzyskać tę konfigurację?
Na jakim poziomie powinno to działać? Jeśli chcę to zrobić przez port, oczywiście muszę przekazać pakiet w warstwie TCP / UDP. Moim pierwszym pomysłem byłoby iptables, ale czy mogę przesłać pakiet do zdalnego adresu IP? A może istnieje inne oprogramowanie, które może? Czy powinienem utworzyć tunel między dwoma serwerami, a następnie przekazać go lokalnie? Jak miałbym to zrobić?
Odpowiedzi:
W końcu znalazłem rozwiązanie z przekazywaniem portów IPv4 na hosty tylko IPv6, które w zasadzie używa socat:
Moje rozwiązanie jest w zasadzie takie samo, z wyjątkiem tego, że używam nazwy hosta, z wyjątkiem statycznego adresu IP. Uważaj, aby nie używać nawiasów kwadratowych z nazwą hosta, ponieważ wówczas będzie on interpretowany jako adres IP.
źródło