我正在寻找作为生成文件源的原始配置文件/run/resolvconf/interface/eth0.dhclient
。
该文件包含我的计算机的 DNS 服务器名称和域名。我可以更改它们,但更改不是持久的(其他配置文件通过使用 进行更新resolvconf -u
)。但是,服务器重新启动后会恢复旧值。
Ubuntu 14.04 LTS 服务器上未安装网络管理器。
经过几个小时的调查,我得出结论,域名是通过我们的提供商 DHCP 服务器设置的。我搜索了一种方法绕过域名,但没有成功:
在文件中添加
dns-domain-name
配置:iface
eth0
eth0.cfg
auto eth0 iface eth0 inet dhcp dns-domain-name projet-okinawa.org
- 在中添加
send domain-name
并取消注释supersede
相同的域名dhclient.conf
/etc/hosts
设置ip 的完全限定名称127.0.0.1
我遇到了任何错误,但从未得到服务器的正确 fqdn。我要么得到了提供程序 dhcp 错误,要么得到了此错误:
hostname: Name or service not known
答案1
/etc/dhcp/dhclient-enter-hooks.d/resolvconf
/run/resolvconf/interface/eth0.dhclient
通常在 DHCP 客户端处理 IP 地址更新时写入。
这也可能很方便:
14.04 默认(最小化)/etc/dhcp/dhclient.conf
option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name = gethostname();
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, domain-search, host-name,
dhcp6.name-servers, dhcp6.domain-search,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers,
dhcp6.fqdn, dhcp6.sntp-servers;
加,man dhclient.conf
man dhcp-options
man dhcp-eval
我建议不要破解 resolvconf 或 dhclient.conf,而是使用类似这样的指令将所需的所有内容设置为 dhclient.conf 包含脚本
script "/etc/dhcp/dhclient.conf.d/this-is-a-foo-corp-or-my-network-managed-system";
Ubuntu 无法处理每一个企业边缘情况(但确实处理最常见的情况),因此在极少数情况下可能需要进行微小的更改。