惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
N
Netflix TechBlog - Medium
P
Proofpoint News Feed
D
Docker
J
Java Code Geeks
L
LangChain Blog
Microsoft Security Blog
Microsoft Security Blog
The GitHub Blog
The GitHub Blog
I
InfoQ
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
Engineering at Meta
Engineering at Meta
MongoDB | Blog
MongoDB | Blog
月光博客
月光博客
T
Tailwind CSS Blog
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
腾讯CDC
罗磊的独立博客
U
Unit 42
爱范儿
爱范儿
Vercel News
Vercel News
MyScale Blog
MyScale Blog

lvbibir's Blog

shell | 磁盘空间分析脚本 Linux cat 和 tee 命令写入文件 python | 使用 uv 管理你的 python 环境 Claude Code 完整配置指南 windows | mihomo 内核独立部署指南 linux | 磁盘扩容 wsl | 释放长久运行占用的磁盘空间 mysql | 线程上限问题处理 麒麟 7.6 安装谷歌 OTP 认证模块 suse 12sp5 升级 openssh 及 openssl suse 12sp5 部署 mysql 5.7 《谁的青春不迷茫》 docker | centos7 部署 docker vim | 基础配置和使用 windows | rime 输入法 & 雾凇方案 shell | sshpass 批量传输文件及执行命令 wsl | 原生 linux 方式安装 docker nodejs | fnm + pnpm 开发环境配置 wsl | 安装配置 miniconda 虚拟环境 wsl | 自动更新系统代理 wsl | bashrc 环境变量不正确加载的处理方法 wsl | win10 安装 wsl2 troubleshooting | ssh 成功但是 scp 失败 linux | 常用命令总结 docker 部署 piclist shell | 检测网站存活并自动钉钉告警 Zabbix | 监控端口连通性并自动追踪 TCP 路由 windows | 自定义开机快速启动项 windows | miniconda 配置 python 虚拟环境 Zabbix | 监控主机到指定 ip 的流量大小
windows & linux 多网卡时设置默认路由以及添加静态路由
lvbibir · 2022-06-01 · via lvbibir's Blog

0 前言

在工作中需要连接公司内网(有线,不可联网),访问外网时需要连接无线

同时接入这两个网络时,内网访问正常,外网无法访问。

此时可以通过调整网络优先级及配置路由实现内外网同时访问

一般来说,内网的网段数量较少,我们可以配置使默认路由走外网,走内网时通过配置的静态路由

1 centos8

在 linux 系统中网络优先级是通过 metric 控制的,值越小,优先级越高,通过 route -n 查看路由

image-20220817140544169

可以通过修改配置文件实现,在网卡配置文件中添加或者修改 IPV4_ROUTE_METRIC=100 参数实现,之后重启网络服务

# network
systemctl restart network

# NetworkManager
nmcli c reload
nmcli c down enp3s0
nmcli c up enp3s0

route -n

1.1 添加路由

临时添加静态路由命令如下(重启服务器或者重启网络服务后消失)

route add -net 192.168.45.0  netmask 255.255.255.0 dev enp4s0 metric 3

永久添加静态路由

参照 /etc/init.d/network 中对 /etc/sysconfig/static-routes 是如何处理的

/etc/sysconfig/static-routes 文件不存在的话,创建一个即可

 # Add non interface-specific static-routes.
    if [ -f /etc/sysconfig/static-routes ]; then
        if [ -x /sbin/route ]; then
            grep "^any" /etc/sysconfig/static-routes | while read ignore args ; do
                /sbin/route add -$args
            done
        else
            net_log $"Legacy static-route support not available: /sbin/route not found"
        fi
    fi

则,如果添加一条静态路由的路由如下

route add -net 192.168.45.0  netmask 255.255.255.0 dev enp4s0 metric 3

那么,在 /etc/sysconfig/static-routes 中对应的则应该写为

any -net 192.168.45.0  netmask 255.255.255.0 dev enp4s0 metric 3

2 win10

2.1 调整网络优先级

查看默认路由

image-20220426100126587

这两个路由分别是内网和外网的默认路由,绝大部分情况网络都是走的默认路由,但这里有两条默认路由,默认路由的优先级是按照跃点数的多少决定的,跃点数越少,优先级越高

将外网无线的跃点数调小

image-20220427095904443

route print 可以看到跃点数修改成功了,此时外网无线的跃点数更小,优先级更高

image-20220427100101830

2.2 配置路由

配置路由需要以管理员权限运行 powershell 或者 cmd

image-20220427100911342

配置路由后,内网访问也没有问题了

route add 172.16.2.0 mask 255.255.255.0 172.30.4.254 metric 3
route add 172.16.3.0 mask 255.255.255.0 172.30.4.254 metric 3
route add 172.16.4.0 mask 255.255.255.0 172.30.4.254 metric 3

这里配置的路由重启系统后会消失,加 -p 选项设置为永久路由

route add -p 172.16.2.0 mask 255.255.255.0 172.30.4.254 metric 3

image-20220427101256061

以上