Як вирішити локальне доменне ім’я?


21

Мій маршрутизатор Belkin має можливість встановити локальне доменне ім’я, яке, я підозрюю, дозволяє мені звертатися до хостів у власній мережі за допомогою цього домену. За замовчуванням це встановлено як "Белкин".

Чи можна викликати хостів у моїй мережі так, наприклад, ping foobar.belkinзамість цього ping 192.168.2.4?

Справа в тому, що на моїй внутрішній сторінці маршрутизаторів є всі задані імена хостів (так, dhclientздається, працює), а сам маршрутизатор доступний як router.belkin, але інших хостів немає.

Моя проблема в тому, що маршрутизатор знає ім'я кожного хоста, але хости не знають імені один одного. Як я можу це виправити?

Примітка: Nmap показав, що порт udp / 53 для DNS відкритий на моєму маршрутизаторі, але я не можу знайти жодного способу його налаштування в веб-інтерфейсі.

Додати: // Це "Belkin F7D3302 v1"


Ну, чи можете ви пінг місцевих клієнтів по IP?
М.Беннетт

Так, без проблем
MechMK1

Хоча я можу дістатись до свого FRITZ! Box за допомогою http://fritz.box, але я отримую доступ до інших машин у його мережі, використовуючи, .localа не .box. Раніше з іншим модемом / маршрутизатором було так .lan.
Ар'ян

Я думаю, що всі ми випереджали відповіді на це запитання, не знаючи насправді, який продукт Belkin використовується. Яку модель маршрутизатора ви використовуєте?
Qwilson

Відповіді:


11

Як правило, маршрутизатор не працюватиме як DNS-сервер, але вони часто виступають як DNS-проксі. Тобто, в DHCP вони видадуть свій власний IP як DNS-сервер, а потім обернуться та вдарять про справжні DNS-сервери. Якщо це робиться, то я думаю, що ви можете вирішити ці локальні, .belkin, імена.

Перевірте ipconfig / all і перевірте, чи шлюз за замовчуванням та сервер DHCP мають однаковий IP. Якщо ні, то введіть nslookup, тоді введіть "сервер ROUTER_IP" під запитом і спробуйте зробити пошук на google.com. Якщо це працює, то, мабуть, у маршрутизаторі є налаштування, щоб він давав власний IP як DNS-сервер, який не перевіряється.


14

Якщо машини вашої локальної мережі мають відносно сучасну операційну систему, ви можете отримати доступ до них, додавши ".local" до свого імені хоста, наприклад:

ping MACHINE_NAME.local

Щоб отримати ім'я з певного IP, використовуйте

avahi-resolve-address MACHINE_IP

Щоб побачити всі підключені назви машин та IP-адреси в локальній мережі, використовуйте щось подібне до цієї команди BASH:

px-lan-scan () {
    LOCAL_MASK=$(ip -o -4 addr show | awk -F '[ /]+' '/global/ {print $4}' | cut -d. -f1,2,3)
    GATEWAY=$(route -n | \grep '^0.0.0.0' | awk '{print $2}')
    if [ $1 ] ; then range=$1 ; else range="10" ; fi

    for num in $(seq 1 ${range}) ; do
        IP=$LOCAL_MASK.$num
        if [[ $IP == $GATEWAY ]] ; then MACHINE="gateway" ; else MACHINE=$(avahi-resolve-address $IP 2>/dev/null | sed -e :a -e "s/$IP//g;s/\.[^>]*$//g;s/^[ \t]*//") ; fi
        ping -c 1 $IP>/dev/null
        if [ $? -eq 0 ] ; then
            echo -e "UP    $IP \t ($MACHINE)" ; else
            echo -e "DOWN  $IP"
        fi
    done
}

1

Звичайно, це я роблю зі своїм маршрутизатором вдома.

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

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


Мій маршрутизатор - це сервер DHCP, але я не впевнений, чи здатний він служити DNS-сервером. Принаймні, такого варіанту я не знайшов
MechMK1

Я був би здивований, якби не вдалося, якщо чесно. Я використовую маршрутизатор asus, але на ньому прошивка ddwrt. Досить впевнений, він міг би зробити це з коробки, хоча.
Сірекс

Я трохи
погуглив

@Sirex Я думаю, що ключова відмінність тут полягає в тому, що маршрутизатор ASUS використовує DDWRT для своєї прошивки. Це програмне забезпечення добре відоме, як і OpenWRT, для надання чудових функцій, як можна було б очікувати від маршрутизатора
b01

1

Коротка відповідь - здебільшого "ні". Ваш маршрутизатор (в більшості випадків) не є сервером dns. Однак ви можете встановити статичні записи для всіх своїх пристроїв, а потім додати їх у свій список хостів у межах цих пристроїв.

Belkin F7D3302 не підтримує обслуговування DNS.


Ви, можливо, маєте рацію, але всі модеми / маршрутизатори домашнього рівня, якими я користувався (як SpeedTouch, FRITZ! Box), були вбудовані в якийсь вбудований DNS-сервер. (Або, принаймні, я завжди міг використовувати імена комп’ютера, а не якусь IP-адресу.)
Ар'ян

Ну Девід використовує Белкіна. Він зазначив, що не бачить місця для налаштування параметрів dns всередині маршрутизатора. Моя відповідь грунтувалася на припущенні (сформованому за даною інформацією), що цей маршрутизатор не буде керувати dns.
Квілсон

Так, це працює, але це самий небажаний варіант, оскільки його дуже важко підтримувати. І якщо маршрутизатор змінить будь-який з IP-адрес, він порушиться.
b01

1

У мене була точно така ж проблема.

Здається, проблема полягає в тому, що якщо ви спробуєте звернутися до локального імені хоста, маршрутизатор автоматично додає ".belkin", припускаючи, що belkin - це те, що ви встановили як своє місцеве доменне ім'я. Якщо змінити його на щось інше, це не вирішить проблему, і ви не можете залишити це поле порожнім.

Як сказав xaccrocheur вище, більшість сучасних ОС отримають доступ до більшості речей, додавши .local. Отже, я провів таку роботу, яка добре працює з більшістю моїх машин. Я змінив налаштування локального домену на маршрутизаторі на місцевий

Тепер я можу отримати доступ до MOST-пристроїв лише за назвою хоста


0

Встановіть та налаштуйте dns-сервер у локальній мережі, зареєструйте його на всіх хостах, введіть спочатку внутрішній dns-сервер у список серверів dns на маршрутизаторі Belkin. Тоді у вас буде те, що ви хочете.


1
Я хотів би з повагою погодитися з вашою відповіддю. Розміщення dns-сервера в мережі було б рішенням, але враховуючи той факт, що питання Девіда характерне для досягнення dns через маршрутизатор, це не прийнятна відповідь.
Квілсон

@Qwilson Чудова. Де ж тоді потрібно зберігати та знаходити записи dns для локального пристрою?
СТТР

Для (більшості) локальних пристроїв буде файл хосту для внутрішніх записів та виділений сервер для зовнішніх записів (наприклад, 8.8.8.8).
Qwilson

0

Хоча я не пропоную цього робити, це дасть вам бажаний результат (можливість пінг локальних імен хостів без встановлення окремого сервера DNS)

  1. На своєму основному комп’ютері перейдіть до C: \ Windows \ System32 \ Drivers \ тощо
  2. відкрийте файл хостів за допомогою блокнота
  3. прокрутіть донизу вашого хостового файлу
  4. додайте новий рядок під останнім коментованим рядком у файл, який виглядає приблизно так

192.168.2.1 маршрутизатор.белкін

Ім'я хоста 192.168.2.2

192.168.2.3 ім'я хоста2

Збережіть файл хостів.

Тепер спробуйте ввести ім'я хоста і ім'я хоста2, ви повинні побачити наступне

ping hostname2

Pinging hostname2 [192.168.2.3] with 32 bytes of data:

ping hostname

Pinging hostname2 [192.168.2.2] with 32 bytes of data:

Знову-таки, це не так, як я це робив би. Я б вирішив самостійно налаштувати DNS-сервер, але якщо у вас немає цього варіанту, це швидка та брудна альтернатива.

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

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