我对多宿主设备有疑问,该设备必须满足一些特定要求。我尝试尽可能中立地描述这个问题,而不是预先详细讨论可能的解决方案。虽然我有一些想法,但它们都不能解决下面描述的所有情况。
该设备运行内核为 5.1.x 的定制嵌入式 Linux,并同时具有最多三个网络连接。
- eth0(有线以太网)
- mlan0(无线网络)
- 移动 1(LTE 调制解调器)
DHCP 服务器或移动提供商将为每个活动连接提供一个默认网关。
问题一:互联网连接
- 如果 eth0 可以访问互联网,则它必须优先于 mlan0 和 mobile1 访问互联网。
- 如果 mlan0 可以访问互联网,则它必须优先于 mobile1。
- 如果 eth0 和 mlan0 都无法访问互联网,请使用 mobile1。
- 如果一个互联网连接失败,则必须使用下一个互联网连接。
- 如果一个 Internet 连接恢复并且比当前活动的连接更优先,则必须使用重新建立的连接。
将路由配置为这样工作的最佳方法是什么?
问题 2:特定接口上的 DNS 和连接
- 在某些情况下,可以通过 LTE 连接访问专用网络,但无法访问互联网。因此必须通过以太网或 WiFi 使用互联网连接。
- 我们必须检查 LTE 连接的 DNS 服务器,如果它不知道主机,我们必须继续使用另一个接口的 DNS 服务器。
- 在这种情况下,我们必须使用 LTE 连接进行任何可到达的连接,但由于主机名和 IP 地址重叠,我们在尝试之前无法知道请求是针对公共互联网还是移动宽带专用网络。
我很确定,我并不是唯一遇到这种“尝试这个网络,如果失败,则使用另一个网络”场景的人,但经过几个小时的研究,我仍然无法找到解决该问题的解决方案。
有没有人有解决方案或好的建议来解决这两个问题?