SSH через вторичный IP

SSH через вторичный IP

сш

сш

Всем привет,

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

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

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

Спасибо

решение1

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

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

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

Связанный контент