Привязка к другому порту с 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 - это просто программа, которая записывает файлы конфигурации, используемые другими программами, и / или вызывает программы / сценарии для использования этих файлов конфигурации.