Примусове з'єднання SSH через інший інтерфейс


12

Я хочу підключитися віддалено за допомогою SSH.

Однак я не в змозі, поки мій VPN активний, тому я відключаюсь від VPN і потім підключаюся за допомогою іншого з'єднання.

Як я можу примусити з'єднання через інше з'єднання, коли підключено до VPN?

Я використовую клієнт Windows 7 та PuTTY.


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

Відповіді:


16

Є 2 варіанти. По-перше, ви можете змінити свої маршрути, щоб SSH-пакети, природно, проходили через правильний інтерфейс.

Або ви можете скористатися параметром -bSSH (або подібним чином -B):

     -b bind_address
             Використовуйте bind_address на локальній машині як адресу джерела
             з'єднання. Корисний лише в системах, що мають більше одного
             адреса.

Це прив’яже вашого клієнта SSH до обраної локальної IP-адреси, так що всі пакети будуть випромінюватися через пов'язаний інтерфейс.


1
який другий варіант? мені цікаво!
Еліран Малька

1
Було б також корисно знати, як зробити еквівалент у PuTTY, оскільки в питанні вказано, що клієнт.
echristopherson

Схоже, опція -b не підтримує IPv6 IP. Я прав?
Ар'я

не підтримується на
шпаклівці

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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.