-1

SSH

SSH

Здравствуйте все,

Мой выделенный сервер имеет несколько IP-адресов, назначенных определенным учетным записям. И я могу SSH к учетной записи через вторичный IP. Но однажды IP-адрес всегда является основным IP-адресом (я попытался с помощью команды "curl wtfismyip.com/text")

У меня есть несколько сценариев оболочки, которые должны работать в разных экземплярах ssh, и они должны использовать разные IP-адреса (разные учетные записи) для исходящих.

У кого-нибудь есть предложения, решения по этому вопросу? Буду признателен за вашу помощь.

Спасибо

1 ответ1

0

IP-адрес вашего сервера, который видят внешние сайты (например, whatismyip, ...), - это IP-адрес, который ваш сервер получает из таблицы маршрутизации.

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

Если сайт, который вы пытаетесь подключить, имеет свой IP-адрес в подсети, указанной в таблице маршрутизации, исходный (ваш) и исходящий интерфейсы будут взяты из этого конкретного маршрута. Например: whatismyip.net IP-адрес 10.0.0.1, когда вы отправляете трафик на него, ваш сервер будет использовать интерфейс ethY и IP-адрес ethY.

В противном случае, если сайт не соответствует какой-либо подсети, используется маршрут по умолчанию. В этом примере сервер будет отправлять трафик через интерфейс 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 - это IP-адрес интерфейса ethY.

    $ 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
    

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .