Назад | Перейти на главную страницу

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

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

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

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

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

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

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

     -b bind_address
             Use bind_address on the local machine as the source address of
             the connection.  Only useful on systems with more than one
             address.

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

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

Решением было обновить таблицу маршрутизации. Я использовал 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.

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

В предыдущем ответе говорилось, что -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.