Використання двох різних приватних DNS-серверів (один за VPN)


4

Розглянемо такий сценарій:

Я підключений до локальної мережі за допомогою власного DNS-сервера (зателефонуйте йому lan-dns ). Цей DNS-сервер використовується для вирішення імен деяких приватних хостів у локальній мережі. Будь-які інші запити DNS пересилаються на DNS-сервер в Інтернеті.

Я хочу з'єднатися з іншою віддаленою локальною мережею через VPN. Віддалена локальна мережа також має приватний DNS-сервер (названий vpn-dns для аргументів sake), який необхідний для вирішення імен приватних хостів у віддаленій мережі.

Коли ні підключений до VPN Я зможу отримати доступ до хостів у моїй локальній мережі за їхніми іменами. Однак коли я am потім підключено до VPN, оскільки DNS віддаленої мережі замінює те, що в моїй локальній мережі, я не зможу отримати доступ до хостів у своїй локальній мережі.

Поки підключений до VPN, якщо я змушу DNS-сервер повернутися lan-dns тоді я не зможу вирішити імена хостів у віддаленій мережі.

Який найпростіший спосіб вирішити цю проблему? Чи це навіть можливо?

Цей сценарій повинен ставати все більш і більш поширеним, але, здається, не є елегантним рішенням, яке я можу знайти.


Це залежить від того, що адміністратор сервера дозволяє робити ... vpn не буде таким безпечним, якщо це дозволить клієнтам спілкуватися з людьми, які не входять до клубу vpn
Canadian Luke

Яку операційну систему ви використовуєте? Чи використовує машина, яку ви використовуєте як клієнт VPN, з вами, або це завжди в локальній мережі, де lan-dns діє як резольвер?
Aaron Miller

@AaronMiller - ОС може бути Windows або Linux. На даний момент можна з упевненістю припустити, що клієнтська машина VPN завжди буде приєднана до локальної мережі; чи буде це мати значення, якщо це не так?
FixMaker

Як це зробити, залежить від того, як здійснюється підключення до VPN. Який тип підключення використовує VPN? Чому ви просто не використовуєте файл hosts для цього?
Ramhound

@Ramhound - З'єднання здійснюється через OpenVPN. Я не можу використовувати статичний файл хостів, оскільки насправді буде кілька клієнтів VPN, і я не хочу, щоб підтримувати файл на кожному окремому клієнті.
FixMaker

Відповіді:


4

На рівні IP те, що ви шукаєте, називається Split Tunneling, і воно налаштовується з клієнта (принаймні, в некерованих сценаріях). вона дозволяє запитам до локальних мережевих адрес використовувати локальну (логічну) мережу, а запити до віддалених мережевих адрес проходять через тунель VPN. якщо розділений тунелювання не ввімкнено, хост, підключений до VPN, взагалі не зможе спілкуватися з іншими машинами в локальному діапазоні IP-ланцюгів, тому його більше, ніж просто роздільна здатність dns. з включеним розділенням тунелювання, якщо ви будете отримувати доступ до інтрамережі, ваш маршрут за замовчуванням повинен вказувати на шлюз на локальному LAN, або буде неоднозначність щодо того, яку мережу використовувати.

Проблема тут - це DNS. windows (і linux) також прив'язують конфігурацію DNS-сервера до локального інтерфейсу, а не до окремих маршрутизованих з'єднань, а це означає, що ви завжди зможете використовувати один DNS-сервер одночасно і не можете вибрати один умовно за адресою. Спробуйте переглянути DNSMasq на ПК VPN, як описано тут: http://blog.nixpanic.net/2013/03/use-dnsmasq-for-separating-dns-queries.html


Чи можете ви пояснити мені, як Windows (або Linux) може визначити, який DNS-сервер використовувати на основі імені, яке ви намагаєтеся вирішити? Думаю, спочатку потрібно шукати ім'я хоста, щоб отримати його IP-адресу. На основі IP-адреси та таблиць маршрутизації комп'ютер може вирішити, яке з'єднання слід використовувати.
gogognome

вибачте це виглядає як 2 пізно, але ви не можете. як я вже сказав, DNS - це інтерфейс і не є динамічним, оскільки він не робить жодного вибору на основі того, яке ім'я ви вирішуєте.
Frank Thomas

1

Див. Мою відповідь це питання суперкористувача для найпростішого рішення, з скріншотами і основним поясненням основного питання.


Вибачте, але я не бачу, як це виправити проблему DNS. Коли я підключений до обох мереж, маршрутизація не є проблемою (я мав би доступ до хостів у будь-якій з мереж безпосередньо, використовуючи їх IP-адресу, але не використовуючи ім'я хоста). Як згадував Френк Томас його відповідь здається, що більшість ОС можуть використовувати тільки один DNS-сервер одночасно, незалежно від того, як налаштована маршрутизація.
FixMaker

Маршрутизація в цьому випадку є DNS. Все, що я можу зробити, це переконатися, що DNS працює в обох мережах, коли обидва підключені, так що вам не доведеться використовувати IP-адреси для локальної мережі при підключенні до VPN. Здається, ви невиправдано намагаєтеся ускладнити досить просте питання.
Jerry W Jackson

Ні, DNS! = Маршрутизація в будь-якому випадку. Розділювач зберігає свій власний список серверів імен і відрізняється від таблиці маршрутизації. Тільки тому, що ви вимкнете налаштування, що призводить до того, що VPN буде перезаписувати маршрут за замовчуванням та інші маршрути, це не означає, що резольвер автоматично дізнається, коли надсилати DNS-запити до певних доменів одному серверу імен проти іншого. Корекція маршрутів лише робить їх обома доступними. Розділювач спробує виконати перший сервер, що знає про нього, але намагатиметься лише наступного, якщо він вимкнеться без відповіді (тому відповіді NXDOMAIN не враховуються).
Brian Cline
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.