Коротка відповідь
Немає.
Однак ви можете використовувати DNS, щоб (допомогти) здійснити те, що ви прагнете зробити.
Оцінка ситуації
Це справді здається випадком проблеми XY . Ви намагаєтеся зрозуміти, як конфігурація DNS буде контролювати маршрутизацію. Проблема полягає в тому, що DNS дуже мало впливає на маршрутизацію. Це, мабуть, пов’язано з деякою відсутністю ознайомлення з тим, як працює маршрутизація.
Отже, я згоден з відповіддю D34DM347 . Однак, коли виникає проблема XY, я розумію, що іноді вам не просто потрібна відповідь, яка намагається допомогти вам зіткнутися з правильним напрямком, тому що цей напрямок може здатися не бажаним, якщо ви не зрозумієте більш детальну інформацію про причини, якими повинен бути цей напрямок. переслідується. Отже, я торкаюся деяких дизайнерських концепцій тут.
Узагальнення цього небезпечно
це "система в цілому", ймовірно, створена до ...
Ну, інформація про "систему в цілому" може істотно відрізнятися. Існують різні підходи до виконання справ. Деякі можуть бути ефективнішими, хоча ціною складності в налаштуванні речей.
Ви ставите запитання про можливість скоротити шлях, який проходить трафік, щоб трафік міг використовувати ваше місцеве обладнання та пропускати через Інтернет. Ну, чи це можливо, чи ні, буде залежати від вашого місцевого обладнання. Відповідь буде різною для різних мереж, залежно від того, яке місцеве обладнання. Стандарти маршрутизації в Інтернеті по всьому світу не стосуються багатьох деталей щодо того, чи працює ваше місцеве обладнання на сервері DNS.
Я не хочу надмірно конкретизуватись, надаючи лише одну відповідь про те, як все працює, тому що існує декілька способів, як це може статися. Різні рішення мають різні можливості. Обмеження простих можливостей є однією з причин, чому можуть бути доступні різні варіанти.
Ще однією причиною для декількох можливих конструкцій може бути те, що деяке обладнання може мати більш досконалі можливості, ніж те, що я, можливо, передбачу. Наприклад, я пам'ятаю, як налаштувати маршрутизатор для передачі трафіку на комп'ютер, який би підтверджував вихідний трафік, і передавав перевірений трафік назад на маршрутизатор, який фізично підключався до Інтернету. Моя настройка не вдалася, оскільки маршрутизатор був розроблений для оптимізації трафіку, тому обладнання намагалося перевершити мій дизайн, пропустивши трафік, що, на його думку, було зайвим кроком.
Оскільки існують різні можливі ситуації, які можуть залежати від деталей, таких як програмне забезпечення "DNS-сервера", до якого можна скористатися, не існує лише однієї простої відповіді, яка скаже, на що здатна ваша локальна мережа. (Ваше запитання було доволі розпливчастим щодо деяких деталей щодо вашої настройки (наприклад, яке обладнання використовується, і можливо, які операційні системи чи веб-браузери ви використовуєте). Існує не один простий відповідь, який стосується всіх можливих ситуацій.) Отже, Я просто надам декілька загальних вказівок щодо загальнодоступного.
Дозвіл імені
Багато DNS-сервери підтримують концепцію під назвою "розділений горизонт", що в основному означає, що відповідь, отримана від DNS-сервера, буде залежати від того, звідки надходить запит. Наприклад, загальною методикою є надання однієї відповіді (яка є внутрішньою адресою) на всі запити, що надходять з адрес "IETF BCP 5" (більш відомих як "RFC 1918" адреси, які є IPv4 адресами, починаючи з "10". "або" 192.168. "або номер, що починається з" 172.16. "до" 172.31. ") надсилається на вашу внутрішню адресу. Запити з інших IPv4-адрес отримають іншу відповідь, що призводить до вказівки на іншу адресу, до якої можна дістатися з більшості місць на цій планеті. (IPv6 також оброблятиметься за допомогою різних деталей конфігурації, але може бути налаштований на роботу аналогічно IPv4. Щоб уникнути нормальності речей, напевно, слід встановити IPv6, подібний до IPv4.
Тепер, чи це легкодоступний варіант для вас, чи ні, може залежати від таких факторів, як DNS-сервер, який використовується.
Якщо ваш веб-браузер знаходиться на комп’ютері, який пересилає весь трафік DNS на відомий загальнодоступний сервер DNS, наприклад google-public-dns-a.google.com (8.8.8.8) або OpenDNS (208.67.222.222 та 208.67.220.220), то це для вас, ймовірно, не є можливим. Це загальний сценарій.
Однак інший досить поширений сценарій може спрацювати нормально. Якщо ваш веб-браузер використовує будь-який сервер DNS, який рекомендує ваш DHCP-сервер, і якщо ваш DHCP-сервер є вашим локальним маршрутизатором, і якщо цей рекомендований DNS-сервер також є вашим локальним маршрутизатором, ви, можливо, зможете налаштувати це, заглянувши у свій конфігурація маршрутизатора для функціональності "сервера DNS" і шукати щось, що посилається на розділений горизонт (або подібний термін, наприклад "розділений DNS").
Отже, один варіант може передбачати налаштування сервера DNS у вашому місці. Однак навіть це може бути більшою роботою, ніж те, що потрібно. Можливо, ви зможете виконати те саме, використовуючи техніку "роздільної здатності", відмінну від DNS. Більшість комп'ютерів підтримуватиме використання "хост-файлу" в якості основного ресурсу для спочатку перевірки, а потім використовувати DNS, якщо локальний "файл хостів" системи не надає більш конкретної інформації. Отже, якщо у вас є лише один веб-браузер, для якого ви хочете це зробити, ви можете досягти своєї мети (або скоротити маршрут руху), просто відредагувавши текстовий файл, який цілком обходить DNS.
SSH натискання клавіш
якщо я SSH на сервер (за його доменним іменем) - це кожен натискання клавіші [перехід до провайдера]
Незалежно від того, чи будуть ваші натискання клавіш переходити до провайдера, чи ні, повністю залежатиме від деталей, таких як IP-адреса, яку ви використовуєте, і від того, як буде спрямований IP-трафік на цю IP-адресу. (Зрозумійте, що IP-адреса досить числова, як 192.168.0.10 в IPv4, або fd00 :: abcd в IPv6, яка використовує шістнадцятковий. Ім’я домену, яке використовується в DNS, як example.com, не є IP-адресою.) Коли ви " SSH на сервер (за його доменним іменем) ", що насправді трапляється, це те, що ваш клієнт SSH здійснить пошук" роздільної здатності імені ", який, ймовірно, буде включати перевірку даних у" файлі хостів ", а потім перевірити DNS. (Можуть бути й інші кроки, наприклад, перевірка локального кешу "Resolver" перед тим, як виконати будь-яку з цих речей, а потім, якщо використовується DNS, зберігання результатів у кеш "Resoluver", щоб прискорити роботу наступного разу. ) Ваш клієнт SSH робить це перед тим, як спробувати зв’язатися з віддаленою машиною. Потім, після того, як процес "вирішення імені" буде використаний для генерування IP-адреси, клієнт SSH здійснить з'єднання SSH, використовуючи IP-адресу, яка була результатом пошуку "роздільної здатності імені". Тож спосіб обробки трафіку залежатиме від IP-адреси, а не від того, чи введено ви доменне ім’я.
Основна загальна робота DNS - це, по суті, лише допомога в процесі "вирішення імені" перетворити ім'я в IP-адресу. Те, як рухається трафік по всій системі, - це концепція, яку найчастіше називають "маршрутизацією", і якою керують різні програми / конфігурації, ніж "роздільна здатність імені". Тож люди, які добре розуміють цей матеріал, спробують відповісти на ваші запитання, пов’язані з DNS, окремо від питань, пов’язаних із вашим маршрутизатором, адже це дійсно окремі технології, розроблені для окремих цілей, а речі найпростіші, якщо ви спробуєте подумати над тим, як вони були розроблений. В голові тримайте окремо DNS та маршрутизацію.
Це завершує моє висвітлення теми DNS. Тепер дозвольте мені вирішити інший великий фокус вашого питання, який полягає в тому, як трафік направляється.
Маршрутизація
server -> сервер
Це також може бути варіантом. Коли комп'ютер намагається надсилати мережевий трафік, частиною процесу є створення належного кадру "Шар 2". Найпоширеніші форми кадрів "Шар 2" в домашніх мережах - це кадр Ethernet, який надсилатиметься через UTP-кабель, або рамка Wi-Fi, що надсилається по дихальних шляхах. (Комерційні сайти можуть використовувати інші технології, такі як волоконно-оптичні з'єднання.) Типовий кадр "Шар 2" використовує адресу MAC-48 для ідентифікації одержувача.
Комп'ютер, який відправляє трафік, перевірить, що таке IP адреса призначення. Наприклад, скажімо, що комп'ютер, що передає трафік, використовує IPv4 192.168.1.205, а комп'ютер, який буде отримувати трафік, - IPv4 192.168.1.15. Якщо ваш комп’ютер використовує маску підмережі 255.255.255.0, це означає, що розмір підмережі становить 256 адрес. (Якщо б у вас була інша маска підмережі, яка починається з "255.255.255.", То це була б менша підмережа.) Є одна підмережа, яка має 256 адрес, і містить 192.168.1.205, і це підмережа, що йде від 192.168.1.0 по 192.168.1.255.
Оскільки 192.168.1.15 є частиною тієї самої підмережі, комп'ютер надішле кадр рівня 2, використовуючи адресу MAC-48 потрібного пункту призначення (на вашу схему вказано, що це сервер). Трафік не надсилатиметься на будь-яку адресу маршрутизатора.
Якщо, з іншого боку, адреса призначення була 203.0.113.6, то це не було б частиною тієї ж підмережі, що і джерело (192.168.1.205). У цьому випадку таблиця маршрутизації вказує, що трафік надсилається на пристрій "шлюз". ("Шлюз за замовчуванням", ймовірно, ваш маршрутизатор.) Таким чином, комп'ютер відправить кадр рівня 2, використовуючи MAC-48 адресу шлюзу. Завдання комп’ютера покладається на те, що шлюз дізнається, яке з мережевих підключень буде корисним для отримання трафіку до потрібного пункту призначення. Шлюз може використовувати мережеве з'єднання, яке спілкується з Постачальником Інтернет-послуг, а може й ні. Ці деталі контролюються такими факторами, як IP-адреси, які використовуються та наскільки великі підмережі.
Маршрутизація обробляється ключовими деталями маршрутизації, такими як IP-адреса комп'ютера-джерела, IP-адреса пункту призначення, розмір підмережі вихідного комп’ютера та "шлюз за замовчуванням", який обробляє трафік, який не є частиною більш конкретної підмережі. Комп'ютер у домашній мережі зазвичай отримує більшість цих даних для IPv4 за допомогою DHCP. Єдиним винятком є "IP адреса призначення", і це єдина частина процесу, з якою, ймовірно, буде задіяна "роздільна здатність імені".
сервер -> маршрутизатор -> сервер
Ви запитували, чи є така можливість. Може бути. Я опишу, як це може працювати.
Це краще, ніж надсилання трафіку до провайдера. (Це зовсім не турбує обладнання провайдера, і зв’язок проходить швидше, ніж потрібно відправляти трафік на віддалений кінець.)
Перш за все, коли маршрутизатор отримує трафік, він дивиться на адресу MAC-48 призначення. Якщо адреса призначення MAC-48 не є маршрутизатором, то маршрутизатор нічого не робить з трафіком, якщо тільки маршрутизатор не налаштований так, щоб діяти як комутатор. Зазвичай домашні маршрутизатори маркують деякі свої мережеві порти як "порт LAN", і ці порти трактуються як єдине "посилання", тому маршрутизатор буде діяти як комутатор для цих пристроїв. У такому випадку маршрутизатор відправлятиме трафік з одного або декількох портів, які обробляються як комутатор.
Для того, щоб трафік переходив з внутрішнього порту локальної мережі до провайдера, маршрутизатор повинен відправляти трафік з мережевого порту, який повідомляє провайдеру. Ваша типова домашня мережа, ймовірно, не зробить цього, якщо IP адреса призначення є однією з "приватних" адрес, таких як адреси IPv4, зазначені в IETF BCP 5 (більш відомий як RFC 1918). Крім того, більшість провайдерів просто заблокує трафік IETF BCP 5 на виду (і не передасть цей трафік вам назад). Отже, ця налаштування (сервер -> маршрутизатор -> сервер) швидше є тим, що відбувається насправді, а не складнішим процесом із залученням провайдера.
Якщо інформація проходить через маршрутизатор, але ви просто використовуєте IETF BCP5 адреси у внутрішніх портах локальної мережі, я зазвичай не посилаюся на це як на залучення маршрутизатора. Натомість маршрутизатор обробляє трафік так само, як "комутатор", просто використовуючи адреси MAC-48 для прийняття рішень, пов'язаних з потоком трафіку.
Можлива інша установка, яка полягає в тому, що ви можете використовувати WAN-адресу. У цьому випадку використовується кілька підмереж, і тому пристрій діє як маршрутизатор. Це стає складнішим, але, оскільки це може бути можливим, що все може працювати, варто тут висвітлитись. Я надам приклад того, як це може успішно працювати. Цей наступний параграф містить кілька IP-адрес. Щоб зберегти ці адреси прямо, головна деталь, яку слід відстежувати, полягає в тому, що адреси, що починаються з "192.168.1", призначені для IP-адрес у локальній мережі, тоді як адреси, що починаються з "203.0.113", є адресами для підключення до WAN. (де маршрутизатор підключається до провайдера).
Що може статися, це те, що пристрій шлюзу в ISP може мати шлюзовий пристрій, використовуючи адресу, наприклад 203.0.113.5, та адресу IPv4 203.0.113.6, присвоєну "порту WAN" вашого маршрутизатора. Якщо ваш комп'ютер в 192.168.1.200 намагається зв’язатися з 203.0.113.6 (WAN-порту маршрутизатора), ваш маршрутизатор отримає трафік (на LAN-порту вашого маршрутизатора, можливо, на 192.168.1.15), і маршрутизатор зрозуміє, що трафік повинен спілкуватися за допомогою підмережа, яка містить 203.0.113.5 та 203.0.113.6. Коли маршрутизатор зрозуміє, що трафік надходить до 203.0.113.6, ваш маршрутизатор може реалізувати правило обробки трафіку для 203.0.113.6, яке говорить, що для трафіку порту 80 TCP повинен бути застосований "трансляція мережевих адрес" (NAT). Для цього ваш маршрутизатор створює новий IP-пакет, який доставляється з 203.0.113.6 на ваш локальний веб-сервер, що може бути в 192.168.1.50. Маршрутизатор розуміє, що 192.168.1.50 знаходиться в тій же підмережі, що і 192.168.1.15, і відправляє трафік з локального порту LAN.
Якщо так відбувається все, то маршрутизатор ніколи не буде причин відправляти трафік на 203.0.113.5, тому він ніколи не переходить до провайдера.
Насправді, якщо провайдер отримав цей трафік, провайдер, ймовірно, сказав би: "Отриманий трафік призначений для мережі цього клієнта. Однак трафік надходить із мережі клієнта. Цей трафік мені надсилався без потреби. Я не хочу співпрацюйте з цим. Я просто скину / ігнорую трафік ". Інтернет-провайдер очікує, що якщо це спричинить проблеми, проблеми будуть вирішені розумним шляхом фіксації вашої внутрішньої мережі, щоб вона не надмірно відправляла трафік до провайдера.
(Це також стосується поняття "комп'ютер -> маршрутизатор -> ISP -> маршрутизатор -> сервер". Якщо ви мали намір посилатися на один маршрутизатор обидва рази, коли ви говорили "маршрутизатор", тому що ви думали, що трафік може обернутися у провайдера, то це дуже небажано і цілком можливо неможливо через загальний спосіб, яким провайдери звертаються з трафіком.)
Отже, чи теоретично можливий «сервер -> маршрутизатор -> сервер»? Так. Однак не всі пристрої обов'язково підтримують NAT або підтримують їх однаково. Деякі пристрої можуть бути розроблені таким чином, щоб підтримувати NAT лише в певній точці процесу обробки трафіку, і це може бути раніше, ніж трафік перемикає підмережі з адрес "192.168.1" на адреси "203.0.113". Так, у деяких випадках це може не спрацювати. Як пояснено в останньому абзаці, рішення не полягає в тому, щоб не намагатися надсилати трафік до провайдера. (Рішення полягає в тому, щоб не надсилати трафік до IP-адреси на порту WAN маршрутизатора. Ви можете найбільш уникнути цього, впливаючи на те, як працює "роздільна здатність імені".)
Це лише питання про те, чи повинен я мати два псевдоніми для ssh-ing на своєму домашньому сервері (sshmyserverlocal або sshmyserverremote), тож у мене буде якнайшвидше підключення, якщо локальне, або якщо DNS піклується про це для мене.
Ви хочете, щоб це вирішили, використовуючи "дозвіл на ім'я" або маршрутизацію IP або те і інше. Якщо у вас є кілька імен, і ви в кінцевому підсумку використовуєте неправильне ім’я, то іноді така деталь взагалі не має значення, а іноді вони будуть. Наприклад, команда "ping" використовує ICMP, і, ймовірно, це не вплине. Однак якщо ви використовували HTTPS (замість SSH), то імена хостів можуть мати значення дещо більше. Що стосується SSH (про який згадувалося в прикладі), це, мабуть, мало би мало значення, хоча принаймні деякі версії sshd використовували зворотний DNS, і тому у вас можуть виникнути затримки, якщо речі не збігаються, як очікувалося.
З метою душевного спокою та можливої належної технічної функціональності завжди потрібно використовувати правильне ім’я хоста. Наприклад, сертифікат SSL веб-сервера повинен мати ім’я, яке відповідає тому, що вводиться у веб-браузер. Найпростіший спосіб зробити цю роботу, уникаючи пов'язаних з цим проблем, - це просто мати одне ім’я хоста (навіть якщо воно має кілька IP-адрес, завдяки використанню "хост-файлу" або за допомогою розділеного DNS).