Сбой перенаправления DNS-запросов с помощью dnsmasq на сервер перехода

Моя цель - пересылать DNS-запросы для определенных связанных с работой хостов на сервер перехода, который может обрабатывать эти запросы.

Я сопоставил порт 53 на сервере перехода с 5353 локально следующим образом:

ssh -L 5353:localhost:53 pritzl@jump

В этом сеансе я могу nslookup server.work. Теперь я хочу сделать то же самое на своей машине дома.

Я настроил dnsmasq.conf в /etc/NetworkManager/dnsmasq.d/dnsmasq.conf следующим образом:

server=/google.com/1.1.1.1
server=/server.work/127.0.0.1#5353

Затем перезапустил сетевой менеджер: service network-manager restart.

Теперь давайте проверим:

  • Для google.com я получу:
pritzl@pritzl-vault:~$ nslookup google.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Non-authoritative answer:
Name:   google.com
Address: 172.217.17.78
  • Для server.work я получу:
  • ]
pritzl@pritzl-vault:~$ nslookup server.work
;; connection timed out; no servers could be reached
  • Для server-2.work я сразу получаю:
pritzl@pritzl-vault:~$ nslookup server-2.work
Server:     127.0.1.1
Address:    127.0.1.1#53

** server can't find server-2.work: NXDOMAIN

(Что касается последнего, я думаю, это имеет смысл, поскольку DNS моего провайдера не Я не знаю server-2.work и могу ответить немедленно. Думаю, мне следует изменить свой dnsmasq.conf, чтобы включить в него все из *.work, но это хороший тест для ограничения.)

Что-то не так, но я не знаю что. Как мне продолжить это?

дополнительная информация

Я также попытался установить server=/google.com/127.0.0.1#5353 в dnsmsaq.conf, а затем nslookup google.com больше не работает ( Помимо заключения, что ничего не работает, просто не только связанные с работой хосты). Я не уверен, что именно это означает , точно , но я подумал, что это был интересный тест, чтобы добавить сюда.

1
задан 7 July 2019 в 21:29

1 ответ

От man ssh:

-L local_socket:remote_socket
         Specifies that connections to the given TCP port or Unix socket
         on the local (client) host are to be forwarded to the given host
         and port, or Unix socket, on the remote side.

DNS обычно использует UDP, не TCP. Пока TCP может использоваться, и dnsmasq ограничил поддержку этого, этому не оказывают тот Ваш удаленный сервер DNS поддержку (или настроены) для этого.

0
ответ дан 7 December 2019 в 19:39

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

Похожие вопросы: