我得到了一个 mini 的文件linux
,它可以直接启动到firefox
. 它适用于它应该做的所有事情,只是我没有互联网连接。
我们在网络中有 3 个 DNS 服务器,它们都可以正常工作。我也可以ping通他们。但是当我尝试ping google.de
或wget google.de
我得到一个bad address
错误。
nslookup google.de
出于某种原因工作。
我将问题追溯到我resolv.conf
在启动系统上的内容与resolv.conf
我放入.iso
文件中的内容不同。
我尝试了解创建和修改resolv.conf
. 我不太确定我是否掌握了所有内容,但我绝对没有在那里找到我的解决方案。
所以作为最后的努力,我尝试resolv.conf
使用
:~# chattr +i /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)
令我惊讶的是,当重新构建并再次启动时,我的文件被重命名为resolv.conf~
,取而代之的是一直困扰着我的同一个标准文件。
文件内容让我相信它是从网络本身获取信息的。.iso
在没有互联网访问权限的情况下启动Virtualbox 时,我的文件将保持原样。
我试图/etc/dhcp/dhclient.conf
通过删除domain-name-server
和domain-name-search
从request
文件的一部分来改变不从网上获取信息。
不幸的是没有工作。
我没有安装 NetworkManager。ISO 基于 Ubuntu 14.04。
可能缺少重要信息。我很乐意提供它。
更新:
我想我找到了清除resolv.conf
.
好像是 /usr/share/udhcpc/default.script
#!/bin/sh
# udhcpc script edited by Tim Riker …
Run Code Online (Sandbox Code Playgroud) 当它BOOTPROTO=none
在/etc/sysconfig/network-scripts/ifcfg-eth0
文件中说时是什么意思。
我记得曾经有过,BOOTPROTO=static
并且非常清楚和直接地告诉我们,如果IPADDR=<x.x.x.x>
给出an ,服务器将提供指定的 IP 地址。同样,BOOTPROTO=dhcp
会寻找 DHCP 服务器以获取动态 IP 地址。红帽说:
BOOTPROTO=protocol
where protocol is one of the following:
none — No boot-time protocol should be used.
bootp — The BOOTP protocol should be used.
dhcp — The DHCP protocol should be used.
Run Code Online (Sandbox Code Playgroud)
这是否意味着如果我们不在 ifcfg-eth0 文件中指定 IP,它将查找 DHCP 服务器,如果指定了 IP,它会选择该静态 IP?
即使IPADDR=
在 BOOTPROTO 设置为 none 时指定了 IP 地址,它寻找 DHCP 服务器并修改 /etc/resolv.conf 的可能性有多大?
背景:- 我们移动了数据中心,不得不更改许多服务器中的 IP 地址。我们已经修改/etc/resolv.conf
了新 DNS 服务器的 …
我看到的所有配置示例 ( /etc/network/interfaces
) 都表明您配置了一个接口,然后在下面给出了如下dns-*
几行:
auto eth0
iface eth0 inet static
...
dns-nameservers 127.0.0.2
dns-search example.com my.example.com
Run Code Online (Sandbox Code Playgroud)
现在我知道 DNS 协议独立于传输机制。因此,dns-nameservers
在线上添加 IPv6 地址本身不应该是错误的。
但是,因为无论如何我也在为 IPv6 配置接口,所以在dns-nameservers
那里添加行是有意义的:
iface eth0 inet6 static
...
dns-nameservers ::2
dns-search example.com my.example.com
Run Code Online (Sandbox Code Playgroud)
……还是做到了?因为在resolvconf
创建时/etc/resolv.conf
它会忽略所有 IPv6 DNS 服务器。它似乎也忽略了dns-search
和dns-domain
。它似乎尊重的唯一一行是dns-nameservers
来自 IPv4 配置的行eth0
。
配置DNS服务器的正确方法是什么?
关于为什么它应该成为每个相应iface
节的一部分的进一步间接证据。引自man 8 resolvconf
:
该
ifup(8)
程序可用于根据 中的设置配置网络接口/etc/network/interfaces(5)
。为了ifup
推动域名服务器信息resolvconf
时,它配置的接口,添加dns-
行相关iface …
我在 Windows Active Directory 域中有一个 Linux 机器(Ubuntu 服务器 11.10),并且使用likewise-open加入了域。该resolv.conf
文件如下所示:
domain mydomain.com
nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
192.168.1.1
Windows 域的 Windows DNS 服务器在哪里。8.8.8.8
并且8.8.4.4
是 Google 的公共 DNS 服务器,我们更喜欢我们的 ISP 服务器。
该设置运行正常,直到由于我们的网络设计发生了一些变化,我们决定禁用 Windows DNS 服务器中的递归。我认为这会很顺利,因为我们已将其配置为接下来使用 Google 的服务器,但似乎不是:
mydomain\myuser@linux-server:~$ dig google.com
; <<>> DiG 9.7.3 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55321
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 4
;; …
Run Code Online (Sandbox Code Playgroud) 我正在使用 centos 7,并且在将网络接口从 dhcp 设置为静态 ip 配置时出现问题。
我编辑/etc/resolv.conf
并运行systemctl restart network.service
我所做的更改消失了,并创建了一个通用文件:
cat /etc/resolv.conf
# Generated by NetworkManager
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
Run Code Online (Sandbox Code Playgroud)
注意:ifcfg-ens160 文件中的 PEERDNS="yes"。
PEERDNS=,其中是以下之一: yes — 如果设置了 DNS 指令,则修改 /etc/resolv.conf。如果使用 DHCP,则是默认值。
no — 不修改 /etc/resolv.conf。
取自此处:https : //access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/Reference_Guide/s1-networkscripts-interfaces.html
我想这与它有关,但是在设置为 dhcp 时它运行良好,所以我希望如果它/etc/resolv.conf
自动配置它会成功。
解决方法是/etc/resolv.conf
在服务重新启动后进行编辑。
但是我想了解这种行为,以及如何避免将文件重置为此默认失败消息。
我刚刚安装了 CentOS 6.5 并配置了以下文件:
/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=aa:bb:dd:dd:ee:ff
TYPE=Ethernet
UUID=adfddfaf-9sda-adse-dfs4-asdfsdfdfg97
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp
Run Code Online (Sandbox Code Playgroud)
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.IM
NTPSERVERARGS=iburst
Run Code Online (Sandbox Code Playgroud)
当我重新启动计算机时,ifconfig eth0
显示一个 IP 地址,但resolv.conf
文件为空。它里面说的只是search IM
. nameservers
文件中没有列出。
但是,启动后,如果我dhclient -r
释放IP地址然后键入dhclient eth0
以获取IP地址,resolv.conf
则会正确填充我的 DNS 名称服务器。
为什么这不会从我的配置文件中自动发生?我认为dhcp
在我的ifcfg-eth0
文件中启用应该解决这个问题。
CentOS 文档说设置NETWORKING=yes
在启动时启动网络:http : //www.centos.org/docs/5/html/Deployment_Guide-en-US/s1-dhcp-configuring-client.html。
任何帮助表示赞赏。
在站点 1 时,我需要通过 OpenVPN 连接到站点 2。连接后,OpenVPN 站点 2 会推送 DNS 名称服务器和域搜索选项。这会导致 site1 的所有名称解析失败。
例子:
在站点 1 物理连接,DHCP 推送 DNS 选项并 resolvconf 管理它们。
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 172.16.1.101
nameserver 172.16.1.102
search site1.internal.domain
Run Code Online (Sandbox Code Playgroud)打开到站点 2 的 OpenVPN 隧道,OpenVPN 为站点 2 推送 dhcp-option DNS 和 DOMAIN,/etc/openvpn/update-resolv-conf
并将它们推送到 resolvconf。
/etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# …
Run Code Online (Sandbox Code Playgroud)What is the best way to edit the resolv.conf file?
I wasn't familiar with setting proxies until a task to configure a server came along. I manually edited my /etc/resolv.conf file and included the following input:
nameserver 192.168.115.147,192.178.116.168
Run Code Online (Sandbox Code Playgroud)
Any attempt to download was met with errors. After much googling, I came across a post which led me to reformat the file - directly as follows:
nameserver 192.168.115.147
nameserver 192.178.116.168
Run Code Online (Sandbox Code Playgroud)
That worked and file downloads were no longer interrupted with errors. …
我有一台机器(Debian jessie)用于“跳转”到另一台具有不同域的机器......实际上有很多域。
作为man resolv.conf
告诉我们,搜索主机名查找列表,限制在6个域或256个字符。
如何增加域查找的数量?
提前致谢。
我在ubuntu/trusty64
VirtualBox 中使用Vagrant box。我想根据 Vagrant 的默认界面永久禁用nameserver 10.0.2.3
set by 。resolvconf
eth0
我的网络定义Vagrantfile
如下:
server.vm.network "private_network", type: "dhcp", virtualbox__intnet: true
Run Code Online (Sandbox Code Playgroud)
这将创建一个eth1
具有 DHCP 拉取设置的接口。该resolv.conf
如下所示:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.2.3
nameserver 10.20.30.40
search local
Run Code Online (Sandbox Code Playgroud)
nameserver 10.0.2.3
并search local
从DHCP设置从何而来eth0
nameserver 10.20.30.40
来自 DHCP 设置 eth1
我想保留后者(10.20.30.40),同时禁用来自eth0
. 我可以使用 暂时删除它resolvconf -d …
resolvconf ×10
dns ×5
networking ×4
centos ×2
dhcp ×2
resolv.conf ×2
busybox ×1
dhclient ×1
openvpn ×1
rhel ×1
ubuntu ×1
udhcpc ×1
vagrant ×1