我遇到问题,centos dhclient脚本会覆盖我的/etc/resolv.conf文件。
我正在使用带有流浪汉的centos7图像1.7.2
我有一个非常简单的设置,这是我的VagrantFile
config.vm.define "puppetmaster" do |pm|
## Map the local puppet configuration to the puppetmaster
pm.vm.synced_folder "./puppetmaster", "/etc/puppet"
pm.vm.provision "puppet" do |puppet|
puppet.manifests_path = ["vm", "/etc/puppet/manifests"]
puppet.manifest_file = "site.pp"
end
pm.vm.box = "puppetlabs/centos-7.0-64-puppet"
pm.vm.network "private_network", ip: "192.168.2.2"
## Enable the GUI
pm.vm.provider :virtualbox do |v|
v.gui = true
v.name = "mattlab-puppetmaster"
v.customize ["modifyvm", :id, "--memory",2048]
v.customize ["modifyvm", :id, "--cpus",4]
end
end
正如您所看到的,我只配置了一个网络单一界面,并且它有一些静态设置。
我知道Vagrant还有一个内部接口,用于通信。这似乎是使用DHCP选择IP(虽然我不确定它来自何处)。
我知道有一个dhcp接口会触发dhclient脚本来覆盖resolv.conf。
由于这个盒子将是一个puppetmaster和DNS服务器,我需要找到一种方法来禁用vagrant dhcp接口
我的界面看起来像
[root@puppetmaster dhcp]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:19:cd:16 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 81995sec preferred_lft 81995sec
inet6 fe80::a00:27ff:fe19:cd16/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 08:00:27:85:18:83 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.2/24 brd 192.168.2.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe85:1883/64 scope link
valid_lft forever preferred_lft forever
vagrant ssh
这听起来有可能吗?
非常感谢提前。
答案 0 :(得分:1)
好的,回答了我自己的问题。
当dhclient-script
生成新的/etc/resolv.conf
时,它会查找名为make_resolv_conf()
的函数。
将以下内容放入/etc/dhcp/dhclient-enter-hooks
并使其可执行,它将停止覆盖它。
make_resolv_conf() {
# Do not overwrite /etc/resolv.conf.
return 0
}
由于
马特
答案 1 :(得分:0)
我在Centos7
下解决。希望对您有帮助。
在ifcfg-eth0
中(在我的情况下)设置为PEERDNS="yes"
。更改为PEERDNS="no"
不能解决问题。但是
PEERDNS="no"
export PEERDNS
ifup ifcfg-eth0
工作了!我怀疑这是dhclient-script
或其调用者中的错误。