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

广西联通动手了,普通家宽和公网 IP 说拜拜。

  •  
  •   lin559671 · 2023-01-09 21:46:25 +08:00 via iPhone · 6114 次点击
    这是一个创建于 690 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公网 IPv4 没了,还剩 ipv6 ,还能做什么。 传统 ipv4 做服务器被阉,悲剧

    53 条回复    2024-03-24 10:38:03 +08:00
    fat00119
        1
    fat00119  
       2023-01-09 21:57:20 +08:00   ❤️ 1
    杠他 要回来
    heiher
        2
    heiher  
       2023-01-09 21:58:24 +08:00 via Android   ❤️ 2
    YGBlvcAK
        3
    YGBlvcAK  
       2023-01-09 22:03:40 +08:00
    @heiher 这个能实现哪些功能呢?
    heiher
        4
    heiher  
       2023-01-09 22:17:01 +08:00 via Android
    @YGBlvcAK 私网 IP 打通 TCP/UDP 端口后实现与公网 IP 几乎同等的访问效果
    bt7vip
        5
    bt7vip  
       2023-01-09 22:25:47 +08:00 via Android
    我也掉过一次,打客服,说我用你宽带就是因为公网 IP ,客服说记录一下,第二天让我重启光猫,原先有的可以要回来,不给属单方面变更服务,也可能我这要求松。大部分不需要的切成内网也使用不会有变化,要求切回去的单独在分配。
    lin559671
        6
    lin559671  
    OP
       2023-01-09 22:43:36 +08:00 via iPhone
    @bt7vip 杠过了,说改不了,改就是全市模版,叫我换商务宽带套餐
    MeteorVIP
        7
    MeteorVIP  
       2023-01-09 23:03:59 +08:00
    @heiher 这个好像很不错啊,虽然没有公网,但 fullcone.
    siknet
        8
    siknet  
       2023-01-10 09:57:56 +08:00   ❤️ 1
    我之前加 @nopop 有公网,上个月变成了内网,电话 cao 了半天没用,过了几天又变回公网了,你试试,我桂林联通

    在 pppoe 拨号帐号后面加个 @nopop ,6 个字符
    acbot
        9
    acbot  
       2023-01-10 10:03:49 +08:00
    只要以前是通过官方渠道申请的并且也没过户移机过应该还是可以要回来的,因为从全国的这个情况和惯例来说都不影响既有存量业务。如果本身你以前仅仅是自己通过装维或者是自己加参数的那种可能就没有办法了。 另外其实现在都有 v6 的情况下把业务迁移到 v6 上问题也不大
    acbot
        10
    acbot  
       2023-01-10 10:07:09 +08:00
    怎么说呢现在 v4 本身已经没有政策支持了,运营商只要耍不要脸存量用户也都是问题,现在已启动回收的省份存量用户也是随时面临掉 v4 公网的情况,所以要解决问题还是尽早迁移到 v6.
    MeteorVIP
        11
    MeteorVIP  
       2023-01-10 12:39:54 +08:00
    @heiher 大佬,你就是作者啊,刚使用了一下,很牛逼啊,我要的效果就像是:frp 的 xtcp.使用了这个插件直接实现了 p2p.省去了搭建 frp 和域名还有安装客户端的步骤.starred~!
    strp
        12
    strp  
       2023-01-10 13:02:50 +08:00
    @lin559671 你就说转接地方师傅,叫师傅帮你弄,然后你跟师傅说我朋友跟我家都有监控最近几天都用不了了,怎么委婉怎么来,实在不行换电信吧,在 ISP 上你还是有选择的权利的。
    MeteorVIP
        13
    MeteorVIP  
       2023-01-10 13:43:23 +08:00
    @heiher 域名要怎么设置呀?我没看明白,能不能出个详细教程,谢谢.我用的是 oray 贝锐域名.
    spacezip
        14
    spacezip  
       2023-01-10 13:55:19 +08:00
    所以老套餐 一直没变过 老纸质合同一直留着
    heiher
        15
    heiher  
       2023-01-10 14:49:58 +08:00
    @MeteorVIP #13 这里有 frp 的详细示例 https://github.com/heiher/natmap/wiki/frp ddns 是以 cloudflare api 演示的,其它家也是大同小异。natmap 在建立映射后会调用指定的脚本,脚本参数传入了外部 IP 、端口等信息,还有将 IP 和端口编码在 AAAA 记录中的 IPv6 地址,更新到域名的 AAAA 记录里,就可以使用魔改后的 frp 客户端访问了。
    lin559671
        16
    lin559671  
    OP
       2023-01-10 17:07:49 +08:00 via iPhone
    @siknet 我再电话多试试看
    lin559671
        17
    lin559671  
    OP
       2023-01-10 17:08:54 +08:00 via iPhone
    @strp 我家多线的,要全网体验
    MeteorVIP
        18
    MeteorVIP  
       2023-01-10 20:32:41 +08:00
    @heiher 大佬,我的意思是,我在本机电脑架设了网站,想要绑定域名,这个能实现吗?
    还有,openwrt 的 natmap 界面,能不能做把外网 ip 和端口拼接起来组成网址,这样点击打开新窗口就可以访问了.现在的话还要复制粘贴改个冒号.
    sp670
        19
    sp670  
       2023-01-10 23:47:43 +08:00
    北海电信单 V4 公网没 V6 瑟瑟发抖。
    北海电信模板还是很老的,要公网 V4 就没 V6 ,要 V6 就没有公网 V4
    konshana
        20
    konshana  
       2023-01-11 00:21:03 +08:00
    广东联通去年年底也被回收的 v4 公网 ip 原来是开户就有公网 IP 的
    youx
        21
    youx  
       2023-01-11 10:15:47 +08:00
    全国直接关闭 IPV4 算了
    acbot
        22
    acbot  
       2023-01-11 11:14:11 +08:00   ❤️ 1
    @youx 如果全关,那么喊着说 v4 资源少,所以要收回的部门又不同意了,因为那样的话 v4 就彻底变成负资产了!
    wangerka
        23
    wangerka  
       2023-01-11 11:32:24 +08:00
    @heiher 示例里的 112.24.0.23 这个公网 ip 是哪里来的呢
    wangerka
        24
    wangerka  
       2023-01-11 11:38:34 +08:00
    @heiher 我理解一下,运营商有一个公网 IP 是 112.24.0.23 ,分给大概 65535 个用户使用,我发现分给我的端口是 6348 ,于是我在路由器上(100.65.11.55)开一个 7000 端口,把入站流量转给内网的 192.168.0.2:7000 。问题是怎么把公网地址 112.24.0.23:6348 映射至 100.65.11.55:7000 呢,这个 7000 是自己能定的嘛,外部访问的话,必须要 http://112.24.0.23:6348 访问啊
    test0103
        25
    test0103  
       2023-01-11 15:23:39 +08:00
    @siknet 我也是桂林联通,我是装机的时候,跟师傅说的要公网 IP ,然后给我说加后缀,我是两天变成内网的,我现在也是在投诉阶段,我这算是官方渠道申请吗?还是?而且我没有 IPv6 ,你有吗?他们自己也不知道什么事 IPv6
    siknet
        26
    siknet  
       2023-01-11 15:26:18 +08:00
    @test0103 没有 IPV6 ,不知道是设置的问题还是。现在联通说什么都不给公网了的,威胁工信部都没用,算了,老老实实打洞吧
    heiher
        27
    heiher  
       2023-01-11 19:04:49 +08:00 via Android
    @wangerka 理解基本上是对的,112.24.0.23 是运营商网关的公网 IP ,100.65.11.55 是分配在用户侧路由器上的私网 IP ,natmap 会让运营商的网关建立起从 112.24.0.23:6438 指向 100.65.11.55:7000 的映射。natmap 还会侦听在 100.65.11.55:7000 ,进而将外部访问的流量转发到 192.168.0.2:7000 。最终在外部访问 112.24.0.23:6348 就等于访问 192.168.0.2:7000 。
    heiher
        28
    heiher  
       2023-01-11 19:07:37 +08:00 via Android   ❤️ 1
    @MeteorVIP HTTP 的话有两种方式:
    1. HTTP 302 跳转,从固定入口的跳转服务跳到动态的 IP:端口。
    2. CDN 非标端口回源。

    这两种方式都是在 natmap 的脚本中调用服务商的 API 更新公网 IP 和端口。
    llinge
        29
    llinge  
       2023-01-12 10:46:50 +08:00
    @heiher #15
    你好
    1.NATMap 同时支持 TCP 和 UDP 吗
    2.原来的服务端程序比如 nginx 需要修改代码或者更改配置文件吗
    3.对于 TCP 协议的话是不是所欲数据要经过 NATMap 中转呢, 服务端还能拿到真实的客户端 IP 吗
    4.UDP 数据也是经过 NATMap 中转吗?

    谢谢
    heiher
        30
    heiher  
       2023-01-12 11:34:49 +08:00
    @llinge #29 你好

    1. 同时支持 TCP 和 UDP ,不加 -u 参数是 TCP 模式,加上 -u 参数是 UDP 模式。
    2. 服务端侧的程序无需要特殊修改。
    3. 运行 TCP 服务端有三种形式:
    a. 无转发模式,natmap 和服务端(如 nginx)都运行在路由器,natmap 负责打通端口映射,nginx 直接侦听并接受连接。
    b. natmap 转发模式,natmap 运行在路由器,服务端运行在其它主机,natmap 负责打通端口映射和侦听并接受连接,再建立与服务端的连接,并桥接两路连接,该模式服务端不能拿到真实客户端 IP 。
    c. 防火墙转发模式,natmap 运行在路由器,服务端进行在其它主机,natmap 负责打通运营商侧的端口映射,路由器额外配置防火墙的端口转发,负责将路由器侧的入站请求转发至服务端主机,该模式服务端可以拿到真实客户端 IP 。
    4. UDP 模式与 TCP 完全相同,也是三种形式。
    llinge
        31
    llinge  
       2023-01-12 12:07:09 +08:00
    @heiher #30
    模式 a 和模式 c 本质是一样的吧, 这两种模式难道不需要服务端程序开启 SO_REUSEPORT 吗?

    对于模式 b 的话, TCP 模式下直接一个连接转发过去就行了.
    模式 b UDP 模式下 natmap 对于每个不同来源(srcip:srcport) 的数据也是新建一个 socket 转发到服务端, 以便让服务端区分不同客户端的数据吗 ?

    粗看了下代码, 代码风格真秀气, 不知道是在哪家公司练出来的.
    heiher
        32
    heiher  
       2023-01-12 12:36:32 +08:00 via Android
    @llinge #31
    模式 a 由于 natmap 和业务服务端进行在同一网络空间上,需要绑定同一个源端口,是需要开启 reuseport 的,但是即使服务端没开启这一特性,在 Linux 5.6 及之后内核上,natmap 也会尝试跨进程打开 reuseport ,故业务服务端无需特别配置。

    是的,模式 b 由 natmap 在用户态转发,tcp 协议建立两路 tcp 流,由 natmap 进行 splice 。udp 则相对复杂一点点,在用户态维护对应关系,natmap 与业务服务端之间为每一组不同的客户端 srcip:srcport 建立一路 connected 的 udp“连接”。

    本着能跑就行的目标写的代码,见笑啦~ :D
    llinge
        33
    llinge  
       2023-01-12 13:33:02 +08:00
    @heiher #32
    "跨进程打开 reuseport" 的相关代码在哪一部分呢?

    "connected 的 udp" 不用每次都带着地址用 sendto recvfrom 了, 可以直接 send recv, 和 tcp 的 api 一样了, 可以代码复用.
    lin559671
        34
    lin559671  
    OP
       2023-01-12 13:34:34 +08:00 via iPhone
    看完帖子,看样子我得回归 openwrt 了。之前一直用 routeros
    heiher
        35
    heiher  
       2023-01-12 13:48:34 +08:00 via Android
    @llinge #33

    https://github.com/heiher/natmap/blob/master/src/hev-misc.c#L70-L234

    细节上还是有些不同的,具体见 tfwd 和 ufwd 的差别。
    llinge
        36
    llinge  
       2023-01-12 14:14:44 +08:00
    @heiher #35 多谢
    没想到 scanf 还能这样 %64[0-9A-Fa-f] 限定字符串的格式和长度.
    更没想到还能通过 /proc/net/tcp[6]一路反查找到进程 pid 和 listenfd, 还能跨进程设置属性.
    今天真是长见识了 :-)
    MeteorVIP
        37
    MeteorVIP  
       2023-01-12 17:24:32 +08:00
    @heiher #28 我用贝锐的域名,里面有个"隐性 URL",把打洞好的 ip 和端口填进去,访问域名的时候就可以转跳到端口啦,非常爽.多谢.这个方法唯一的缺点是,宽带 ip 改变之后要重新修改一下.但对我这种新手来说满足了.
    URL 跳转:访问域名可跳转到一个网址上,实现不加端口号即可访问服务器(显性 URL ,会改变地址栏中的网址,隐性 URL 则反之)
    droidmax61
        38
    droidmax61  
       2023-01-13 22:47:48 +08:00 via Android
    @llinge 基操勿⑥
    droidmax61
        39
    droidmax61  
       2023-01-13 22:50:04 +08:00 via Android
    另外 natter 这个项目也可以试试看,与 natmap 唯一有区别的地方,我觉得就是支持的系统平台不同了,natmap 是不支持 windows 的,natter 因为是用 python 写的,所以可以打包成 exe
    test0103
        40
    test0103  
       2023-01-14 06:46:00 +08:00
    @siknet 关于广西桂林联通的 IPv6 ,我确认了,10010 回复说是有的,我让客服安排师傅上门了,他们沟通后确认是拨号服务器的配置问题,他们是有 IPv6 业务的,如果能多找几个人一起投诉一下,说不定就能有了,12 号宽带师傅上门处理不了,说要联系人去修拨号服务器,到现在还没反馈,我还不能获取到 IPv6 ,我打算过两天还没 IPv6 就继续投诉,双栈了,如果是还是内网的 ipv6 ,至少翻墙多了一点选择,如果是公网,那就 ipv6 over vpn 组网了
    siknet
        41
    siknet  
       2023-01-14 10:10:25 +08:00
    @test0103 看你什么需求了,如果只是连 nas 或者 office 传文件,Tailscale 就够用了,我是偶尔需要向外发文件才需要公网 IP 。IPV6 倒是无所谓
    llinge
        42
    llinge  
       2023-01-14 11:02:43 +08:00
    @droidmax61 #38 像是 %64[0-9A-Fa-f] 这种写法哪里有相关的资料可以参考呢? @heiher

    多谢
    heiher
        43
    heiher  
       2023-01-14 11:28:05 +08:00   ❤️ 1
    lin559671
        44
    lin559671  
    OP
       2023-01-14 15:49:48 +08:00 via iPhone
    @test0103 把后缀拿掉就有 ipv6 了
    heiher
        45
    heiher  
       2023-01-14 23:48:06 +08:00   ❤️ 1
    @MeteorVIP #37

    使用 NATMap 在 NAT-1 私网 IP 宽带上部署 Web 服务:

    https://github.com/heiher/natmap/wiki/web

    包含 natmap 调用脚本通过 API 自动更新 Cloudflare DDNS 的域名解析的 IP ,以及在脚本中更新 Origin rule 的端口。
    MeteorVIP
        46
    MeteorVIP  
       2023-01-15 17:34:24 +08:00 via iPhone
    @heiher #45 谢谢大佬写了那么详细的教程。还有一个小问题,要买一个 cloudflare 的域名是吗?因为别的域名没有 api 。
    heiher
        47
    heiher  
       2023-01-15 18:38:13 +08:00 via Android   ❤️ 1
    @MeteorVIP #46 不需要,其它提供商的域名也可以在 cloudflare 使用。
    garibellee
        48
    garibellee  
       2023-01-16 11:15:32 +08:00
    @lin559671 为啥要 ros->openwrt
    chancat
        49
    chancat  
       296 天前 via Android
    @heiher 这个稳不?能给 nas 用吗?
    heiher
        50
    heiher  
       296 天前 via Android
    @chancat #49 能用,稳的
    chancat
        51
    chancat  
       295 天前 via Android
    @chancat 谢回复。
    chancat
        52
    chancat  
       281 天前 via Android
    @heiher 我才发现只能 nat1 用吗?
    heiher
        53
    heiher  
       251 天前 via Android
    @chancat #52 是的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2694 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 12:07 · PVG 20:07 · LAX 04:07 · JFK 07:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.