V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
paullee
V2EX  ›  宽带症候群

因为 chatgpt 一本正经胡说八道,特来问 V 友如何配置多个子网的网关到某个子网的设备上

  •  
  •   paullee · 207 天前 · 1503 次点击
    这是一个创建于 207 天前的主题,其中的信息可能已经有所发展或是发生改变。
    众所周知的原因,OP 网络知识都是被迫学习的。现有一奇特需求,问了 GOOGLE 和 CHATGPT 后还是一头雾水,可能是学艺不精没弄对关键字。无奈需求 V 友解答一二。

    我有多个子网(或许叫做 vlan ):
    1. 192.168.1.0/24 ( Default, 主要放各种内网设备)
    2. 192.168.2.0/24 ( IoT ,智能家居设备)
    3. 192.168.3.0/24 ( Family ,家人用的)
    4. 192.168.4.0/24 ( Proxy ,我用的,翻墙等等服务)

    现有 192.168.4.2 是 openwrt 用来做旁路网关,跑的代理服务。
    日前都是将 Proxy 子网的 dhcp 网关配置为 192.168.4.2 ,这样其子网设备都能畅游互联网,最近在折腾 Default 子网内的设备更新软件包等操作时没有科学上网特别难受,将其 dhcp 的网关配置为 192.168.4.2 未遂(提示网关只能配置为 default 子网内的设备地址)。尝试了些方法解决未成功,遂来向 v 友学习。

    已尝试的思路:

    给 192.168.4.2 添加一个网口 lan2 ,vlan 配置为 Default ,以为这样就可以获取到 Default 网段地址。在 openwrt 启用这个接口后会导致无法再访问 Default 网段的设备了(我的 unifi controller 在这个网段,所以无法尝试配置 DHCP 步骤),学艺不精,原因未知。

    准备尝试的思路:

    在 Default 网段内再跑个 openwrt 做旁路由,估计能凑效,但总感觉哪里不对。比如需要在 IoT 网段用科学上网还得再跑个 openwrt 。实在不够优雅。

    所以,这个需求最优雅的方案是什么?
    12 条回复    2024-05-27 10:28:03 +08:00
    feng0vx
        1
    feng0vx  
       207 天前 via iPhone   ❤️ 1
    不通网段需要 NAT ,4 开启地址伪装试试
    samersions
        2
    samersions  
       206 天前 via iPhone   ❤️ 1
    我的方案跟 op 类似,旁路网关有两个网口去 default 和 proxy 的,是可以正常工作的,op 可能要看看 openwrt 的路由配置
    povsister
        3
    povsister  
       206 天前 via iPhone   ❤️ 1
    你尝试的思路有大问题…一个网段怎么可以跑两段不同的子网呢?
    给你三种解决方案
    1. 临时转发,主路由上临时添加一条防火墙 DNAT 规则,from srcip=xxx dstport=xxx dstnat to 192.168.4.2:dstportXXX ,用后删除即可
    优点:本质是端口转发的方式,配置简单,所有网段通用
    缺点:只能选择性的代理一部分流量,枚举 dnat 规则比较烦

    2. 策略路由,主路由新建一个标记路由表,添加默认网关为旁路由,同时添加所有内网网段及其所属的 vlan 接口(目的是不做 IP 伪装),添加一条 ip rules from ip=xxx 查询刚刚新建的标记路由表即可
    优点:可以一条规则转发所有流量给旁路由,而且随用随写很方便,用后即焚也不干扰现有网络拓扑
    缺点:配置略复杂,上文配置会造成非对称路由,对称路由还要再加点东西。不过一般不会有问题。

    3. 彻底放弃科学要主动走某个网关的操作,由主路由自动科学
    https://www.v2ex.com/t/1039732
    paullee
        4
    paullee  
    OP
       206 天前 via iPhone
    @povsister 感谢,我先尝试方案 2
    paullee
        5
    paullee  
    OP
       206 天前 via iPhone
    @samersions 😲,可否分享下你的 op 设置?
    samersions
        6
    samersions  
       206 天前 via iPhone   ❤️ 2
    @paullee 主路由和旁路网关都需要有对应的静态路由。
    旁路 openwrt 添加了通往 Default vlan 的 lan2 后给这个网口配置一个 192.168.1.0/24 的地址比如 192.168.1.2 。

    旁路 openwrt 的两个 lan 口的网关都应该设置为主路由的 IP 。主路由默认情况下应该是有通往两个网段的直连路由记录,因为主路由直接连接到了两个网段上。

    这样配置两个 lan 之间的 ip 是可以互访的,不需要 nat ,主路由和旁路网关在内网里是对等的,在主路由挂掉的情况下,甚至可以通过旁路网关跨网段访问
    fairytale
        7
    fairytale  
       206 天前 via Android   ❤️ 1
    配好路由表就行。nat 可开,也可不开。
    cr3bit
        8
    cr3bit  
       206 天前
    直接/22
    cr3bit
        9
    cr3bit  
       206 天前
    上面 patch:昏了,请无视
    txydhr
        10
    txydhr  
       206 天前   ❤️ 1
    理论上 192.168.4.2 那台机器再开一个 lan ,配置好静态地址放到 lan1 里就行了。
    或者把 lan1 作为 lan4 的子网,要用的时候把 lan1 的出口路由器的网关改成旁路由

    不过核心原因还是旁路由不是一个正常的网络架构。
    paullee
        11
    paullee  
    OP
       205 天前
    @txydhr 嗯嗯,理论上这样能行,我实际操作时,本来从 Proxy vlan 能访问 Default vlan ,应用配置后就无法访问了
    txydhr
        12
    txydhr  
       205 天前 via iPhone
    @paullee 路由表有问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1580 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:54 · PVG 00:54 · LAX 08:54 · JFK 11:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.