无法在 Ubuntu 上设置静态 IP

无法在 Ubuntu 上设置静态 IP

我最近安装了 Ubuntu Desktop 13.10,并尝试通过更改文件/etc/network/interfaces来设置静态 IP:

# interfaces(5) file used by ifup(8) and ifdown(8)                                                                                                                        
auto lo
iface lo inet loopback

iface eth0 inet dynamic

到:

# interfaces(5) file used by ifup(8) and ifdown(8)                                                                                                                        
auto lo
iface lo inet loopback

iface eth0 inet static
address 192.168.1.70
netmask 255.255.255.0
broadcast 192.168.1.255
network 192.168.1.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8

使用我从这些常见问题解答/教程网站中收集到的信息

我仔细检查了这些数字,它们与我在办公室的两台不同计算机上使用的值相同(注意:这两台计算机 raspis 连接到网络交换机,然后连接到路由器,而当前有问题的台式机直接连接到路由器)。但是,当我启用静态地址并重新启动时,机器没有获得我请求的 IP 地址(192.168.1.70),而是获得了一个不同的 IP 地址(192.168.1.111),从而完全禁用了 NIC。我还尝试过请求一个不同的 IP 地址(192.168.1.199),以防旧的 IP 地址被占用,但这也会导致 NIC 被禁用。

我在这里问这个问题是因为 google/SO 似乎没有具体回答用户应该做什么,以及当简单地“谷歌搜索问题”并快速更新单个文件不会产生静态地址时他们应该如何进行。我特别要求以下内容:

  1. 关于为什么这可能不起作用的答案(即这是否与 Ubuntu 13.10 有关)。
  2. 如何调试启动过程中的网络初始化。
  3. 最终如何设置静态 IP 寻址。

编辑:

根据 Atari 的要求,我尝试使用 GUI 而不是命令行来设置 IP。为此,我必须/etc/network/interfaces先清除文件(通过注释掉静态相关行),重新启动,然后重试。如果我不这样做,我甚至无法访问我的 NIC 选项。这确实为我的计算机分配了一个静态 IP,但是,现在我只能通过本地访问它(通过ssh),而完全无法访问互联网。

答案1

您缺少了导致配置在启动时运行的行。

编辑您的/etc/network/interfaces配置并添加以下行:

auto eth0

同时,您也可以使用以下命令设置静态地址:

sudo ifup eth0

如果您希望仅在连接到特定网络时启动接口,请检查软件包的文档和示例ifupdown。特别是查看mapping命令。该ping-places.sh命令可用于识别您处于哪个网络上。

答案2

我会尝试使用 GUI 设置静态 IP。如果成功,那么您就知道您正在使用该NetworkManager程序包来控制该 NIC 的 IP。如果手动配置中提到了该接口,该程序包应该自行禁用该接口(如下:https://wiki.debian.org/NetworkManager) 但这似乎并没有发生。

您还可以NetworkManager使用以下方法彻底删除...

sudo apt-get install network-manager-gnome

sudo apt-get remove network-manager

...然后尝试手动更改它。

答案3

似乎我有点晚了,但是仍然:因为我认为如果你想投入一点工作并通过旧的 /etc/network/interfaces 完成工作,那么 12.04 你就搞砸了。

但还有希望!:D

只需使用 /etc/NetworkManager/system-connections/连接

如果您采用通过以太网连接的标准系统,则文件通常如下所示:

文件名:有线连接1

内容:

[802-3-ethernet]
duplex=full
mac-address=xx:xx:xx:xx:xx:xx

[联系]

id=Wired connection 1
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
type=802-3-ethernet
timespamp = xxxxxxxxxx

[IPv6]

method=auto

[IPv4]

method=manual
dns=192.168.0.1
address=192.168.0.123/24,192.168.0.1

答案4

你快到了。ssh 可以工作,固定 IP 没问题。现在唯一缺少的当然是 DNS。这就是你无法上网的原因。你的网关是 192.168.1.1,这大概是一个路由器。许多路由器都提供 DNS,所以只需尝试将 192.168.1.1 作为名称服务器

相关内容