보조 IP를 통한 SSH

보조 IP를 통한 SSH

SSH

SSH

여러분, 안녕하세요,

내 전용 서버에는 특정 계정에 몇 개의 IP 주소가 할당되어 있습니다. 그리고 보조 IP를 통해 계정에 SSH를 통해 연결할 수 있습니다. 하지만 일단 들어가면 IP는 항상 기본 IP입니다("curl wtfismyip.com/text" 명령으로 시도했습니다).

다른 SSH 인스턴스에서 실행해야 하는 몇 가지 셸 스크립트가 있으며 아웃바운드에 대해 다른 IP 주소(다른 계정)를 사용해야 합니다.

이 문제에 대한 제안이나 해결책이 있는 사람이 있습니까? 도와주시면 감사하겠습니다.

감사합니다

답변1

외부 사이트(예: whatismyip, ...)가 보는 귀하의 서버 IP는 귀하의 서버가 라우팅 테이블에서 얻는 IP입니다.

$ ip route
default via x.x.x.x dev ethX ...
10.0.0.0/16 dev ethY ...
....

연결하려는 사이트의 IP가 라우팅 테이블에 지정된 서브넷에 있는 경우 소스 IP(사용자)와 나가는 인터페이스가 모두 이 특정 경로에서 가져옵니다. 예: whatismyip.net의 IP는 10.0.0.1입니다. 트래픽을 보내면 서버는 ethY 인터페이스와 ethY IP를 사용합니다.

그렇지 않고 사이트가 어떤 서브넷과도 일치하지 않으면 기본 경로가 사용됩니다. 이 예에서 서버는 ethX IP를 소스로 사용하여 ethX 인터페이스를 통해 트래픽을 보냅니다.

귀하의 맥락에서 기본 경로는 eth0을 통한 것 같습니다.

다른 인터페이스/IP를 사용하려면:

  1. 일부 명령, 나가는 인터페이스 및 소스 IP를 지정할 수 있습니다.

    ping -I ethY whatever.net
    ping -I eth0.Y whatever.net
    curl --interface eth0.Y wtfismyip.com/text
    
  2. 또는 MY_REMOTE_IP에 대한 새 경로를 추가하여 통신할 때 지정된 인터페이스 또는 소스 IP를 사용하도록 할 수 있습니다. 위의 예에서 MY_SECOND_IP는 ethY 인터페이스의 IP입니다.

    $ ip route add MY_REMOTE_IP dev ethY src MY_SECOND_IP
    $ ip route add MY_REMOTE_IP dev eth0.Y src MY_SECOND_IP
    
  3. 그렇지 않으면 일부 명령에서 소스 IP를 적용할 수 있습니다.

    ssh -b MY_SECOND_IP user@MY_REMOTE_IP
    

관련 정보