[deepin exploration] 场景·内、外双网卡机器,配置魔幻路由访问
Tofloor
poster avatar
魔法师
deepin
2025-02-13 10:58
Author

不知道是什么时候起,我遇到了一些网络上的问题,我之前有找过一些方法,但总是感觉受到了那些所谓答案的欺骗(AI 与各种文章里的 iptables、route、 ip xxx 教程)....

场景概览

先看不同,我所在的网段(1.x 和 23.x),需要访问目标的网络网段(10.x)

  • 简单绘制一个场景图(仅供参考)
    image.png

基本信息

先看下我的默认路由表:

$ ip route
default via 192.168.1.1 dev wlp4s0 proto dhcp metric 600 
default via 192.168.23.1 dev eno1 proto dhcp metric 20100

在我的机器上,有两个网卡,一个网卡连接了外网,一个网卡连接了内网。
这里就称它们为A卡和B卡,连接到电脑后,就自动产生了默认路由配置。

参考信息

  • A卡,wlp4s0,可访问外网,网关地址是 192.168.1.1
  • B卡,eno1,可访问内网,网关地址是 192.168.23.1
  • 内网,DNS解析服务,192.168.10.18
  • 内网,代码托管服务,192.168.10.60,域名 gitlab.team.com
  • 虚拟场景图:[[Pasted image 20250211190015.png]]

本机信息

  • 在我的 Linux 操作系统中,拥有两张网卡:
  • 第一个默认路由是 A卡 wlp4s0,它的优先级比较高,可以看作是默认的上网卡。
  • 另一个默认路由是 B 卡 eno1 ,它的优先级比较低, 可以看作是备用的卡。
  • 我有一个 gitlab.team.com 内网域名,我需要解析出 gitlab.team.com 的主机地址。

域名解析

解析域名的流程

  • 预期应从 192.168.10.18(dns) 解析为 192.168.10.60(域名对应地址)

使用 nslookup 命令

  • nslookup gitlab.team.com 命令解析失败
  • nslookup gitlab.team.com 192.168.10.18 命令解析失败

解析时发现问题

  • 目前场景下 192.168.10.18 在主机IP域外,导致系统不知道它处于哪个网络
  • 我虽然知道 192.168.10.18 的主机位置,但系统不知道它处于 B 卡网络的下一跳节点中。
  • 我需要配置一个静态路由,访问 192.168.10.18 地址时,使其自动路由到 B 卡网络。
# 1. 配置 DNS 服务器的路由点,使其路由到在B卡网络
ip route add 192.168.10.18 via 192.168.23.1 dev eno1

# 2. 验证解析
nslookup gitlab.team.com 192.168.10.18

Server:         192.168.10.18
Address:        192.168.10.18#53

Non-authoritative answer:
Name:   gitlab.team.com
Address: 192.168.10.60

访问已知的服务器

使用浏览器访问 192.168.10.60(gitlab)服务器地址

  • 预期将正常打开所在页面

访问时发现问题

  • 本机没有直达此地址的路由,默认走A卡高优先级网络,访问失败
  • 系统同样不知道它处于 B 卡网络的下一跳节点中。
# 1. 配置 DNS 服务器的路由点,使其路由到在B卡网络
ip route add 192.168.10.60 via 192.168.23.1 dev eno1

网络配置:添加 DNS 服务器,自动解析域名

本机的 A 卡为优先默认路由

  • 在网络接口配置中,添加首选 DNS 地址为 192.168.10.18

先前的路由配置为解析护航

  • 首选,在前面已经添加了 192.168.10.18192.168.10.60 的主机路由
  • 当需要 DNS 解析内网域名时,路由将确保向 192.168.10.18 发送的数据包走 B 卡
  • 当访问解析到的 IP 地址时,路由也将确保向 IP 地址发送的数据包走 B 卡

注意事项

  • 当某些内网 IP 没有配置静态路由规则时,系统不会通过 B 卡访问到任何主机
  • 默认从 A 卡访问时,将永远无法找到正确的网络

在这网络的世界,我习惯与学会了一些东西

  1. 我从受害者角度发起愤概
  2. 我转换成研学角度学习网络问题
  3. 我在 AI 欺骗我时找到真正的解决方案
  4. 我理解什么是路由,以及静态路由与动态路由
  5. 我尝试去在解决问题的方向中不被答案的幻象迷失
  6. 我精确的展开场景分析情景,构建可支撑分析问题的思维环境
  7. 我精确到针头般刺向问题中心,而不是散射般找互联网答案
  8. 我在浮躁的社会活动中,静心看问题本质
  9. 我一边看涩图静心,一边思考答案,一边观察群友的精神状态
  10. 另外再写一篇垃圾文档烂在本地的硬盘里
  11. 看着文章,回想之前所做说过和做过的一切
Reply Favorite View the author
All Replies
魔法师
deepin
2025-02-13 11:10
#1

B卡与优先级问题

  • 如果系统将B卡作为默认路由优先,那么将无法访问外网
  • 但你可以直接访问到内网的 10.x 网段

A卡与B卡的默认路由切换

  • 双网卡,谁在最后连接的,谁就处于低优先级
  • 在断开、重连一次 B卡网络连接后,就默认路由A卡了
Reply View the author
182******90
deepin
2025-02-13 11:38
#2

既然设置内外网了,肯定是安全需要,最好用802.1x认证做内外网切换,或者虚拟化 隔离内外网,做802.1x认证能做到秒切的~~安全又好用

Reply View the author
yippeeghost
deepin
2025-02-13 11:43
#3

看看这哥俩怎么说:joy

DeepSeek:

截图_选择区域_20250213113701.png

ChatGPT:
截图_选择区域_20250213113822.png

Reply View the author
穿西装的万斯在统亻言
deepin
Backbone of ecological co-construction group
2025-02-13 12:40
#4

第9点不错

Reply View the author
安洛
deepin
2025-02-13 12:52
#5

同意前面几楼的看法。

不过按理来说,既然网关连接到192.168.10.0/24网段,那就应该在网关处配置动态路由通告,向所有连接到网关的设备通告网关连接的网段。同时在拥有多个网口的设备上配置动态路由协议。这样任何新设备入网都能自动配置好路由。否则一台设备还好,要是多几台电脑,甚至可能再加入几台路由器,你得为每台设备都设置静态路由规则,累都累死了。

Reply View the author