我已经在我的机器上安装了 Ubuntu 14.04 LTS 服务器,除了我的 Windows 7 安装之外,还有一个单独的硬盘驱动器。Windows 操作系统具有完整的网络连接和通过以太网访问互联网,但 Ubuntu 安装没有。
我有一种预感,这可能是因为我的路由器看到 2 台具有相同 MAC 地址的不同计算机,而 DHCP 不工作。如何为机器分配一个公共静态 IP,以便两个分区都可以使用我的网络?我是 Ubuntu 的新手,我不知道要编辑哪个文件才能分配静态 IP。
我是 Linux 新手,在 Windows 服务器/桌面方面有多年经验,但在设置静态 IP 时遇到问题。我正在使用用于以前版本的 Ubuntu 的方法,该方法似乎不适用于 16.04
我已经使用了该命令sudo nano /etc/network/interface并添加了以下内容
iface enp0s25 inet static
address 10.10.8.2
netmask 255.255.0.0
gateway 10.10.1.1
dns-nameservers 8.8.8.8 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
我重新启动了系统,以太网几乎死机了,ping 根本不起作用。我尝试修改/etc/NetworkManager/NetworkManager.conf并进行了以下更改
#dns=dnsmasq (comment out the dnsmasq)
[ifupdown]
managed=true (changed from false)
Run Code Online (Sandbox Code Playgroud)
有了这个,我可以让以太网偶尔工作,但它最终会失败。
我已经在另外两台机器和一台虚拟机上尝试过这种配置,并且都得到了相同的结果。当我在任何这些机器上安装 Windows 时,我可以确认这些设置工作正常。同样,当我让 DHCP 自动配置时,一切正常,没有问题。
我想我在这里遗漏了一些东西,设置静态 IP 根本不难。
我的 DNS 服务器是192.168.1.152.
此 DNS 由 DHCP 提供给客户端。LAN 上的 Windows 客户端使用该 DNS 正确解析名称,但我的 Ubuntu VM 没有。
虚拟机设置了桥接网络,并正确提供了 DNS 服务器,但我的本地主机名没有被 nslookup 或浏览器解析。
这是nslookup我的本地域之一:
# nslookup unraid.local
Server: 127.0.0.53
Address: 127.0.0.53#53
** server can't find unraid.local: SERVFAIL
Run Code Online (Sandbox Code Playgroud)
这是它应该使用我的 DNS 服务器解析的内容:
# nslookup unraid.local 192.168.1.152
Server: 192.168.1.152
Address: 192.168.1.152#53
Name: unraid.local
Address: 192.168.1.152
Run Code Online (Sandbox Code Playgroud)
/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 …Run Code Online (Sandbox Code Playgroud) 我有一个带有两个接口的 Ubuntu 16.04 系统 - eth0 配置了 DHCP,eth1 配置了静态 IP 地址。
/etc/network/interfaces 文件有以下配置
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
# The Secondary network interface
auto eth1
iface eth1 inet static
address 10.10.1.10
netmask 255.255.255.0
dns-nameservers 74.82.42.42 4.2.2.2
## Virtual Interfaces for virtual hosts
auto eth1:11
iface eth1:11 inet static
address 10.10.1.11
netmask 255.255.255.0
auto eth1:12
iface eth1:12 inet static
address 10.10.1.12
netmask 255.255.255.0
auto …Run Code Online (Sandbox Code Playgroud) 如何查看DHCP分配的DNS地址?
ifconfig 不能显示它。
$ ifconfig -a
eth0 Link encap:Ethernet HWaddr 90:e6:ba:22:6a:f2
inet addr:192.168.1.111 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::92e6:baff:fe22:6af2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:224856 errors:0 dropped:0 overruns:0 frame:0
TX packets:220040 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:166848627 (166.8 MB) TX bytes:20256333 (20.2 MB)
Interrupt:46 Base address:0x4000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5889 errors:0 dropped:0 overruns:0 frame:0
TX packets:5889 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 …Run Code Online (Sandbox Code Playgroud) 我想要实现的是获得冷启动、零状态 DHCP 租约,这意味着强制dhclient完成完整的发现和配置过程(DHCPDISCOVER–DHCPOFFER–DHCPREQUEST–DHCPACK,而不是使用记住的 DHCPREQUEST–DHCPACK 周期的快捷方式)地址)。我需要这个来调试网络配置问题。
我试过了:
dhclient -r,断开当前网络管理器连接;dhclient和dnsmasq进程;/var/lib/dhcp/目录,其中应该包含客户端租用数据库;sudo restart network-manager.但即使在这些步骤之后,我在日志中看到 DHCPDISCOVER 紧随其后的是 DHCPREQUEST 不知何故仍然记得地址。
显然,操作系统正在以其他方式存储地址,而我已经没有想法了。来自社区的任何帮助?
我已经在我的http://no-ip.org/帐户中创建了帐户和主机名,这是迄今为止我的服务器类型最常用的服务。由于我是命令行菜鸟,有人可以指导我完成使用 ddclient 和 no-ip 的配置过程吗?
我希望 Ubuntu 从DHCP客户端获取主机名和 DNS 名称。Ubuntu 11.10 (Oneiric Ocelot)的默认安装不会这样做。
在将我的计算机配置为使用静态 ip 时,我遇到了 Ubuntu 12.04 服务器版中的名称解析问题。
在 /etc/network/interfaces 中:
# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
Run Code Online (Sandbox Code Playgroud)
运行$ sudo apt-get upgrade,导致“无法获取...”:
. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]
Run Code Online (Sandbox Code Playgroud)
当我将 /etc/network/interfaces 更改为:
auto eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud)
一切正常。
查看 /etc/resolv.conf 提供了更多提示。
在我遇到解决问题的情况下,resolv.conf 是空的;没有指定名称服务器。然后我从静态更改为DHCP并重新启动网络;/etc/resolv.conf 更改为:'nameserver 192.168.1.1'。
从 DHCP 切换回静态并重新启动不会删除名称服务器条目。但是当我用静态设置重新启动系统时,resolv.conf 是空的。当我使用 DHCP 重新启动系统时,resolv.conf 的名称服务器为 192.168.1.1。那么,问题似乎是 resolve.conf 没有被正确写入?哪个包/代码负责写入resolv.conf?是否有特定的包可以查看未解决的问题? …