Где 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";

Ресурсы

Другие вопросы по тегам