On среда, 11 ноября 2015 г. 14:34:40 MSK, sergio wrote:
Почему и кто трогает мой /etc/resolv.conf при 'ifup eno1' если
# cat /etc/network/interfaces | grep -v '^#'
auto lo
iface lo inet loopback
allow-hotplug eno1
iface eno1 inet static
address 192.168.33.8/24
gateway 192.168.33.1
(Там появляется ipv6 nameserver, но iface eno1 inet6 auto я закомментировал)
Если сеть настраивается с помощью ifupdown (в Debian по умолчанию это так,
и менять никто не планирует), то systemd тут не при чём.
Альтернативой выступают сервисы systemd-networkd и systemd-resolved.
Но! systemd-resolved никогда не пишет в /etc/resolv.conf. Он пишет в
/run/systemd/resolve/resolv.conf.
Симлинк из /etc/resolv.conf рекомендуется иметь для совместимости
(например, для программ host, dig и т. д.)
В общем случае при использовании systemd-resolved resolv.conf вообще
становится не нужен.
Кто трогает можно отследить с помощью sysdig (я сейчас точно не помню, как
это делается).
Откуда берутся названия интерфейсов и почему они самопроизвольно
меняюся? Вначале были enp6s0 и enp7s0, потом они превратились в enp7s0 и
enp8s0 (или 8 и 9, уже не помню), а теперь eno1 и eno2.
Это так называемые predictable network interface names, но они не должны
меняться.
В этом смысл их существования. Машина-то физическая?
Как и всегда, можно задать любые имена с помощью udev-правила:
SUBSYSTEM=="net", ATTR{address}=="MAC-адрес тут", NAME="eth0"