У меня проблема, когда DHCP (хотя я читал в других похожих темах) очищает файл Я не уверен, как справиться с этим, поскольку сообщение, которое я нашел ( 1 , 2 и некоторые другие), относится к дистрибутивам на базе Debian или другим, но не к Fedora. /etc/resolv.conf
при каждой загрузке.
Это вывод ifcfg-enp0s31f6
так что, конечно же, это DHCP:
cat /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 HWADDR=C8:5B:76:1A:8E:55 TYPE=Ethernet DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no IPV6_AUTOCONF=no IPV6_DEFROUTE=no IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=enp0s31f6 UUID=0af812a3-ac8e-32a0-887d-10884872d6c7 ONBOOT=yes IPV6_PEERDNS=no IPV6_PEERROUTES=no BOOTPROTO=dhcp PEERDNS=yes PEERROUTES=yes
С другой стороны, я не знаю, делает ли Network Manager что-то еще вокруг этого.
Обновление: содержимое NetworkManager.conf (я удалил комментарии, поскольку они бесполезны)
$ cat /etc/NetworkManager/NetworkManager.conf [main] #plugins=ifcfg-rh,ibft dns=none [logging] #domains=ALL
Могу ли я помочь с этим? Это означает, что нужно настроить файл один раз и один раз при каждой перезагрузке.
ОБНОВЛЕНИЕ 2
Через месяц у меня все еще такая же проблема, когда файл удаляется «чем-то».
Вот шаги, которые я сделал, чтобы сделать новый тест:
После перезапуска ПК откройте терминал и, конечно же, попробуйте выполнить ping
серверов Google без успеха:
$ ping google.com ping: google.com: Name or service not known
Проверьте конфигурацию сети, все было в порядке:
$ cat /etc/sysconfig/network-scripts/ifcfg-enp0s31f6 NAME=enp0s31f6 ONBOOT=yes HWADDR=C8:5B:76:1A:8E:55 MACADDR=C8:5B:76:1A:8E:55 UUID=0af812a3-ac8e-32a0-887d-10884872d6c7 BOOTPROTO=static PEERDNS=no DNS1=8.8.8.8 DNS2=8.8.4.4 DNS3=192.168.1.10 NM_CONTROLLED=yes IPADDR=192.168.1.66 NETMASK=255.255.255.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1 TYPE=Ethernet DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=no
Перезапустите службу network
:
$ sudo service network restart [sudo] password for <current_user>: Restarting network (via systemctl): [ OK ]
Попробуйте снова ping
серверы Google, без каких-либо успехов:
$ ping google.com ping: google.com: Name or service not known
Проверьте файл /etc/resolv.conf
:
$ cat /etc/resolv.conf cat: /etc/resolv.conf: No such file or directory
Файл больше не существует – и это проблема, что-то удаляет его при каждой перезагрузке
Создайте файл и добавьте содержимое DNS:
$ sudo nano /etc/resolv.conf
Ping серверы Google на этот раз с успехом:
$ ping google.com PING google.com (216.58.192.110) 56(84) bytes of data. 64 bytes from mia07s35-in-f110.1e100.net (216.58.192.110): icmp_seq=1 ttl=57 time=3.87 ms
Любые идеи в том, что здесь может происходить?
По моему опыту, /etc/resolv.conf
восстанавливается при загрузке, поэтому любые ручные изменения в нем сбрасываются.
Чтобы обойти это, вы можете создать /etc/resolv.conf.head
(или .tail
зависимости от того, к какому концу файла, который вы хотите добавить), и вставить .tail
вам настройки (как правило, изменения в nameserver
). Затем содержимое этого файла автоматически добавляется, когда /etc/resolv.conf
генерируется NetworkManager (или какая бы служба не отвечала за файл в вашей системе).
Возможно, NetworkManager настраивает resolve.conf
. если вы этого не хотите, измените настройку rc-manager
в NetworkManager.conf. См. man NetworkManager.conf
.
Чтобы предотвратить обновление resolv.conf
во время загрузки, вы должны внести следующие изменения:
Изменить PEERDNS=yes
для PEERDNS=no
PEERDNS=no
Это предотвратит обновление сетевой службы /etc/resolv.conf серверами DNS, полученными от DHCP-сервера.
упомянутый на @Ipor Sircer comment's
Я думаю, вы были на правильном пути.
Теперь он работает для меня, но я не делал:
dns=none
на:
/etc/sysconfig/network-scripts/ifcfg-enp0s31f6
После того, как я перезапустил диспетчер сети, он автоматически создал resolv:
sudo service NetworkManager restart
Я перезагрузился и все еще работал.