Принудительное подключение SSH через другой интерфейс

12

Я хочу подключиться удаленно, используя SSH.

Тем не менее, я не могу, пока мой VPN активен, поэтому я отключаюсь от VPN, а затем подключаюсь, используя другое соединение.

Как я могу принудительно установить соединение через другое соединение при подключении к VPN?

Я использую Windows 7 и PuTTY клиент.

Наим
источник
3
Пожалуйста, добавьте больше информации ... Предоставьте таблицу маршрутизации вашего текущего компьютера, какова ваша клиентская ОС (linux, windows)
RomeNYRR

Ответы:

16

Есть 2 варианта. Во-первых, вы можете изменить свои маршруты так, чтобы пакеты SSH естественным образом проходили через правильный интерфейс.

Или вы можете использовать -bопцию SSH (или аналогичным образом -B):

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

Он свяжет ваш SSH-клиент с выбранным локальным IP-адресом, так что все пакеты будут отправлены через соответствующий интерфейс.

Trak
источник
1
какой второй вариант? мне любопытно!
Элиран Малка
1
Также было бы полезно узнать, как сделать эквивалент в PuTTY, поскольку этот вопрос указывал на этого клиента.
Эхристоферсон
Похоже, опция -b не поддерживает IPv6 IP. Я прав?
Арья
не поддерживается на шпатлевке
toing_toing
3

Проблема была с выбранным маршрутом.

Решение было обновить таблицу маршрутизации. Я использовал routeкоманду, чтобы добавить новый маршрут, указав правильный интерфейс и шлюз.

Команда выглядит так route add <destination> mask <netmask> <gateway> <interface>, например:

route -p add 10.100.10.10 mask 255.255.255.0 192.168.1.0 IF 13

-pдля постоянного, поэтому он остается там после перезагрузки. IFдля интерфейса, и вы можете получить этот номер из команды route print.

Наим
источник
1

Вы должны изменить маршрут к месту назначения.

В предыдущем ответе говорилось, что можно использовать опции -bили -B, но обычно, если VPN активирован, это не работает, потому что он перенаправляет трафик к любому месту назначения через сетевой интерфейс VPN - обычно именуемый tun0.

Поэтому вы должны изменить маршрут, по которому вы доберетесь до пункта назначения. Давайте назовем его <destination>и <gate1>IP-адрес шлюза (технически адрес маршрутизатора nexthop), связанный с другим интерфейсом, который вы хотите использовать. При этом ip route, routeбудучи устаревшим, это должно быть:

ip route add <destination> via <gate1>

Альтернатива

ip route add <destination> via <gate1> dev <different interface>

но, учитывая, что адрес <gate1>уже связан с вашим другим интерфейсом, здесь <different interface>это ничего не меняет.

Здесь важно указать его <gate1>, шлюз вашего другого интерфейса, который необходимо пройти, а не VPN.

мотылек
источник