我在 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
Hosts 文件也可供参考:
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
没有任何关于域名的信息(只有搜索路径)。
Afgrep -r 'andyshinn.as' /etc/*
只会显示/etc/sysconfig/networking/profiles/default/resolv.conf
另一个编辑选项。但我也尝试编辑此文件,结果相同。这是在 VMware Workstation 中运行的虚拟机。但我已为虚拟机正在使用的 VMnet 接口禁用了 DHCP 服务器。
我不想盲目地禁用 NetworkManager(这似乎是解决大多数 NetworkManager 相关问题的答案),而是想更多地了解它的工作原理和保存配置。那么我的系统最终会以 为andyshinn.as
域名,需要进行哪些更新才能将其设置为vcolo.andyshinn.as
?
答案1
您需要编辑以下文件:/etc/sysconfig/network
。设置以下内容:
HOSTNAME=vcolo.andyshinn.as
DOMAIN=andyshinn.as
答案2
将短名称设置到 /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
答案3
NetworkManager 使用系统中已有的文件。请查看此脚本,/etc/NetworkManager/dispatcher.d/11-dhclient
它是 NetworkManager 配置文件的一部分。
具体来说有以下两行:
...
[ -f /etc/sysconfig/network ] && . /etc/sysconfig/network
...
...
[ -f /etc/sysconfig/network-scripts/ifcfg-$interface ] && \
. /etc/sysconfig/network-scripts/ifcfg-$interface
...
如果这些文件存在,这些行将获取 /etc/sysconfig/network 中的内容以及不同的 ifcfg-$interface 文件(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";
资源
答案4
这在 Fedora 14 上对我有用。您也可以尝试以下命令:
system-config-network
去“DNS 配置”您将找到一个用于填写主机名和域的单元格。
我发现,尽管我的网络掩码在 /etc 中的各种 ifcfg-eth0 文件中配置正确,但在启动时设置错误。没有找到它设置在哪里,但使用 system-config-network 我发现它设置为错误的值。使用此工具更正它,问题解决了!
希望它也适合你。