Linux(20) Ubuntu 20.04 网络接口自动切换路由配置

简介: Linux(20) Ubuntu 20.04 网络接口自动切换路由配置

当时调试rockchip rk3399 linux ubuntu rootfs遇到的问题 ,  

在Ubuntu 20.04系统中,如果有两个以太网口,例如eth0和eth1,可能会遇到一个问题:

当eth0网线接到eth1后无法上网。可以通过执行以下命令来手动切换路由:

ip route del default via 192.168.1.1 dev eth0

ip route del 192.168.1.0/24 dev eth0

ip route del 192.168.1.0/24 dev eth1

ip route add default via 192.168.1.1 dev eth1


ip route del default via 192.168.1.1 dev eth1

ip route del 192.168.1.0/24 dev eth1

ip route add 192.168.1.0/24 dev eth0

ip route add default via 192.168.1.1 dev eth0

然而,这种方法需要手动执行,不够方便。实际上,可以使用Linux中的网络管理工具,如NetworkManager或systemd-networkd来实现自动切换路由。

使用NetworkManager或systemd-networkd实现自动切换路由

安装并启用NetworkManager或systemd-networkd

sudo apt install network-manager

sudo systemctl enable NetworkManager.service

sudo systemctl start NetworkManager.service

或者

sudo apt install systemd-networkd

sudo systemctl enable systemd-networkd.service

sudo systemctl start systemd-networkd.service

配置网络接口文件 /etc/network/interfaces

在该文件中添加以下内容:

auto eth0

iface eth0 inet dhcp


auto eth1

iface eth1 inet dhcp

配置NetworkManager或systemd-networkd

如果使用NetworkManager,则需要编辑 /etc/NetworkManager/conf.d/10-globally-managed-devices.conf 文件,并将其设置为 false 以确保所有网络设备都由NetworkManager管理。

sudo nano /etc/NetworkManager/conf.d/10-globally-managed-devices.conf


[main]

plugins=keyfile


[keyfile]

unmanaged-devices=interface-name:eth0;interface-name:eth1

如果使用systemd-networkd,则需要创建一个文件 /etc/systemd/network/eth0.network和/etc/systemd/network/eth1.network,内容如下:

/etc/systemd/network/eth0.network:

[Match]

Name=eth0


[Network]

DHCP=yes

Gateway=192.168.1.1

DNS=8.8.8.8

/etc/systemd/network/eth1.network:

[Match]

Name=eth1


[Network]

DHCP=yes

Gateway=192.168.1.1

DNS=8.8.8.8

重启网络服务

sudo systemctl restart NetworkManager.service

或者

sudo systemctl restart systemd-networkd.service

这样配置后,如果一个接口的网络不可用,则系统将自动切换到另一个接口。

设置开机启动

如果希望在Ubuntu 20.04上设置systemd-networkd.service

开机启动,可以按照以下步骤操作:

创建systemd-networkd.service的符号链接

sudo ln -s /lib/systemd/system/systemd-networkd.service /etc/systemd/system/multi-user.target.wants/

启用systemd-networkd.service

sudo systemctl enable systemd-networkd.service

禁用旧的网络服务(如果有)

sudo systemctl disable NetworkManager.service

重新启动系统以应用更改

sudo reboot

这将确保systemd-networkd.service在系统启动时自动启动,并替代其他网络服务。请注意,禁用旧的网络服务可能会导致无法访问互联网。在进行此操作之前,请确保已正确配置systemd-networkd。

目录
打赏
0
0
0
0
75
分享
相关文章
|
16天前
|
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
43 13
|
15天前
|
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
37 2
Linux(openwrt)下iptables+tc工具实现网络流量限速控制(QoS)
通过以上步骤,您可以在Linux(OpenWrt)系统中使用iptables和tc工具实现网络流量限速控制(QoS)。这种方法灵活且功能强大,可以帮助管理员有效管理网络带宽,确保关键业务的网络性能。希望本文能够为您提供有价值的参考。
123 28
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
51 11
Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统
使用上述U-Boot命令配置并启动嵌入式设备。如果配置正确,设备将通过TFTP加载内核和设备树,并通过NFS挂载根文件系统。
125 15
|
3月前
|
Linux网络文件系统NFS:配置与管理指南
NFS 是 Linux 系统中常用的网络文件系统协议,通过配置和管理 NFS,可以实现跨网络的文件共享。本文详细介绍了 NFS 的安装、配置、管理和常见问题的解决方法,希望对您的工作有所帮助。通过正确配置和优化 NFS,可以显著提高文件共享的效率和安全性。
305 7
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
94 17
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
66 10
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等