태그 보관물: tunneling

tunneling

프록시를 통한 mosh 터널 내려고하는 것은 DMZ (인터넷 및 방화벽 네트워크에

나는 성장하는 mosh 팬이며 신뢰할 수없는 wifi 링크가있을 때 점점 더 많이 사용하고 있습니다. 내가 알아 내려고하는 것은 DMZ (인터넷 및 방화벽 네트워크에 연결된)에있는 서버를 통해 터널을 만드는 방법입니다.

ssh를 사용하는 현재 솔루션은 다음과 같은 줄을 포함하도록 .ssh / config 를 편집하는 것입니다.

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

또한 ssh를 사용하여 한쪽 다리를 만들고 다른 한쪽 다리를 깎는 방법을 알아 냈습니다.

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

server-in-dmz와 server-behind-firewall 사이에 screen을 사용하여 mosh 세션을 준비했습니다.

하지만 실제로 종단 간 mosh를 사용하고 싶습니다. 나는 mosh-server 청취를하기 위해 server-in-dmz를 조작해야한다고 생각한다. 그러나 mosh-server 매뉴얼 페이지에 “60 초 내에 클라이언트가 접속하지 않으면 종료됩니다.”

간단히 말해서, 여러 호스트로 mosh 터널을 만드는 방법은 무엇입니까?



답변

TCP 및 UDP 패킷 리피터 인 stone 을 시도 할 수 있습니다 . 이것이 본질적으로 의미하는 것은 다음과 같은 구성을 가질 수 있다는 것입니다.

<—> Stone-in-Dmz의 <—> 서버-방화벽

즉, SSH 패킷이 방화벽 뒤 서버로 전달 될 수 있도록 포트 X에서 수신 대기중인 Dmz 서버와 방화벽 뒤 서버의 포트 60000으로 전달되는 UDP 패킷을 처리하는 다른 포트 인 포트 Y가 있어야합니다. mosh-server.

다음 명령을 사용하여 mosh에 연결해야합니다.

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

답변

@Hengjie가 제안한 것처럼 응용 프로그램 계층의 트래픽을 전달하는 대신 iptables (server-in-dmz)를 사용할 수도 있습니다.

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

그런 다음 mosh -p 60159 --ssh='ssh -p 11559' server-in-dmz

노트 :

  • mosh-port를 구성 파일에 넣는 방법이없는 것 같습니다. 🙁
  • 나는 무작위로 포트를 골랐다.
  • 이렇게하면 추가 iptables 구성이 필요할 수 있습니다.
  • 편집 : 서버를 가져 가지 않고 mosh 클라이언트를 실수로 죽일 가능성이 높기 때문에 전체 포트 범위를 DNAT하는 것이 좋습니다. 범위를 전달하지 않으면 서버로 ssh하고 실행중인 mosh 서버를 종료해야합니다. 처음에 연결 상태가 좋지 않으면 약간 성 가실 수 있습니다.
  • 이것에 대한 나의 유스 케이스는 요오드를 통해 mosh입니다.

답변