Jestem coraz fanem Mosh i jestem coraz częściej używają go, gdy mam zawodne łącza WiFi. Próbuję dowiedzieć się, jak zbudować tunel za pośrednictwem serwera znajdującego się w strefie DMZ (podłączonej do Internetu i zapory sieciowej).
Moje obecne rozwiązanie z ssh polega na edycji .ssh / config w celu włączenia linii takich jak:
Host server-behind-firewall
ProxyCommand ssh server-in-dmz nc %h %p
Wymyśliłem też, jak mogę użyć ssh do wykonania jednej nogi, a drugiej:
ssh -t server-in-dmz mosh server-behind-firewall
Pomiędzy server-in-dmz i server-behind-firewall mam przygotowaną sesję mosh przy użyciu screena.
Ale tak naprawdę chciałbym po prostu używać mosh od końca do końca. Domyślam się, że musiałbym skonfigurować serwer-in-dmz, aby nasłuchiwał serwer Mosh. Ale strona podręcznika mosh-server mówi: „Wyjdzie, jeśli żaden klient nie skontaktuje się z nim w ciągu 60 sekund”.
Krótko mówiąc, pytanie brzmi: jak zbudować tunel Mosh z wieloma hostami?
Odpowiedzi:
Możesz wypróbować kamień , który jest repeaterem pakietów TCP i UDP. Zasadniczo oznacza to, że możesz mieć następującą konfigurację:
You <---> Stone na server-in-dmz <---> serwer za firewallem
Aby uporządkować słowa, serwer-in-dmz nasłuchuje na porcie X, aby pakiety SSH były przekazywane do serwera za zaporą ogniową, a także inny port, port Y, dla pakietów UDP przesyłających do portu 60000 na serwerze za zaporą ogniową dla serwer mosh.
Będziesz musiał połączyć się z mosh za pomocą następującego polecenia:
źródło
Zamiast przekierowywać ruch w warstwie aplikacji, jak sugeruje @Hengjie, możesz także użyć iptables (na serwerze-w-dmz):
Następnie łączysz się za pomocą
mosh -p 60159 --ssh='ssh -p 11559' server-in-dmz
Uwaga:
źródło