Привязка к другому порту с Linux

У меня есть DNS-сервер bind9, который я настроил для работы в порту 55, но не могу заставить работать настройку. Сервер работает нормально, но я не могу настроить свой локальный компьютер для разрешения запросов к серверу имен с 127.0.0.1, порт 55

Пример:

dig -p 55 a1.mylocalinstance.dip
...
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; QUESTION SECTION:
;a1.mylocalinstance.dip.        IN  A

;; ANSWER SECTION:
a1.mylocalinstance.dip. 10800   IN  A   192.168.1.107

;; AUTHORITY SECTION:
mylocalinstance.dip.    10800   IN  NS  ns.mylocalinstance.dip.

;; ADDITIONAL SECTION:
 ns.mylocalinstance.dip.    10800   IN  A   192.168.1.100

;; Query time: 0 msec
;; SERVER: 127.0.0.1#55(127.0.0.1)
;; WHEN: Fri Dec 18 00:20:54 EET 2015
;; MSG SIZE  rcvd: 96

Когда я пытаюсь ssh на моем сервере:

$ssh test@a1.mylocalinstance.dip
ssh: Could not resolve hostname a1.mylocalinstance.dip: Name or service not known

Мой файл /etc/resolv.conf:

nameserver [127.0.0.1]:55
nameserver fe80::1%wlan0

Я не понимаю отношения-зависимости между сетевым менеджером и распознавателем и как заставить вещи работать с привязкой в ​​моем порту и как я могу пересылать свои DNS-запросы на порт 55.

2 ответа

Вы не объяснили, что не так с портом 53, 127.0.0.1:53. Если он уже используется, вы можете попытаться настроить DNS-сервер bind9 на порт 53 другого локального адреса, например, 127.0.0.53. То есть 127.0.0.53:53. Я не проверял это.

Кроме того, я думаю, что некоторые ОС, возможно, MAC, также могут быть настроены на чтение порта, скажем, 55, в resolv.conf или их эквиваленте.

Имейте в виду, что порт 53 является портом назначения (DNS-сервера), независимо от того, находится он на локальном компьютере или в другом месте. Единственным вариантом подключения к DNS-серверу через порт 55 будет использование команды iptables. Пока /etc/resolv.conf указывает на другую машину, любая другая служба может работать на порту 53 локального блока (хотя для его запуска вам нужно быть пользователем root, и я не могу придумать вескую причину для этого). так).

NetManger читает файл конфигурации (в вариантах Debian /etc/network/interfaces) и записывает файл /etc/resolv.conf при его запуске (обычно при загрузке). Другими словами, NetworkManager - это просто программа, которая записывает файлы конфигурации, используемые другими программами, и / или вызывает программы / сценарии для использования этих файлов конфигурации.

Другие вопросы по тегам