dhcpcd.conf 用于静态和动态 IP 地址

dhcpcd.conf 用于静态和动态 IP 地址

长话短说:我需要为一个物理接口配置两个接口,一个使用静态 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,因为只有原始接口才能分配网关,因此如果静态配置错误,您将无法连接。更多信息请参见维基百科

相关内容