Где NetworkManager хранит доменное имя для создания resolv.conf?
У меня проблемы с правильной настройкой доменного имени в CentOS 6. Мой resolv.conf выглядит так:
nameserver 198.6.100.25
nameserver 198.6.100.53
nameserver 198.6.100.38
# Generated by NetworkManager
domain andyshinn.as
search vcolo.andyshinn.as
У меня есть один интерфейс eth0 со следующей конфигурацией:
DEVICE=eth0
BOOTPROTO=none
NM_CONTROLLED=yes
ONBOOT=yes
TYPE=Ethernet
HWADDR=00:0c:29:3b:2a:70
IPADDR=192.168.50.6
NETMASK=255.255.255.0
DNS2=198.6.100.53
GATEWAY=192.168.50.1
DNS1=198.6.100.25
IPV6INIT=no
USERCTL=no
Файл хостов для справки также:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.50.6 myvm myvm.vcolo.andyshinn.as
Я пытаюсь изменить домен на vcolo.andyshinn.as
, Но после перезагрузки он возвращается к andyshinn.as
, По встроенному комментарию я вижу, что он генерируется NetworkManager. Тем не мение, system-config-network-tui
не имеет ничего о доменном имени (только путь поиска).
fgrep -r 'andyshinn.as' /etc/*
только воспитывает /etc/sysconfig/networking/profiles/default/resolv.conf
как еще один выбор для редактирования. Но я пытался редактировать этот файл также с теми же результатами. Это виртуальная машина, работающая в VMware Workstation. Но у меня отключен DHCP-сервер для интерфейса VMnet, который использует виртуальная машина.
Вместо того, чтобы просто слепо отключить NetworkManager (который, кажется, является ответом на большинство проблем, связанных с NetworkManager), я хотел бы понять больше о том, как он работает и сохраняет конфигурацию. Так как же моя система заканчивается andyshinn.as
как доменное имя и что нужно обновить, чтобы установить его vcolo.andyshinn.as
?
4 ответа
Вам необходимо отредактировать следующие файлы: /etc/sysconfig/network
, Установите следующее:
HOSTNAME=vcolo.andyshinn.as
DOMAIN=andyshinn.as
Установите короткое имя в /etc/sysconfig/network
HOSTNAME=vcolo
Отредактируйте /etc/hosts и установите другую строку следующим образом:
[root@vcolo ~]# cat /etc/hosts
127.0.0.1 vcolo.andyshinn.as vcolo
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
Это сработало для меня на Fedora 14. Вы также можете попробовать следующую команду:
system-config-network
Перейдите в "Конфигурация DNS", и вы найдете ячейку для ввода имени хоста и домена для ваших хостов.
Я обнаружил, что хотя моя маска сети была правильно настроена в различных файлах ifcfg-eth0 в / etc, она была неправильно установлена во время загрузки. Не нашел, где он был установлен, но с помощью system-config-network я обнаружил, что он установлен на неправильное значение. Исправлено с помощью этого инструмента и проблема решена!
Надеюсь, это работает и для вас.
NetworkManager использует файлы, которые уже присутствуют в вашей системе. Посмотрите на этот скрипт, /etc/NetworkManager/dispatcher.d/11-dhclient
, который является частью файлов конфигурации NetworkManager.
В частности, есть эти 2 строки:
...
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
...
...
[ -f /etc/sysconfig/network-scripts/ifcfg-$interface ] && \
. /etc/sysconfig/network-scripts/ifcfg-$interface
...
Эти строки будут содержать содержимое того, что находится в /etc/sysconfig/network, и различные файлы интерфейса ifcfg-$ (ifcfg-eth0, ifcfg-wlan0 и т. Д.), Если эти файлы присутствуют.
Поэтому, как правило, вы хотите установить /etc/sysconfig/network
подать файл так:
NETWORKING=yes
HOSTNAME=myhost
И настроить файл конфигурации клиента DHCP, /etc/dhcp/dhclient.conf
, так что он содержит эти строки:
supersede domain-name "my.domain.com";
prepend domain-search "my.domain.com";