一、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 default
、route 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,你可以这样做:
- 添加路由:
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.100
请注意,现代 Linux 系统推荐使用更现代的 ip
命令代替 route
,如使用 ip route add
、ip route del
等命令进行路由管理。
二、在 Linux Debian 系统中,可以通过以下步骤更换默认网卡:
使用 /etc/network/interfaces 文件(传统方法)
1. 编辑网络配置文件: 打开 /etc/network/interfaces
文件来修改对应的接口配置。sudo nano /etc/network/interfaces
示例配置(假设您有两个接口 eth0
和 eth1
,都配置为 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 地址。保存文件后,重启网络服务或重启系统,以使更改生效。
[…] 最后一步,参考本站修改默认网关:Linux系统(Debian)如何切换默认网卡 […]