Использование замены доменного поиска в dhclient+resolvconf добавляет?
На моем компьютере с Ubuntu 16.04 я использую DHCP для получения IP-адреса от маршрутизатора моего интернет-провайдера. Он отвечает DNS-серверами и поисковыми доменами DNS, которые я хочу переопределить.
/etc/dhcp/dhclient.conf
:
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name = "my.hostname";
request subnet-mask, broadcast-address, routers, interface-mtu;
supersede domain-name-servers 10.1.2.3;
supersede domain-search "mydomain.tld";
Здесь я настроил DHCP-клиент на:
- не запрашивать доменные имена серверов и / или поисковый домен
- переопределить оба
domain-name-servers
а такжеdomain-search
если так или иначе предоставлено.
Однако, что теперь происходит с resolvconf:
/etc/resolv.conf
:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.1.2.3
search home mydomain.tld
Обратите внимание на home
вход туда? Это то, что мой дерьмовый ISP-маршрутизатор посылает мне, несмотря на то, что я не запрашиваю его (подтверждено с помощью tcpdump, см. Ниже). Так что, видимо, dhclient добавляется вместо переопределения, как если бы я использовал append
вместо supersede
,
Что я делаю неправильно? Я хочу, чтобы dhclient игнорировал поддельный ненастраиваемый домен поиска DNS.
Я бы посчитал это проблемой безопасности, так как я не хочу, чтобы он выполнял поиск пугающего домена для каждого DNS-запроса, который я делаю на своем хосте. Кроме того, почему dhclient даже пытается разобрать варианты ответа, которые он не запрашивал?
Информация о версии программного обеспечения (все версии Ubuntu 16.04):
ii isc-dhcp-client 4.3.3-5ubuntu12.7
ii resolvconf 1.78ubuntu4
ТСРйитр:
01:09:35.629136 IP (tos 0x10, ttl 128, id 0, offset 0, flags [none], proto UDP (17), length 328)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 52:54:00:23:86:a8, length 300, xid 0x9e3d912a, Flags [none] (0x0000)
Client-Ethernet-Address 52:54:00:23:86:a8
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: Request
Requested-IP Option 50, length 4: 192.168.999.24
Hostname Option 12, length 27: "my.hostname"
Parameter-Request Option 55, length 4:
Subnet-Mask, BR, Default-Gateway, MTU
01:09:35.642166 IP (tos 0x0, ttl 64, id 0, offset 0, flags [none], proto UDP (17), length 576)
192.168.999.1.67 > 192.168.999.24.68: [udp sum ok] BOOTP/DHCP, Reply, length 548, xid 0x9e3d912a, Flags [none] (0x0000)
Your-IP 192.168.999.24
Server-IP 192.168.999.1
Client-Ethernet-Address 52:54:00:23:86:a8
Vendor-rfc1048 Extensions
Magic Cookie 0x63825363
DHCP-Message Option 53, length 1: ACK
Server-ID Option 54, length 4: 192.168.999.1
Lease-Time Option 51, length 4: 3600
Hostname Option 12, length 27: "my.hostname"
Subnet-Mask Option 1, length 4: 255.255.255.0
Default-Gateway Option 3, length 4: 192.168.999.1
Domain-Name-Server Option 6, length 8: 1.2.3.4,4.5.6.7
Domain-Name Option 15, length 4: "home"
TTL Option 23, length 1: 64
2 ответа
Я заменял неправильный вариант dhcp.
Вместо domain-name-search
вариант, мой маршрутизатор провайдера ответил domain-name
вариант. Последний вариант заменить.
Кажется, что комбинация dhclient-resolvconf объединяет информацию как от основного имени домена (home
здесь) с поиском доменов.
По-прежнему открыт для размышлений: почему dhclient пытается разобрать и обработать опцию domain-name
? Я не просил это. По-видимому, мне нужно заменить все ответы, которые я не просил для этого ненадежного устройства, которое посылает мне? Похоже, хороший вектор атаки здесь...
Некоторые из ваших вопросов относительно того, почемуdomain-name
возвращается DHCPD-сервером, адрес которого указан на странице руководства дляdhclient.conf
:
Оператор запроса заставляет клиента запрашивать, чтобы любой сервер, отвечающий клиенту, отправлял клиенту свои значения для указанных параметров. В операторе запроса следует указывать только имена опций, а не параметры опций. По умолчанию клиент DHCPv4 запрашивает маску подсети, широковещательный адрес, смещение времени, маршрутизаторы, имя домена, поиск домена, серверы доменных имен, имя хоста, nis-домен, nis-серверы, ntp- серверы и параметры интерфейса-mtu. Клиент DHCPv6 по умолчанию запрашивает серверы имен и поиск домена. Обратите внимание: если вы введете оператор «запрос», вы отмените значение по умолчанию, и эти параметры не будут запрошены.
The request;
запрашивает набор по умолчанию:
По умолчанию клиент DHCPv4 запрашивает маску подсети, широковещательный адрес, смещение времени, маршрутизаторы, имя домена, поиск домена, серверы доменных имен, имя хоста, nis-домен, nis-серверы, ntp- серверы и параметры интерфейса-mtu