我在带有两个以太网设备的 RaspberryPi(称为 VPNbridge)上有 ISC DHCP 服务器。一个是普通(内部)以太网设备 ( eth0
),另一个是eth1
我已连接 Aastra VoIP 电话的 USB 转以太网设备 ( )。因此,RaspberryPi 服务器作为 Aastra VoIP 电话与 VPN 网络的“桥梁”。
问题是,Aastra 手机(或连接到 RaspberryPi 上该接口的任何其他设备)每隔几分钟就会失去连接。此外,eth1
RaspberryPi 上的设备有两个 IP 地址。
这是我的配置:
在/etc/dhcp/dhcpd.conf
我有:
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.50 192.168.100.51;
option routers 192.168.100.1;
option domain-name-servers 8.8.8.8;
option domain-name "vpnbridge.local";
###option subnet-mask 255.255.255.0;
}
host aastraphone {
hardware ethernet 00:08:5d:35:e8:57;
fixed-address 192.168.100.51;
}
在/etc/default/isc-dhcp-server
我有:
INTERFACESv4="eth1"
INTERFACESv6=""
sudo systemctl status isc-dhcp-server
● isc-dhcp-server.service - LSB: DHCP server
Loaded: loaded (/etc/init.d/isc-dhcp-server; generated)
Active: active (running) since Sat 2022-08-06 23:37:59 CEST; 4min 42s ago
Docs: man:systemd-sysv-generator(8)
Process: 597 ExecStart=/etc/init.d/isc-dhcp-server start (code=exited, status=0/SUCCESS)
Tasks: 1 (limit: 2059)
CGroup: /system.slice/isc-dhcp-server.service
└─671 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf eth1
avg 06 23:41:44 vpnbridge dhcpd[671]: DHCPDISCOVER from 00:e0:4c:89:c3:e2 via eth1
avg 06 23:41:45 vpnbridge dhcpd[671]: DHCPOFFER on 192.168.100.50 to 00:e0:4c:89:c3:e2 (vpnbridge) via eth1
avg 06 23:41:45 vpnbridge dhcpd[671]: DHCPREQUEST for 192.168.100.50 (192.168.100.1) from 00:e0:4c:89:c3:e2 (vpnbridge) via eth1
avg 06 23:41:45 vpnbridge dhcpd[671]: DHCPACK on 192.168.100.50 to 00:e0:4c:89:c3:e2 (vpnbridge) via eth1
avg 06 23:41:48 vpnbridge dhcpd[671]: DHCPDISCOVER from 00:08:5d:35:e8:57 via eth1
avg 06 23:41:48 vpnbridge dhcpd[671]: DHCPOFFER on 192.168.100.51 to 00:08:5d:35:e8:57 via eth1
avg 06 23:41:50 vpnbridge dhcpd[671]: DHCPDISCOVER from 00:08:5d:35:e8:57 via eth1
avg 06 23:41:50 vpnbridge dhcpd[671]: DHCPOFFER on 192.168.100.51 to 00:08:5d:35:e8:57 via eth1
avg 06 23:41:55 vpnbridge dhcpd[671]: DHCPREQUEST for 192.168.100.51 (192.168.100.1) from 00:08:5d:35:e8:57 via eth1
avg 06 23:41:55 vpnbridge dhcpd[671]: DHCPACK on 192.168.100.51 to 00:08:5d:35:e8:57 via eth1
ip a show eth1
在 RaspberryPi 上显示:
5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:e0:4c:89:c3:e2 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.1/24 brd 192.168.100.255 scope global eth1
valid_lft forever preferred_lft forever
inet 192.168.100.50/24 brd 192.168.100.255 scope global secondary dynamic noprefixroute eth1
valid_lft 474sec preferred_lft 399sec
inet6 fe80::2e0:4cff:fe89:c3e2/64 scope link
valid_lft forever preferred_lft forever
另外,在 RaspberryPi 上我有
cat /etc/network/interfaces.d/eth1
::
auto eth1
iface eth1 inet static
address 192.168.100.1
netmask 255.255.255.0
我究竟做错了什么?
答案1
首先,你的系统没有一个但是二DHCP 组件:
dhcpd
、ISC DHCP服务器dhcpcd
, 罗伊·马普尔斯的 DHCP客户,或dhclient
ISC DHCP客户
您正在尝试使用 Debian 风格/etc/network/interfaces
,但现代版本的 RasPiOS 已经远离了这种风格:它仍然可以工作,因为 RasPiOS 基于 Debian 并且他们希望保持向后兼容性。
但当前 RasPiOS 中的首选方式是使用该/etc/dhcpcd.conf
文件(DHCP客户配置文件,请注意所有网络接口配置的第二个“C”),包括静态 IP 分配(!)。您可能需要阅读有关网络配置的 RasPiOS 官方文档:https://www.raspberrypi.com/documentation/computers/configuration.html#using-the-command-line
这样做可能会使处理热插拔 USB 网络适配器变得更简单,因此这可能就是 RasPiOS 选择该方法的原因。
如果您想/etc/network/interfaces.d/eth1
用于配置eth1
,那么您至少需要添加denyinterfaces eth1
to/etc/dhcpcd.conf
来告诉 DHCP 客户端不要向 分配动态地址eth1
。
关于您在评论中提到的日志消息:
dhcpd[6403]: Dynamic and static leases present for 192.168.100.51. avg 07 09:07:49 vpnbridge dhcpd[6403]: Remove host declaration aastraphone or remove 192.168.100.51 avg 07 09:07:49 vpnbridge dhcpd[6403]: from the dynamic address pool for 192.168.100.0/24
在range 192.168.100.50 192.168.100.51;
您的subnet
DHCP 服务器配置声明中,地址 ...50 和 ...51 用于动态分配给任何提出请求的有效客户端;静态赋值(使用host
声明)不应使用range
语句中的任何地址,反之亦然。
如果您的目的是仅为特定 VoIP 电话或提前已知硬件地址的其他设备提供静态 DHCP,那么您可以range
完全删除或注释掉该语句。