我正在使用嵌入式 linux 设备,我们通常在开发过程中通过静态 IP 地址连接到该设备。但是,在现场我们需要使用 DHCP 进行连接,因此,我想设置一个主 DHCP 连接,并在不同的网络上使用备用静态 IP 地址。这可能吗?
我可以使用 nmcli 配置 DHCP 连接(IPV4.method=manual),并且可以成功添加额外的静态 IP 地址。当 DHCP 服务器存在时,两者都会同时存在,但是当没有 DHCP 服务器时,连接将被禁用,包括静态 IP 地址。
我还尝试设置多个连接,分配给 eth0,即一个静态和一个 DHCP,并且可以使用手动启用它们
nmcli con up ConnectionName
但这不符合要求,因为在另一个失败的情况下需要手动启用它们。我当然可以运行一个脚本来检查连接状态并在需要时启用另一个,但我认为这将是网络管理员的现实期望。
有没有办法告诉网络管理员尝试一个连接,如果失败再尝试另一个?
我正在使用 Ubuntu 18.04。
谢谢。
使用 nmcli 命令行创建连接配置文件并链接到接口。
创建另一个连接配置文件并链接到相同的接口但具有更高的优先级。
然后检查创建的连接。
使用以下其他命令进行故障排除、上/下连接、删除连接。
永远记得删除默认连接,因为我的情况是
或在 /etc/NetworkManager/system-connections 中
您可以通过创建两个配置文件(又名连接)来解决此问题。
在配置文件中(例如 /etc/NetworkManager/system-connections/*.nmconnection):
DHCP 配置文件
静态配置文件
注意:默认情况下,未指定时 autoconnect=true,否则将不起作用。
我也在 Ubuntu 18.04 上尝试过相同的配置 - 它只是不起作用(使用 ipv4.addresses、connection.autoconnect、connection.autoconnect-retries、ipv4.dhcp-timeout、ipv4.method、ipv4.may-fail , ETC。)
唯一可行的选择是:
1) 禁用网络管理器
2) /etc/network/interfaces.d/some_name
3) /etc/dhcp/dhclient.conf