Рейтинг:2

Установите исходящее сетевое соединение через определенный исходящий IP-адрес в Linux.

флаг bg

У меня есть Linux-сервер Ubuntu (18.04) с основным сетевым интерфейсом. eth0, которому назначено 2 IP-адреса (через systemd-networkd). IP-маршрут детали маршрутизации довольно просты, просто отправляйте все исходящие данные по IP1. Однако иногда мне нужно установить исходящие соединения (т. е. ssh-соединения), которые исходят с другого IP-адреса, IP2. Я мог бы просто изменить маршрут по умолчанию для всего этого сервера, но есть ли лучший способ? Могу ли я бежать magiccommand --use-ip=$IP2 ssh что угодно

У меня есть root на машине. Я попробовал firejail, но он выдал ошибку Ошибка: программа не поддерживается для сетей /31 ?!) Я хочу подключиться по ssh к другому серверу, который разрешает SSH-соединения только с IP2, а не с IP1.

TooTea avatar
флаг in
Вы имеете в виду, что не хотите, чтобы все подключения к этому другому серверу использовали IP2, а только некоторые из них (скажем, ssh через IP2, а http через IP1)? Потому что, если вы не возражаете против всех подключений к $other_server с использованием IP2, было бы тривиально просто добавить определенный маршрут (`ip ro add $other_server/32 dev eth0 src $IP2`).
Рейтинг:4
флаг cl
A.B

Достаточно свежие версии ssh иметь -B интерфейс_привязки и -b адрес_привязки параметры.

SSH в Ubuntu 18.04 может иметь только -b адрес_привязки опция, которая в любом случае нужна здесь. Таким образом, чтобы использовать IP2 в качестве исходного IP-адреса при подключении вместо IP-адреса по умолчанию, указанного маршрутами, можно сделать:

ssh -b $IP2 что угодно
TooTea avatar
флаг in
Еще лучше поместите `BindAddress IP2` в ваш `~/.ssh/config` в соответствующим образом определенный блок `Host`/`Match`, чтобы он автоматически применялся ко всем подключениям к затронутым серверам, включая такие вещи, как scp/sftp/rsync/….
Рейтинг:2
флаг in

Если у вас несколько интерфейсов, вы можете связывать на определенный интерфейс или IP-адрес. Это должно поддерживаться приложением. Приложения, которые его поддерживают, часто имеют для этого параметры командной строки. Не существует стандарта в отношении того, какие параметры командной строки используются.

За ssh, мужчина ссш говорит:

 -B интерфейс_привязки
         Привяжите адрес bind_interface перед попыткой подключения к целевому хосту. Это полезно только в системах с более чем одним
         адрес.

 -b адрес_привязки
         Используйте bind_address на локальном компьютере в качестве исходного адреса соединения. Полезно только в системах с более чем одним адресом.

Таким образом, вы можете использовать либо интерфейс, либо IP-адрес.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.