SSH를 특정 게이트웨이로 라우팅

SSH를 특정 게이트웨이로 라우팅

Wi-Fi나 이더넷 등 내가 원하는 인터페이스에 포트 22를 강제로 사용하도록 하는 방법을 알고 싶습니다.
예를 들어 *:22를 Wi-Fi로 라우팅합니다. 명령을
확인했지만 route불가능한 것 같습니다.
어떤 아이디어?
BSD 또는 Linux 명령을 환영합니다.

답변1

일반 라우팅은 IP 주소 측면에서만 작동하며 어떤 데이터(TCP 또는 UDP 포함)가 전송되는지와는 관련이 없습니다.


적어도 Linux에서는 다음을 사용할 수 있습니다.정책 라우팅이를 위해:

  1. 특정 패킷을 표시하는 방화벽 규칙을 추가합니다.

    iptables -t mangle -A PREROUTING -p tcp --dport 22 -j MARK --set-mark 1
    
  2. 원하는 게이트웨이로 새 라우팅 테이블을 만듭니다.

    ip route add default via 192.168.0.1 dev wlan0 table 42
    
  3. 표시된 패킷에 대해 새 라우팅 테이블을 사용하는 정책 규칙을 추가합니다.

    ip rule add fwmark 1 table 42
    

Windows에서는 다른 접근 방식이 필요합니다. 예를 들어프로그램특정 인터페이스를 사용하려면 일부 프로그램에는 ssh와 같은 "바인딩 주소" 옵션이 있습니다 -b.

ssh -b 192.168.0.42 root@myserver

(다양한 환경에서 얼마나 잘 작동하는지 모르겠습니다.인터페이스, 그렇지만. 아닐 수도 있다는 느낌이 듭니다.)


마지막으로 특정 서버에 대한 호스트 경로(Wi-Fi를 통해)를 추가할 수 있습니다.

이는 다른 모든 연결에 대해 해당 서버를 통한 SSH 터널링을 활성화하도록 확장될 수 있습니다.

관련 정보