Debian 通过 ip route 设置路由实现双网卡同时工作

19 篇文章 2 订阅

1.通过 ip route 查看目前所有路由

yanyi@debian:~$ ip route
default via 192.168.1.1 dev eno1 proto static metric 100 
default via 192.168.10.6 dev wlx200db01f6624 proto static metric 600 
192.168.1.0/24 dev eno1 proto kernel scope link src 192.168.1.101 metric 100 
192.168.10.0/24 dev wlx200db01f6624 proto kernel scope link src 192.168.10.190 
192.168.10.0/24 dev wlx200db01f6624 proto kernel scope link src 192.168.10.190 metric 600 

其中192.168.1.1为内网网关,192.168.10.6为可访问外面的网络网关

两块网卡都连上时,会产生两个默认路由,但是默认只会使用地一个默认路由

2.删除默认内网路由

yanyi@debian:~$ sudo ip route del default via 192.168.1.1 dev eno1
yanyi@debian:~$ sudo ip route
default via 192.168.10.6 dev wlx200db01f6624 proto static metric 600 
192.168.1.0/24 dev eno1 proto kernel scope link src 192.168.1.101 metric 100 
192.168.10.0/24 dev wlx200db01f6624 proto kernel scope link src 192.168.10.190 
192.168.10.0/24 dev wlx200db01f6624 proto kernel scope link src 192.168.10.190 metric 600 

3.添加内网路由

yanyi@debian:~$ sudo ip route add 192.0.0.0/24 via 192.168.1.1
yanyi@debian:~$ sudo ip route
default via 192.168.10.6 dev wlx200db01f6624 proto static metric 600 
192.0.0.0/24 via 192.168.1.1 dev eno1 
192.168.1.0/24 dev eno1 proto kernel scope link src 192.168.1.101 metric 100 
192.168.10.0/24 dev wlx200db01f6624 proto kernel scope link src 192.168.10.190 
192.168.10.0/24 dev wlx200db01f6624 proto kernel scope link src 192.168.10.190 metric 600 

4.重启网络服务

systemctl restart networking.service

此时已实现了内外网都可访问,

但这样的修改在操作系统重启之后,就又会还原为以前的路由状态,要实现自动修改为内外网可用的路由表该怎么办呢?在百度上查找了许多资料,都说时把上面两条语句放到/etc/rc.local中,实现启动时就修改路由,经过无数次实验发现都是不行的,查看日志都出现错误,找不到网络路径,在/etc/rc.local中写了一条route > /routetest.txt,重启后查看routetest.txt发现只有标题头,没有路由信息,根本还没有生成路由表,所以这些命令肯定出错,经过在deepin官网上搜索和研究发现,deepin使用NetworkManager来管理网络,可以让NetworkManager在启动时来运行脚本进行修改路由操作,具体帮助可以看看archlinux的wiki:https://wiki.archlinux.org/index.php/NetworkManager_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87),查找dispatch,查看”使用 NetworkManager 调度网络服务“这个章节,先使NetworkManager-dispatcher.service在开机时启动:

systemctl enable NetworkManager-dispatcher.service

然后在/etc/NetworkManager/dispatcher.d/目录下新建一个脚本文件02myroutes,内容如下:

#!/bin/bash
sudo ip route del default via 192.168.1.1 dev eno1
sudo ip route add 192.0.0.0/24 via 192.168.1.1 dev eno1

保存后,重启系统验证成功,我想只要通过NetworkManager管理网络的linux系统都可以照此法设置。

  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值