Zastanawiam się, jak tunelować ruch TCP / IPV6 przez tunel SSH / IPV4 (połączenie PTP). Czy to możliwe? Jak mogę to osiągnąć?
Zastanawiam się, jak tunelować ruch TCP / IPV6 przez tunel SSH / IPV4 (połączenie PTP). Czy to możliwe? Jak mogę to osiągnąć?
Odpowiedzi:
Tak, jest to możliwe i niezbyt trudne, ale rozwiązanie jest bardzo nieoptymalne, ponieważ SSH działa przez TCP i ma rozsądny narzut.
Serwer musi mieć w swoim pliku konfiguracyjnym sshd_config
:
PermitTunnel point-to-point
Następnie musisz być rootem na obu komputerach. Łączysz się z serwerem za pomocą:
ssh -w any root@server
Po połączeniu użyj polecenia ip link
w obu systemach, aby dowiedzieć się, które urządzenie tunN zostało utworzone w każdym z nich, i użyj go w poniższych poleceniach. Zauważ, że używam przykładowych adresów lokalnych, które są przestarzałe, ale w porządku dla tego wprowadzenia.
Na serwerze:
server# ip link set tun0 up
server# ip addr add fec0:1::1/112 dev tun0
Na kliencie:
client# ip link set tun0 up
client# ip addr add fec0:1::2/112 dev tun0
To wystarczy, abyś mógł pingować drugą stronę przez tunel, jeśli nie ma blokowania reguł zapory. Następnym krokiem jest ustawienie tras w tunelu (nie zapomnij net.ipv6.conf.default.forwarding = 1), a następnie dostosowanie MTU łącza, aby uzyskać optymalną wydajność.
server# sysctl net.ipv6.conf.all.forwarding=1
client# ip -6 route add default via fec0:1::1
Umożliwi to Twojemu klientowi pingowanie innych sieci, do których serwer ma dostęp, biorąc pod uwagę, że cele mają trasy z powrotem do Twojego zdalnego klienta.
Będziesz także musiał naprawić MTU łącza, aby klient nie wysyłał pakietów, których serwer nie będzie mógł przesłać dalej. Zależy to od MTU łącza IPv6 samego serwera. Nie polegaj na wykrywaniu MTU ścieżki, ponieważ nie będzie działać poprawnie w tunelu SSH. W razie wątpliwości zacznij od niskiej wartości MTU, takiej jak 1280 (minimalna dozwolona MTU dla IPv6).
ip
polecenia, więc ustaw adres IP za pomocą sudo ifconfig tun0 inet6 fec0:1::2/112 up
i ustaw trasę za pomocą sudo route add -inet6 -mtu 1280 default fec0:1::1