无法在 debian wheezy 上启动 eth1 和 dhcp

无法在 debian wheezy 上启动 eth1 和 dhcp

我想要的是:

  • eth0 连接到互联网并具有静态 IP 地址。
  • eth1 连接到内部网络并作为子网的 dhcp 服务器。

但我无法让 eth1 工作。错误:

$ ifup eth1
Missing required variable: address
Missing required configuration variables for interface eth1/inet.
Failed to bring up eth1.

配置文件

$ ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:50:56:00:29:4a  
          inet addr:5.9.125.5  Bcast:5.9.125.7  Mask:255.255.255.248
          inet6 addr: fe80::250:56ff:fe00:294a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1011 errors:0 dropped:0 overruns:0 frame:0
          TX packets:573 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:87665 (85.6 KiB)  TX bytes:74517 (72.7 KiB)

eth1      Link encap:Ethernet  HWaddr 00:0c:29:63:c5:c9  
          BROADCAST 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.0 B)  TX bytes:0 (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:16436  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.0 B)  TX bytes:0 (0.0 B)

配置文件:

/etc/网络/接口

# Loopback
auto lo
iface lo inet loopback

# External
allow-hotplug eth0
iface eth0 inet static
        address 5.9.125.5
        netmask 255.255.255.248
        network 5.9.125.0
        broadcast 5.9.125.7
        gateway 5.9.125.1
        dns-nameservers 213.133.98.98 213.133.99.99
        dns-search 5.125.9.5.clients.your-server.de

# Internal
auto eth1
allow-hotplug eth1
iface eth1 inet static
        adress 192.168.7.2
        netmask 255.255.255.128
        network 192.168.7.0
        broadcast 192.168.7.127
        dns-nameservers 213.133.98.98 213.133.99.99
        dns-search 5.125.9.5.clients.your-server.de

/etc/default/isc-dhcp 服务器

INTERFACES="eth1"

/etc/dhcp/dhcpd.conf

subnet 192.168.7.0 netmask 255.255.255.128 {
  range 192.168.7.2 192.168.7.126;
  option domain-name-servers 213.133.98.98, 213.133.99.99;
  option routers 192.168.7.1;
  option subnet-mask 255.255.255.128;
  option broadcast-address 192.168.7.127;
  default-lease-time 86400;
  max-lease-time 676800;
}

答案1

iface eth1 inet static
        adress 192.168.7.2
          ^^^ typo here, should be "address".

还请注意,ifconfig 自 1999 年起已被弃用,请改用ip addr(ifupdown 尚未被弃用)。

ifupdown 有一个小问题,它无法检测到“无效的“选项,因为这些选项是作为环境变量传递的,并且无法判断 ifupdown 辅助脚本是否使用某个环境变量。理论上,可能有一个 ifupdown 辅助脚本使用名为“adress”的选项,并且它是完全有效的。改进将要求现有的辅助程序列出它们接受的选项,因此会破坏许多现有的脚本。

答案2

我遇到了同样的错误信息,没有拼写错误,但我从某个网站复制了接口格式。它是这样的:

自动 eth1
iface eth1 inet 静态
 地址 192.168.7.2
 网络掩码 255.255.255.128
 dns 名称服务器 213.133.98.98 213.133.99.99
 dns 搜索 5.125.9.5.clients.your-server.de

删除 iface 行中的“双空格”将原始错误从“未知设备 eth1”更改为“缺少必需变量:地址”,但请注意“地址”一词中没有拼写错误,只有从那一行开始的每一行开头都有一个空格。删除每行开头的空格解决了我的问题。为了确保万无一失,我再次插入了多余的空格,一切正常,所以这确实是我从网上复制的一些未知的不可见字符,但我无法分辨。

相关内容