为什么/ etc / network / interfaces被忽略?


10

我过去两个小时一直在互联网上搜索,但是似乎找不到以下问题的解决方案。

我刚刚在新的Xubuntu 13.04中安装了Xen,并且为了设置网络,我必须删除network_manager。因此,所有网络配置都是通过/ etc / network / interfaces完成的。至少,这应该发生。但是,似乎放在这里的内容只是被忽略了:我的xenbr0接口没有得到分配的IPv4地址,没有默认网关,也没有设置名称服务器。

这是/ etc / network / interfaces文件中的内容:

auto lo
iface lo inet loopback

# There are no IP configurations for eth0, it’s all defined under xenbr0:
#auto eth0

# Static configuration
auto xenbr0
iface xenbr0 inet static
  bridge_ports    eth0
  address         192.168.1.200 # the IP address of the Ethernet port
  broadcast       192.168.1.255
  netmask         255.255.255.0
  gateway         192.168.1.1   # the address of the router
  bridge_stp      off           # disable Spanning Tree Protocol - optional
  bridge_waitport 0             # no delay before a port becomes available - optional, comment out if this gives you troubles
  bridge_fd       0             # no forwarding delay - optional
  dns-nameservers 192.168.1.1

为了修复我的网络连接,我运行一个小的“修复”脚本:

#!/bin/bash
ifconfig xenbr0 192.168.1.200 netmask 255.255.255.0 up
route add default gw 192.168.1.1 xenbr0

我想解决核心问题。现在,启动至少要花费1分钟,因为系统会等待网络连接正常。

编辑:我还必须将以下内容添加到/etc/resolvconf/resolv.conf.d/base并运行sudo resolvconf -u

nameserver 192.168.1.1

没有这个,我只能ping IP地址,没有DNS请求通过。实际上,这就是使我确信完全忽略了interfaces文件的原因。

编辑2:做sudo restart networkingsudo /etc/init.d/networking restart不做任何事情。

编辑3:一些额外的信息。以下是ifconfig输出应该像(工作网络/互联网连接):

eth0      Link encap:Ethernet  HWaddr 00:1c:c0:77:09:9d  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3346 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2903 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2931429 (2.9 MB)  TX bytes:661616 (661.6 KB)
          Interrupt:20 Memory:e3200000-e3220000 

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:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1720 (1.7 KB)  TX bytes:1720 (1.7 KB)

xenbr0    Link encap:Ethernet  HWaddr 00:1c:c0:77:09:9d  
          inet addr:192.168.1.200  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::21c:c0ff:fe77:99d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3329 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2875 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:2870029 (2.8 MB)  TX bytes:647394 (647.3 KB)

这是启动后的样子。唯一缺少的是xenbr0 IPv4地址(以及路由/ DNS数据,但是在ifconfig的输出中看不到):

eth0      Link encap:Ethernet  HWaddr 00:1c:c0:77:09:9d  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0 B)  TX bytes:0 (0 B)

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:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0 B)  TX bytes:0 (0 B)

xenbr0    Link encap:Ethernet  HWaddr 00:1c:c0:77:09:9d  
          inet6 addr: fe80::21c:c0ff:fe77:99d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0 B)  TX bytes:0 (0 B)

检查init.d和其他启动脚本,以获取缺少的网络接口初始化信息。让我们知道您的发现。
RGS 2013年

键入时/etc/init.d/networking restart,您是否获得interfaces文件的配置?
ortang 2013年

尝试使用auto eth0iface eth0 inet manual
埃里克·卡瓦略

ifconfig引导后立即运行时,是否有任何接口?
Eric Carvalho 2013年

@ortang:不,我也尝试过,什么也没发生。
2013年

Answers:


16

你有:

address         192.168.1.200 # the IP address of the Ethernet port

并报告这是行不通的。您是否从interfaces(5)知道:

   Lines starting with `#' are ignored. Note  that  end-of-line  comments
   are NOT supported, comments must be on a line of their own.

您是否添加了该问题的行尾注释,或者实际上是否在/etc/network/intefaces文件中包含了它们?如果是这样,请尝试将其删除。


@Darhuuk Robie是正确的。我认为这是您的interfaces文件中的问题。
埃里克·卡瓦略

啊,很高兴找到。Xen安装中添加的注释实际上位于该行的末尾。auto eth0即使注释仍然存在,取消注释似乎也解决了我的问题。
Darhuuk

看来,/ etc / network / interfaces中也不支持内联注释。谢谢,这使我可以在VPS中使用第二个网络接口。
埃舍尔

3

也许,尽管删除了network-manager程序包,但您仍然/etc/NetworkManager/NetworkManager.conf包含

[ifupdown]
managed=true

这会导致ifup无法自动启动界面。

如果这是导致问题的原因,那么我建议选择dpkg --purge network-manager或设置managed=false

我提交了关于此的错误报告:https : //bugs.launchpad.net/ubuntu/+source/ifupdown/+bug/1187693


今晚回家时我会检查一下。但是,接口在引导后就启动了,只是配置不正确。手动运行sudo restart networking也不能解决问题。
达胡克

@jdthood,您不是要说ifupdown实际上可能已经设置为managed=false,并且他需要将其设置为true以便它开始使用中的设置/etc/network/interfaces吗?
Alaa Ali 2013年

@Alaa,不,我不是说你的建议。在Ubuntu中,如果将NM配置为使用“ ” 方式配置这些接口,则ifup实际上会查找/etc/NetworkManager/NetworkManager.conf并阻止自动更新接口[ifupdown] managed=true
jdthood 2013年

我只是尝试同时管理true和false(这是设置为true)的方法,但都不起作用。然后执行了dpkg --purge,该操作也没有帮助,我的/ etc / network / interfaces仍未考虑在内。
Darhuuk

3

我设法通过更改2个文件来解决我的问题。首先,正如埃里克·卡瓦略(Eric Carvalho)所建议的那样,我auto eth0在中未评论/etc/networking/interfaces。(请注意,这很奇怪,在线上的一些教程似乎都建议Xen不需要这样做。)

但这本身并不能解决启动缓慢的问题。似乎在启动时仍然需要几秒钟的时间才能启动接口,与此同时,Ubuntu已经陷入了60秒的空闲等待中。我通过将延迟时间/etc/init/failsafe.conf从60秒更改为1秒来解决此问题。(我通过Google发现了此文件,不知道确切是哪个文件。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.