V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
测试工具
SmokePing
IPv6 访问测试
sakisaki
V2EX  ›  宽带症候群

关于一个通过 wireguard 回家访问 NAS 的问题咨询大家。

  •  
  •   sakisaki · 64 天前 · 1492 次点击
    这是一个创建于 64 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在家庭网络结构是:外网---RouterOS(拨号)---pfsense ( DHCP 服务)---NAS。在 RouterOS 和 pfsense 处都有 NAT 。

    现在,在 RouterOS 上布置了 wireguard ,从手机上可以通过 wireguard 访问 RouterOS ,但无法访问 NAS ,该怎么设置才能让手机通过 wireguard 回家访问 NAS 呢?

    局域网的网段分配:

    RouterOS 的 wireguard IP:10.10.10.1/24
    手机 的 wireguard IP:10.10.10.20/24
    RouterOS 的局域网 IP:192.168.1.1/24
    pfsense 分配的局域网 IP:192.168.3.1/24
    NAS 的 IP:192.168.3.2/24
    
    第 1 条附言  ·  63 天前
    解决了,又没完全解决。在大家的帮助下,家庭那段网络通了,在运营商的努力下,wireguard 很快就断了……
    18 条回复    2022-06-15 14:46:41 +08:00
    omcourseecust
        1
    omcourseecust  
       64 天前
    要么把 NAS 映射到公网去,要么加条路由,开转发。
    clickhouse
        2
    clickhouse  
       64 天前
    RouterOS 可以直接访问 NAS 么?可以的话 iptables 配置一下转发就行了。
    jsq2627
        3
    jsq2627  
       64 天前
    1. wireguard allowed ips 需要配置
    2. 加静态路由

    手机上 allowed ips 加上 192.168.3.0/24 。wireguard app 应该会根据 allowed ips 自动配置路由

    路由器给手机对端 allowed ips 加上 10.10.10.0/24 (你的手机已经能访问路由器,那看来应该已经配置好这一步了)
    另外就是防火墙要允许 10.10.10.0/24 -> 192.168.3.0/24 方向的转发
    sakisaki
        4
    sakisaki  
    OP
       64 天前
    @omcourseecust 使用 vpn 回家就是为了避免将 NAS 暴漏在公网。
    @clickhouse RouterOS 是不能直接访问 NAS 的。
    @jsq2627 加静态路由能具体说说吗?我被卡在这里了。
    sakisaki
        5
    sakisaki  
    OP
       64 天前
    @jsq2627 静态路由这样可以吗?
    源地址:10.10.10.1/24
    目的地址:192.168.3.2/24
    掩码:255.255.255.0
    网口:与 pfsense 连接的 bridge

    是不是还应该把 pfsense 后面的 NAS 映射到 pfsense 的 WAN 口?
    jsq2627
        6
    jsq2627  
       64 天前
    @sakisaki 静态路由要双向添加。倒不用把 NAS 映射到 pfsense 的 WAN 口
    (我对 pfsense 也不太熟悉,暂且当成一个网关来看待)
    1. RouterOS 添加静态路由,把目标地址为 192.168.3.1/24 设置为与 pfsense 连接的网口。静态路由的源地址可以不用设置
    2. pfsense 上也要添加静态路由,把目标地址 129.168.1.1/24 设置为与路由器连接的网口。静态路由的源地址同样不需要设置
    3. routeros / pfsense 防火墙都要允许转发。nas 防火墙要允许来自 192.168.1.1/24 和 10.10.10.1/24 的入站连接

    如果这些都配置妥当,routeros / pfsense / nas 各自互相 ping 应该都是通的

    ---

    另外,家里面何必搞两层 lan ?把所有设备都放一个 /24 网段里,会方便很多呀
    sakisaki
        7
    sakisaki  
    OP
       64 天前
    @jsq2627 RouterOS ping 向 NAS 还是不通,不知道哪里还没搞好。
    之所以强加一个 pfsense 只是为了它的两个插件:snort 和 pfBlockerNG-devel……
    bytesfold
        8
    bytesfold  
       64 天前 via iPhone
    qc 暴露公网会不会有问题。。frp 容器已经关了。。
    Yien
        9
    Yien  
       64 天前 via Android
    @sakisaki 请问这两个插件有什么用途?
    如果 pfsense 作防火墙用途,是否可以使用透明网桥模式?
    sakisaki
        10
    sakisaki  
    OP
       64 天前
    @Yien pfBlockerNG-devel 可以下载一些规则集作为防火墙的补充,Snort 是著名入侵检测系统。实际使用下来很不方便,只是我有些强迫症。把 wan 口与 lan 口桥接以后似乎可以实现透明网关,具体我也没有操作过。
    cnbatch
        11
    cnbatch  
       64 天前
    造成无法访问的原因是双重 NAT ,换句话说,是因为双重内网。

    所以解决办法也很简单,在 pfsense 那里打开端口映射,把 NAS 映射到某个端口上,然后 VPN 回家时访问 NAS 就使用映射的端口。按照你的情况,那就是连回家后访问 192.168.1.x:port 。x 是 pfsense 在 RouterOS 侧获得的 IP 地址,port 是映射后的端口。

    还有另一个解决办法,那就是扔掉 RouterOS 这个节点。pfsense 本身就可以拨号,也能开启 wireguard ,让 pfsense 全盘接管就行了。
    neroxps
        12
    neroxps  
       63 天前 via iPhone
    emmm 把 ospf 打开就完了 ros 和 pf 公告下自己的路由表,pf 的 nat 关掉。
    neroxps
        13
    neroxps  
       63 天前 via iPhone
    但话说楼主路由表都不会设置的话,为何会把家里网络搞的那么复杂?😀
    sakisaki
        14
    sakisaki  
    OP
       63 天前
    @cnbatch 今天安装你的方法,把 NAS 映射到了 pfsense 的 WAN 口上,果然成功了!
    sakisaki
        15
    sakisaki  
    OP
       63 天前
    @neroxps 😓我也是网络专业的,毕业以后又没做相关专业的工作。现在是又菜又爱玩。/(ㄒoㄒ)/~~
    neroxps
        16
    neroxps  
       63 天前
    @sakisaki #15 那有基础可以拾起以前学习的知识。感觉你的 pf 没必要做 nat 。
    lilyok1234
        17
    lilyok1234  
       61 天前 via Android
    除了配置路由还要配置一条 iptables postrouting 的,在 routeros 上配置,到局域网设备都替换成 192.168.1.1 就行,我也是这样的拓扑,用了大半年了
    yuchenr
        18
    yuchenr  
       61 天前
    1 、wiregurad 需要 allowed ips
    2 、静态路由:
    i 、 在 pfsense 添加到 wireguard net 的静态路由
    ii 、在 routeos 添加到 pfsense lan net 的静态路由
    3 、lz 的拓扑真绕
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2830 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 12:15 · PVG 20:15 · LAX 05:15 · JFK 08:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.