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

关于公网环境下内网穿透的问题,求指导

  •  
  •   tzlovezaq · 13 天前 · 2390 次点击

    一直听说公网 IP 很香,我这八线小城市以前一直以为没希望申请下来的,没想到打电话给联通一个小时就给开通了,再联系宽带运维师傅光猫改桥接,一天的时间竟然就成了“公网用户”。 而且,我也有个域名,域名服务商是腾讯云,现在托管给了 cf 。 必须得搞点事情,现在最担心的是安全问题,因为之前内网穿透都是无脑的比如 tailscale 、cpolar 这些,有了公网后,大家的方案大概是

    • openvpn 、wg 这些 vpn 服务,和现在使用 tailscale 的方式差不多,好处是可以异地组网,内网 IP 访问,无痕回家,坏处是必须得开着 vpn 软件,虽然现在也一直开着

    • 粗暴的路由器端口映射方式直接回家,感觉这个太危险了

    • nginx+ddnsgo+域名 方式,只在路由器对外转发 nginx 的 443 (换成高位) 端口,这个是我现在觉得比较优雅而且安全的方式。

    请大家帮我斟酌一下。

    还有一个非常不入流的小白问题,有公网 ip 后,我现在用光猫改桥接,路由拨号后,只要路由器不做端口映射,是不是就不叫暴露了自己的内部端口,也就不存在安全问题。

    第 1 条附言  ·  13 天前
    选了第三种方式。但是遇到了问题……
    现在的情况是,域名服务商是腾讯云,托管在 cloudflare 上
    用 ddns-go 已经跑通了域名和公网 IP
    问题出现在 NPM 反代上,申请了 cloudflare 的 SSL ,如果用 http 的话访问域名跳转路由器登录页面。

    ddns 解析正常
    https://imgur.com/KtJYSAR
    npm 证书正常
    https://imgur.com/IT8PXgY
    NPM 反代配置
    https://imgur.com/WIGPDaa
    https://imgur.com/Ffx5uNX
    NPM 端口设置及路由器映射
    https://imgur.com/6yhq6wu
    https://imgur.com/0KNLbzC

    应该都差不多了,不知道哪出了问题,有没有大佬可以指点一二
    42 条回复    2024-06-14 08:15:56 +08:00
    StinkyTofus
        1
    StinkyTofus  
       13 天前   ❤️ 1
    不必杞人忧天, 开放端口不是洪水猛兽, 你不管用什么 VPN 也必须开放端口, 不要用弱密码就行了。
    povsister
        2
    povsister  
       13 天前 via iPhone   ❤️ 2
    先提醒你一句,不管怎么回家,不要直接暴露任何 http 服务,不是安全问题,单纯的运营商会扫,高位端口也不行,扫到就是非法架设网站,直接停机签保证书
    x86
        3
    x86  
       13 天前
    直接域名+DDNS 方式,回家就域名+端口+白名单认证就行了,不做映射基本没什么安全问题(关闭路由器远程 ssh )
    mm2x
        4
    mm2x  
       13 天前
    难道你不知道有一种东西叫防火墙? 可以指定几个 IP 段。一般 8 线小城市就那么几个 22 段或者 24 段。
    tzlovezaq
        5
    tzlovezaq  
    OP
       13 天前
    @povsister 用 nginx 做 https 之后,访问家里的 jellyfin 这种,用 https://域名:高位端口,也会扫吗????
    redbeanzzZ
        6
    redbeanzzZ  
       13 天前
    同二楼,不要开 http 服务,会上门签保证书的。回家用久了还是 vpn 接入最方便,开一两个 vpn 端口就可以和内网一样使用
    maybeonly
        7
    maybeonly  
       13 天前
    1. 这样做没问题,反正也得经常开着
    2. 做好安全措施,没问题的
    3. 这样不太好,可能会被运营商处理,运营商因为安全问题不允许你开 http 服务
    说安全问题有好多层面……对初学者来说比较合理的实现就是外网暴露 openvpn/wg 的端口,如果你只需要访问内网资源的话可以指定 ip 段(路由表)。
    povsister
        8
    povsister  
       13 天前 via iPhone
    @tzlovezaq 会,https 一样扫,端口号不限,只要你有 http 特征都算
    tzlovezaq
        9
    tzlovezaq  
    OP
       13 天前
    @povsister 擦,那只有 vpn 这条路可以走?突然感觉公网 IP 的意义不大了。
    fanxasy
        10
    fanxasy  
       13 天前
    最方便还是自己搭 wg ,然后在客户端把 wg 当做 surge/sing-box 的一条代理用
    a33291
        11
    a33291  
       13 天前
    借楼问一下,如果通过分到的 ipv6 地址对外暴露了 http/s,也会被扫吗?
    esee
        12
    esee  
       13 天前 via Android
    我曾经把远程桌面的端口暴露出去,有一天心血来潮去看系统日志,发现 3 天时间被尝试登录几十万次只是因为密码用户名不对所以没成功。仅供参考。直接暴露服务端口做好安全措施一般没问题,但是有一种一直被贼惦记的不安全感
    busterian
        13
    busterian  
       13 天前
    @povsister
    真的吗? 我 v4 直接暴露 3 哥 http 服务快一年了还没被上门
    gp0119
        14
    gp0119  
       13 天前   ❤️ 1
    感觉扫不扫看地区的,我开了 plex ,qBittorrent ,bitwarden 等等用了几年也没被扫
    povsister
        15
    povsister  
       13 天前 via iPhone
    @tzlovezaq 可以直接暴露 RDP ,很方便。
    以及组网可以使用传统技术,比如是个手机都带的 L2TP IPsec ,压根不用考虑打洞。然后挂 PT 也是可以直接 upnp 传入,好处还是很多的。
    xusanduo2019
        16
    xusanduo2019  
       13 天前
    我擦,就光公网 IP 就已经让我十分羡慕了,我的电信宽带我打了两次电话都不给我开公网 Ip
    CodeLauncher
        17
    CodeLauncher  
       13 天前


    会吗?
    Laoz666
        18
    Laoz666  
       13 天前
    你说的危险是啥危险 普通人还需要担心别人攻击你这个几天就会变的 ip 吗 大胆点 直接端口直连
    tzlovezaq
        19
    tzlovezaq  
    OP
       13 天前
    @xusanduo2019 八线小城市联通,原因问都不问,直接开。
    xusanduo2019
        20
    xusanduo2019  
       13 天前
    @tzlovezaq 羡煞我也!
    killerv
        21
    killerv  
       13 天前
    我在 ipv6 上开了一个 webdav ,不知道会不会被查……
    tzlovezaq
        22
    tzlovezaq  
    OP
       13 天前
    @Laoz666 危险说的是被运营商干掉,被攻击啥的我倒是不在乎,毕竟只是像看看家里的 nas 啥的,没啥重要文件
    huangdog
        23
    huangdog  
       13 天前
    @tzlovezaq 给你连回自己家的 NAS 拿东西
    myxingkong
        24
    myxingkong  
       13 天前
    如果你是苹果用户( Mac + iPhone )的话:

    1.内网搭建一个 WireGuard 服务,并且将服务端口映射到公网。
    2.购买 Surge ,配置好代理信息以及回家规则(指定 IP 段请求走回家节点),配置存放在 iCloud 中,这样 Mac 和 iPhone 可以共用一份配置。
    3.(可选)将内网服务的 IP 地址 配置到域名上(例如:Nas 服务:nas.example.com => 192.168.1.xxx ),这样就不需要记每个服务的 IP 地址 了,并且浏览器输入域名的前几位就会自动补全。

    以上是我目前的配置,配置完基本无感知回家,支持直接挂载家里 Nas 的 Smaba 服务,也支持 RDP 远程桌面 和 SSH 。并且如果使用临时电脑时也可以下载 WireGuard 的客户端回家。
    Rookiewan
        25
    Rookiewan  
       13 天前
    我是使用 tailscale 组网,也是有公网,在自己的 nas 上自建了 derp 服务,然后暴露出去,所有设备通过自建的 derp 服务中转(不知道为什么不触发打洞,可能跟我关了 ipv6 有关系)
    目前使用正常
    lingo
        26
    lingo  
       13 天前
    有公网 ip ,但是用了 tailscale 之后,就基本没用过这个公网 ip 了
    Laoz666
        27
    Laoz666  
       13 天前
    @tzlovezaq #22 那就直接 tailscale 就好咯 ip 都不用管 ts 直接帮你打洞了 有公网 ip 相当于直连 下载速度=你的上传速度
    hahiru
        28
    hahiru  
       12 天前
    扫不扫看地区。我搭了低端口 web 、网盘、bitwarden 。
    而且 x 上还有我网盘被人扫到的网盘文件直链。
    chinanala
        29
    chinanala  
       12 天前
    安全主要指的是不被运营商扫到停宽带。

    建议在软路由层面,设置 IP 白名单列表,只开放自己日常几个网络环境下的/24 。

    每月流量不多的话可以套 CDN ,这样就不用高位端口了,软路由只允许 CDN 的 IP 入站。

    或者买台国内 affman 的 NAT 转发机,成本低,关键不用担心被停宽带。
    Djlion
        30
    Djlion  
       12 天前
    我家就映射出了一个 ssh 端口,在公司电脑上通过 MobaXterm 创建 SSH Tunnel ,在浏览器用 SwitchyOmega 配置好代理,可以访问家里的各种 web 服务,目前对我来说基本就足够了。
    MeteorVIP
        31
    MeteorVIP  
       12 天前
    @Djlion 我也是,1,SSH 端口.2,BT 端口.3,hysteria2 端口.
    986244073
        32
    986244073  
       12 天前
    老哥现在用啥方案呢
    tzlovezaq
        33
    tzlovezaq  
    OP
       12 天前
    @986244073 第三种方案,只在路由器上映射 NPM 的高位端口。
    全都用 npm 和 cloudfare 做了 ssl 证书,只用 https 访问,如果被扫描到了,我就认了!
    就我自己在外面看个小片片,不至于逮我进去吧。
    我 append 的那个问题,是因为我在群晖上部署了 openwrt 旁路由,并且群晖走了旁路由网关所以路由器无法映射出 npm 端口,现在可以了。
    外网访问非常丝滑,看 4khdr 都不卡,下行速度峰值 18m/s ,舒服了。
    其他没有登录页面的,或者常见端口的服务,都通过 tailscale 来访问,也挺快的。
    tzlovezaq
        34
    tzlovezaq  
    OP
       12 天前
    @chinanala 靠谱,我研究一下。
    tzlovezaq
        35
    tzlovezaq  
    OP
       12 天前
    @lingo tailscale 确实快,而且简单易用,我现在拿 tailscale 作为补充。
    tzlovezaq
        36
    tzlovezaq  
    OP
       12 天前
    @hahiru 卧槽,哥们,你这个就有点吓人了,要不要还是封锁一下。
    jqyang
        37
    jqyang  
       6 天前
    @povsister 这么严格的吗,弄个公网 ip ,映射一下 Home Assistant 的 8123 端口这种也不行吗(可以登陆管理界面)
    tzlovezaq
        38
    tzlovezaq  
    OP
       6 天前
    @jqyang 反正我 NPM 反代,只对外映射 NPM 的端口,然后反代出来很多服务了。bitwarden 、jellyfin 啥的,现在还没啥问题。
    jqyang
        39
    jqyang  
       5 天前
    @tzlovezaq 不懂就问,那 NPM 的 80 端口不也是 http 页面吗?电信也能扫到吧
    tzlovezaq
        40
    tzlovezaq  
    OP
       5 天前
    @jqyang NPM 反代自己,用高位端口,家庭公网 80 端口本来就是不能用的。
    jqyang
        41
    jqyang  
       4 天前 via iPhone
    @tzlovezaq 我意思是假设在 NPM 中用 58880 代替 80 ,电信扫到 IP:58880 时,NPM 默认返回的页面也是 http 服务页面吧,这种没事?谢谢
    tzlovezaq
        42
    tzlovezaq  
    OP
       4 天前
    @jqyang 按大佬们的意思,任何 http 服务只要不进行备案都有风险,“任何”。除非经过亿点操作加一些挡板,但是我现在还没整明白,就这样先用着吧。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2980 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 13:53 · PVG 21:53 · LAX 06:53 · JFK 09:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.