Linux系统(Debian)route命令的使用和如何切换默认网卡

2780
1

一、route命令的使用

route 命令在 Unix 和类 Unix 系统中用于显示和操作 IP 路由表。这个命令可以用来添加、删除或修改路由记录,以控制网络流量的方向。下面是一些常见的 route 命令用法:

显示路由表

  • 查看全部路由: route -n
    • -n 参数显示数值型的地址,而不是尝试解析为域名。-v参数则尝试解析ip地址为域名。

添加路由

  • 添加默认网关: route add default gw 192.168.1.1 enp0s8
    • 这条命令设置默认网关为 192.168.1.1,接口为enp0s8
  • 添加特定网络的路由: route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.1
    • 这条命令添加一个路由,指定通过网关 192.168.1.1 访问 192.168.2.0/24 网络。

删除路由

  • 删除默认网关: route del defaultroute del default gw 192.168.1.1
    • 这条命令删除默认网关。
  • 删除特定网络的路由: route del -net 192.168.2.0 netmask 255.255.255.0
    • 这条命令删除到 192.168.2.0/24 网络的路由。

修改路由

通常,修改路由涉及到先删除现有的路由,然后再添加新的路由配置。

示例

假设你要添加一个路由,使得所有前往 10.0.0.0/24 网络的流量都通过网关 192.168.1.100,你可以这样做:

  1. 添加路由:route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.100

请注意,现代 Linux 系统推荐使用更现代的 ip 命令代替 route,如使用 ip route addip route del 等命令进行路由管理。

二、在 Linux Debian 系统中,可以通过以下步骤更换默认网卡:

使用 /etc/network/interfaces 文件(传统方法)

1. 编辑网络配置文件: 打开 /etc/network/interfaces 文件来修改对应的接口配置。

sudo nano /etc/network/interfaces

示例配置(假设您有两个接口 eth0eth1,都配置为 DHCP,但希望 eth1 是默认网卡):

# eth0 配置
auto eth0
iface eth0 inet dhcp

# eth1 配置
auto eth1
iface eth1 inet dhcp

如果你想要强制 eth1 成为默认网关,即使 DHCP 服务也在 eth0 上提供了网关地址,您可以添加一个 post-up 命令来修改路由表,删除 eth0 的默认网关并添加 eth1 的默认网关。

# eth0 配置
auto eth0
iface eth0 inet dhcp
    post-up ip route del default dev eth0

# eth1 配置
auto eth1
iface eth1 inet dhcp
    post-up ip route add default via <预定的网关地址> dev eth1

注意: <预定的网关地址> 需要替换成实际的网关 IP 地址,如果不知道具体网关,这种方法不适用。

如果使用静态IP,以下为示例配置(假设您想将 eth1 设置为默认网卡):

# 配置 eth0
auto eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0

# 配置 eth1
auto eth1
iface eth1 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1



2. 重启网络服务: 重新启动网络服务来应用更改。


sudo systemctl restart networking
或者重启网卡:

sudo ifdown eth1 && sudo ifup eth1

注意:在修改网络配置文件之前,建议备份原文件,以防出现配置错误导致的网络故障。另外,更改默认网卡可能会影响系统的网络连接,应谨慎操作。

使用 route 命令动态更改(不永久保存)

在计算机网络中,路由器是将数据包从一个网络传输到另一个网络的设备。默认网关是一个网络设备(通常是路由器),用于将数据包从本地网络发送到远程网络。当计算机需要访问远程网络时,它会将数据包发送到默认网关,由默认网关将数据包转发到远程网络。

要更改默认网关,需先删除旧的网关:

route del default

然后设置新默认网关,可以使用以下命令:

sudo route add default gw <gateway_ip_address> <interface_name>


其中,<gateway_ip_address> 是默认网关的 IP 地址,<interface_name>是要使用的网络接口的名称。例如,如果要将默认网关设置为 192.168.1.1,并使用 eth0 网络接口,则可以使用以下命令:
sudo route add default gw 192.168.1.1 eth0

这个命令将添加一条默认路由到路由表中,将所有目标地址设置为默认网关 192.168.1.1,使用网络接口 eth0 发送数据包。

需要注意的是,这个设置是临时的,重启系统后会失效。如果需要永久设置默认网关,可以编辑 /etc/network/interfaces文件,在其中添加以下配置:
gateway <gateway_ip_address>

其中,<gateway_ip_address>是默认网关的 IP 地址。保存文件后,重启网络服务或重启系统,以使更改生效。

相关文章:Debian系统如何修改默认网卡多个网卡,如何配置默认路由

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

One thought on “Linux系统(Debian)route命令的使用和如何切换默认网卡

  1. […] 最后一步,参考本站修改默认网关:Linux系统(Debian)如何切换默认网卡 […]