长话短说:我需要为一个物理接口配置两个接口,一个使用静态 IP 地址,另一个使用动态 IP 地址。我知道如何操作,/etc/network/interfaces
但我的盒子使用的是dhcpcd.conf
。
很长的故事:
我父母家里有两台 raspberry pi raspbian 机器。两台机器都有静态 IP 地址,其中一台运行 openvpn 客户端,这样我就可以访问该网络,因为整个网络的 IP 地址位于 ISP 的 NAT 后面。
现在,我父母正在将网络连接从嘈杂的 DLS 升级到全新的光纤线路。所以我必须做好准备,因为 DSL 路由器将被替换,其配置也将被替换,主要是子网很可能会发生变化,静态地址将停止工作
/etc/network/interfaces
我在其中一个盒子上添加了第二个接口,以便通过 DHCP 获取任何 IP:
auto eth0:1
iface eth0:1 inet dhcp
一旦连接成功,它就会通过这个地址呼叫主页(这里是我的服务器),ssh
这样我就可以连接到它并更新静态配置。
另一个盒子有一个较新的 raspbian,它使用dhcpcd
。我想做同样的事情(第二个接口,来自 DHCP 的 IP),但我不知道该怎么做。
我当前的配置是:
# Allow users of this group to interact with dhcpcd via the control socket.
#controlgroup wheel
# Inform the DHCP server of our hostname for DDNS.
hostname
# Use the hardware address of the interface for the Client ID.
clientid
# or
# Use the same DUID + IAID as set in DHCPv6 for DHCPv4 ClientID as per RFC4361.
# Some non-RFC compliant DHCP servers do not reply with this set.
# In this case, comment out duid and enable clientid above.
#duid
# Persist interface configuration when dhcpcd exits.
persistent
# Rapid commit support.
# Safe to enable by default because it requires the equivalent option set
# on the server to actually work.
option rapid_commit
# A list of options to request from the DHCP server.
option domain_name_servers, domain_name, domain_search, host_name
option classless_static_routes
# Most distributions have NTP support.
option ntp_servers
# Respect the network MTU. This is applied to DHCP routes.
option interface_mtu
# A ServerID is required by RFC2131.
require dhcp_server_identifier
# Generate Stable Private IPv6 Addresses instead of hardware based ones
slaac private
# Example static IP configuration:
interface eth0
static ip_address=192.168.1.3/24
#static ip6_address=fd51:42f8:caae:d92e::ff/64
static routers=192.168.1.1
static domain_name_servers=192.168.1.1 8.8.8.8
interface eth0:1
# i do not know what to put here #
# It is possible to fall back to a static IP if DHCP fails:
# define static profile
#profile static_eth0
#static ip_address=192.168.1.23/24
#static routers=192.168.1.1
#static domain_name_servers=192.168.1.1
# fallback to static profile on eth0
#interface eth0
#fallback static_eth0
当然,我应该在编辑文件之前备份它以免丢失配置,但我没有。
不幸的是,没有反复试验的余地,因为我无法物理访问该设备,并且我只能希望我能在圣诞节期间到达那里,除非 omicron 和锁定速度更快。
答案1
您可以禁用 dhcpcd 并使用您在第一个树莓派中使用的传统网络方法。
sudo systemctl disable --now dhcpcd
我还认为 /etc/network/interfaces 中的别名接口应该是静态 IP,因为只有原始接口才能分配网关,因此如果静态配置错误,您将无法连接。更多信息请参见维基百科。