Как мне заставить dig использовать исходный IP-адрес, отличный от localhost, при запросе DNS-сервера, работающего локально на моей машине?

#linux #networking #dns #dig

#linux #сеть #dns #dig

Вопрос:

Я пытаюсь запустить плагин corednshttps://github.com/coredns/demo это возвращает 1.1.1.1 для 172.0.0.0 / 8 или 127.0.0.0 / 8 и 8.8.8.8 для всего остального.

Я запускаю двоичный файл и пытаюсь сделать запрос от dig, используя dig example.org @localhost -p1053 short который возвращает 1.1.1.1, поскольку запрос отправляется с localhost

Могу ли я каким-либо образом отправить запрос из dig в coredns, чтобы DNS-серверу могло показаться, что он отправлен с другого IP, и вместо этого он вернет 8.8.8.8?

Ответ №1:

Из руководства по dig:

    -b address[#port]
       Set the source IP address of the query. The address must be a valid address on one of the host's network interfaces, or "0.0.0.0" or "::". An optional port may be
       specified by appending "#<port>"
  

В противном случае, если сервер поддерживает ECS (клиентская подсеть EDNS), вы можете использовать опцию dig subnet=addr , чтобы передать ее серверу и посмотреть, как изменится его ответ.