proxy üzerinden mosh tüneli


16

Ben mosh büyüyen bir hayranıyım ve güvenilmez wifi bağlantıları olduğunda giderek onu kullanıyorum. Ne anlamaya çalışıyorum nasıl bir DMZ (internet ve güvenlik duvarı ağına bağlı) olan bir sunucu üzerinden bir tünel inşa etmektir.

Benim ssh ile benim çözüm .ssh / config gibi satırları içerecek şekilde düzenlemek için:

Host server-behind-firewall
  ProxyCommand ssh server-in-dmz nc %h %p

Ben de bir bacağı yapmak ve diğerini mosh için ssh nasıl kullanabileceğini anladım:

ssh -t server-in-dmz mosh server-behind-firewall

Dmz sunucusu ve güvenlik duvarı arkasında sunucu arasında ekran kullanarak bir mosh oturumu düzenlenmiş.

Ama gerçekten sadece uçtan uca mosh kullanmak istediğim şey. Bir mosh-sunucu dinlemesi için dmz sunucusunu dizmek zorunda kalacağımı tahmin ediyorum. Ancak mosh-server'ın man sayfası "60 saniye içinde hiçbir müşteri iletişim kurmazsa çıkacaktır" diyor.

Kısacası, soru şu: birden fazla ana bilgisayarla bir yosun tüneli nasıl inşa edilir?


Yanıtlar:


5

TCP ve UDP paket tekrarlayıcı olan taşı denemek isteyebilirsiniz . Bunun temel olarak anlamı, aşağıdaki yapılandırmaya sahip olabilmenizdir:

Siz <---> dmz sunucusunda taş <---> güvenlik duvarının arkasında sunucu

Sıralı olarak, SSH paketlerinin güvenlik duvarının arkasındaki sunucuya iletilmesi için X bağlantı noktasında dmz sunucusunu ve ayrıca güvenlik duvarının arkasındaki sunucuda 60000 bağlantı noktasına iletilen UDP paketleri için başka bir bağlantı noktası, Y bağlantı noktasını dinlemesini sağlayın savrulmak-sunucu.

Aşağıdaki komutu kullanarak mosh'a bağlanmanız gerekir:

mosh -p 60000 --ssh='ssh -p PORT_X' server-in-dmz

3
Dikkat edilmesi gereken ilginç bir şey, tcp veya proxy zincirleri gibi tcp önleyicilerinin kullanımının işe yaramayacağıdır. Bunun nedeni, UDP (mosh'un kullandığı şey) değil, yalnızca TCP paketlerini durdurmalarıdır.
Hengjie

bir ipv4 ve bir ipv6 adresi ile nasıl taş kullanabilirim?
Janus Troelsen

0

@Hengjie tarafından önerildiği gibi, uygulama katmanındaki trafiği iletmek yerine iptables'ı da kullanabilirsiniz (server-in-dmz'de):

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 11559 -j DNAT --to-destination 178.254.55.220:22
iptables -t nat -A PREROUTING -p udp -m udp --dport 60159:60168 -j DNAT --to-destination 178.254.55.220
iptables -t nat -A POSTROUTING -j MASQUERADE
sysctl -w net.ipv4.ip_forward=1

Ardından, mosh -p 60159 --ssh='ssh -p 11559' server-in-dmz

Not:

  • Mosh-port'u yapılandırma dosyalarına koymanın bir yolu yok gibi görünüyor. :(
  • Bağlantı noktalarını rastgele seçtim.
  • Bunu yaparsanız bazı ek iptables yapılandırma isteyebilirsiniz…
  • Düzenleme: Bir dizi bağlantı noktasını DNAT yapmak daha iyidir, çünkü mosh istemcisini yanlışlıkla sunucuya götürmeden öldürmeniz iyi bir şanstır. Bir aralığı iletmezseniz, sunucunuza ssh yapmanız ve çalışan mosh sunucusunu öldürmeniz gerekir. İlk etapta kötü bir bağlantınız varsa biraz can sıkıcı olabilir.
  • Bunun için kullanım durumum iyottan mosh.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.