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