编辑 dhcpcd.conf 文件

编辑 dhcpcd.conf 文件

我使用的是 Debian jessie,没有安装网络管理器或 resolvconf,并且使用的是 DHCP。

具有静态 DNS 的 DHCP
首先我尝试编辑:

/etc/network/interfaces

并添加以下内容:

dns-nameservers 8.8.8.8

所以现在接口文件看起来像这样:

allow-hotplug eth0
iface eth0 inet dhcp
dns-nameservers 8.8.8.8

同时拥有 DHCP 和静态 DNS,但重新启动网络服务后不会发生任何变化。

使用 DHCP 时:

ps aux | grep dhcp
dhclient -v -pf /run/dhclient.eth0.pid -lf /var/lib/dhcp/dhclient.eth0.leases eth0

手动编辑
如果我手动编辑 /etc/resolv.conf 并将名称服务器 8.8.8.8 放在那里,重新启动 Networking.service 后,系统 DNS 服务器将更改为 8.8.8.8,但在执行 ifup 后:

sudo ifup eth0

/etc/resolv.conf 再次自动更改为 192.168.1.1。

网络管理器
然后我决定使用网络管理器,我安装了网络管理器,在默认连接中设置 DNS 服务器 IP 并重新连接后,它可以工作,但重新启动系统后,网络管理器会与默认 DNS 服务器(192.168.1.1)创建新连接)并自动连接到此。

我也检查过当该网络可用时自动连接到该网络连接正确,但重新启动后网络管理器再次连接到另一个。

10小时后重置
我以某种方式设法通过更改新的连接配置来解决此问题,现在它不会在每次启动时创建新连接并连接到正确的连接,但是现在大约 10 小时后 DNS 服务器自动更改为 192.168.1.1,我应该重新连接连接或重新启动 NetworkManager.service 以使 DNS 恢复为 8.8.8.8。

所以它不是覆盖 /etc/resolv.cof 的网络管理器

静态配置
面对所有这些之后,我决定采用静态配置。
首先,我卸载了网络管理器,然后将静态配置添加到:

/etc/network/interfaces

像这样的东西:

iface eth0 inet static
address 192.168.1.10
gateway 192.168.1.1
netmask 255.255.255.0
dns-nameservers 8.8.8.8

重新启动networking.service后,这些设置将不适用于系统,并且接口没有IP,因此网络也无法访问。

关闭路由器 DHCP 现在我关闭了路由器的 DHCP,静态配置工作正常,但我需要为其他设备打开 DHCP。

允许
我可以编辑 /etc/resolv.conf 并更改它的权限,这样就没有人可以编辑它......

但我正在寻找一个理由。我想知道为什么这些不起作用,哪个程序覆盖 /etc/resolv.conf 以及设置 DNS 服务器的正确方法是什么。

我在这里缺少什么吗?

答案1

因为默认情况下 jessie 网络是通过 DHCP 配置的

你有多种解决方案

溶胶1:
sudo update-rc.d dhcpcd remove

溶胶2:
sudo nano /etc/dhcpcd.conf或 /etc/dhcp/dhclient.conf

添加以下命令

 nodhcp

并且在文件 /etc/network/interfaces 中必须按以下方式更改行:

iface lo inet loopback
auto eth0
any config .......



杰西的正常配置

编辑 dhcpcd.conf 文件

sudo nano  /etc/dhcpcd.conf

并在文件末尾添加

interface eth0
static ip_address=192.168.1.56

#gateway
static routers=192.168.1.210 

static domain_name_servers=8.8.8.8

答案2

如果resolvconf安装了该程序,则不应resolv.conf在基于 Debian 或 Ubuntu 的系统上手动编辑配置文件,因为它会被系统中的程序动态更改。如果您需要手动定义名称服务器(与静态接口一样),请在/etc/network/interfaces文件中的接口配置文件中添加如下行:

#Place the line indented within an iface stanza, e.g., right after the gateway line.
dns-nameservers 
8.8.8.8 
127.0.0.1

相关内容