Сервер SSH не може бути підключений, коли VPN увімкнено


9

Нещодавно я виявив, що коли моя робоча станція підключається через VPN-з'єднання, то її SSH-сервер не може бути підключений до віддаленого сайту. Я впевнений, що це проблема маршрутизації, оскільки клієнт VPN змінює шлюз за замовчуванням на його рівний (VPN-сервер) підключення ppp.

Чи є рішення зробити так, щоб сервер SSH та VPN-клієнт були задоволеними?

Відповіді:


2

Коли ви використовуєте vpn, загалом мережа vpn переймає весь ваш інтерфейс, таким чином, що ви переходите лише звідкись із мережі vpn, а не з Інтернету. Більшість людей вирішує цю проблему, запустивши vm (virtualbox тощо) та підключившись до vpn у цій віртуальній машині, щоб він повністю не втручав основне з'єднання на фактичній машині.


Ви можете виконати декілька хитрощів щодо маршрутизації даних з VPN в одну сторону, а інші - в інший спосіб (різні шлюзи тощо), але користуватися virtualbox просто набагато простіше. :-)
Ст

Дякую за пропозицію! Я хотів би знати, який трюк маршрутизації може досягти цього.
btw0

Я використовую VM stu, але те, що я не в змозі зробити, - це оцінити VPN у хості, як мені потрібно виконати роботу із розробниками.
Джеймі Хатбер

о, я пропонував інший шлях. Використовуйте vpn виключно в vm, і він залишає автомат для відкритого та безкоштовного Інтернету.
Світ

2

Перш ніж приступити до налаштувань мережі, перевірте, чи слухає ssh-сервер на інтерфейсі vpn. Можливо, він пов'язаний з певним інтерфейсом на вашому сервері.

Приклад netstat -aвиводу:

 Proto Recv-Q Send-Q Local Address    Foreign Address   State      
 tcp        0      0 *:ssh            *:*               LISTEN      

Сервер ssh у цьому прикладі прослуховує всі інтерфейси (позначені зірочкою дюйма *:ssh. Якщо у вашій системі замість нього розміщена адреса хоста, сервер ssh прив’язаний до конкретних інтерфейсів.

Відредагуйте /etc/ssh/sshd_configта встановіть, ListenAddress 0.0.0.0щоб змінити це, якщо це необхідно.

Якщо sshd вже слухає правильні інтерфейси, сміливо входьте у підземелля маршрутизації :-)


1
За якою адресою слід ListenAddressвказати? IP сервера на локальному інтерфейсі? IP маршрутизатора? Щось ще?
Психонавт

0

Ви говорите про роздільне тунелювання. Якщо ви досить знайомі з інструментом командного рядка ROUTE.EXE , можливо, ви зможете вивчити маршрути, розміщені клієнтом VPN, та видалити їх. Потім ви повторно додасте його, щоб дозволити потоку трафіку до вашої корпоративної локальної мережі протікати через шлюз VPN.

Зокрема, ви б використовували

route print

... щоб отримати список записів маршрутизації. Не бачачи виводу, здається, що ваш VPN-клієнт розмістив би за замовчуванням (0.0.0.0) запис за замовчуванням, тоді як шлюз був рівним шлюзом VPN. Можна використовувати

route delete 10.*

... наприклад, для видалення всіх записів, що вказують на мережу 10.xxx.

Потім можна використовувати

route add 10.0.0.0 mask 255.0.0.0 10.0.99.99

... де перша адреса (10.0.0.0 255.0.0.0) - це ваша корпоративна мережа та маска, а друга адреса - віддалений шлюз.

Вам потрібно буде запускати це кожен раз, коли ви підключаєтесь, тому, можливо, ви захочете його скриптувати.

Побічна примітка: альтернативою може бути переконання вашої компанії створити свою VPN для використання розділених тунелів; аргументом для цього є зменшення пропускної здатності та (IANAL) зменшення відповідальності за некомерційний веб-трафік, що проходить через їх мережу.

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