公网 IPv4 没了,还剩 ipv6 ,还能做什么。 传统 ipv4 做服务器被阉,悲剧
1
fat00119 2023-01-09 21:57:20 +08:00 1
杠他 要回来
|
2
heiher 2023-01-09 21:58:24 +08:00 via Android 2
端口随意来玩 NAT 吧: https://github.com/heiher/natmap/wiki/NATMap
|
5
bt7vip 2023-01-09 22:25:47 +08:00 via Android
我也掉过一次,打客服,说我用你宽带就是因为公网 IP ,客服说记录一下,第二天让我重启光猫,原先有的可以要回来,不给属单方面变更服务,也可能我这要求松。大部分不需要的切成内网也使用不会有变化,要求切回去的单独在分配。
|
8
siknet 2023-01-10 09:57:56 +08:00 1
|
9
acbot 2023-01-10 10:03:49 +08:00
只要以前是通过官方渠道申请的并且也没过户移机过应该还是可以要回来的,因为从全国的这个情况和惯例来说都不影响既有存量业务。如果本身你以前仅仅是自己通过装维或者是自己加参数的那种可能就没有办法了。 另外其实现在都有 v6 的情况下把业务迁移到 v6 上问题也不大
|
10
acbot 2023-01-10 10:07:09 +08:00
怎么说呢现在 v4 本身已经没有政策支持了,运营商只要耍不要脸存量用户也都是问题,现在已启动回收的省份存量用户也是随时面临掉 v4 公网的情况,所以要解决问题还是尽早迁移到 v6.
|
11
MeteorVIP 2023-01-10 12:39:54 +08:00
@heiher 大佬,你就是作者啊,刚使用了一下,很牛逼啊,我要的效果就像是:frp 的 xtcp.使用了这个插件直接实现了 p2p.省去了搭建 frp 和域名还有安装客户端的步骤.starred~!
|
12
strp 2023-01-10 13:02:50 +08:00
@lin559671 你就说转接地方师傅,叫师傅帮你弄,然后你跟师傅说我朋友跟我家都有监控最近几天都用不了了,怎么委婉怎么来,实在不行换电信吧,在 ISP 上你还是有选择的权利的。
|
14
spacezip 2023-01-10 13:55:19 +08:00
所以老套餐 一直没变过 老纸质合同一直留着
|
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 客户端访问了。
|
18
MeteorVIP 2023-01-10 20:32:41 +08:00
@heiher 大佬,我的意思是,我在本机电脑架设了网站,想要绑定域名,这个能实现吗?
还有,openwrt 的 natmap 界面,能不能做把外网 ip 和端口拼接起来组成网址,这样点击打开新窗口就可以访问了.现在的话还要复制粘贴改个冒号. |
19
sp670 2023-01-10 23:47:43 +08:00
北海电信单 V4 公网没 V6 瑟瑟发抖。
北海电信模板还是很老的,要公网 V4 就没 V6 ,要 V6 就没有公网 V4 |
20
konshana 2023-01-11 00:21:03 +08:00
广东联通去年年底也被回收的 v4 公网 ip 原来是开户就有公网 IP 的
|
21
youx 2023-01-11 10:15:47 +08:00
全国直接关闭 IPV4 算了
|
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 访问啊
|
25
test0103 2023-01-11 15:23:39 +08:00
@siknet 我也是桂林联通,我是装机的时候,跟师傅说的要公网 IP ,然后给我说加后缀,我是两天变成内网的,我现在也是在投诉阶段,我这算是官方渠道申请吗?还是?而且我没有 IPv6 ,你有吗?他们自己也不知道什么事 IPv6
|
26
siknet 2023-01-11 15:26:18 +08:00
@test0103 没有 IPV6 ,不知道是设置的问题还是。现在联通说什么都不给公网了的,威胁工信部都没用,算了,老老实实打洞吧
|
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 。
|
28
heiher 2023-01-11 19:07:37 +08:00 via Android 1
@MeteorVIP HTTP 的话有两种方式:
1. HTTP 302 跳转,从固定入口的跳转服务跳到动态的 IP:端口。 2. CDN 非标端口回源。 这两种方式都是在 natmap 的脚本中调用服务商的 API 更新公网 IP 和端口。 |
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 中转吗? 谢谢 |
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 完全相同,也是三种形式。 |
31
llinge 2023-01-12 12:07:09 +08:00
@heiher #30
模式 a 和模式 c 本质是一样的吧, 这两种模式难道不需要服务端程序开启 SO_REUSEPORT 吗? 对于模式 b 的话, TCP 模式下直接一个连接转发过去就行了. 模式 b UDP 模式下 natmap 对于每个不同来源(srcip:srcport) 的数据也是新建一个 socket 转发到服务端, 以便让服务端区分不同客户端的数据吗 ? 粗看了下代码, 代码风格真秀气, 不知道是在哪家公司练出来的. |
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 |
33
llinge 2023-01-12 13:33:02 +08:00
@heiher #32
"跨进程打开 reuseport" 的相关代码在哪一部分呢? "connected 的 udp" 不用每次都带着地址用 sendto recvfrom 了, 可以直接 send recv, 和 tcp 的 api 一样了, 可以代码复用. |
34
lin559671 OP 看完帖子,看样子我得回归 openwrt 了。之前一直用 routeros
|
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 的差别。 |
36
llinge 2023-01-12 14:14:44 +08:00
@heiher #35 多谢
没想到 scanf 还能这样 %64[0-9A-Fa-f] 限定字符串的格式和长度. 更没想到还能通过 /proc/net/tcp[6]一路反查找到进程 pid 和 listenfd, 还能跨进程设置属性. 今天真是长见识了 :-) |
37
MeteorVIP 2023-01-12 17:24:32 +08:00
@heiher #28 我用贝锐的域名,里面有个"隐性 URL",把打洞好的 ip 和端口填进去,访问域名的时候就可以转跳到端口啦,非常爽.多谢.这个方法唯一的缺点是,宽带 ip 改变之后要重新修改一下.但对我这种新手来说满足了.
URL 跳转:访问域名可跳转到一个网址上,实现不加端口号即可访问服务器(显性 URL ,会改变地址栏中的网址,隐性 URL 则反之) |
38
droidmax61 2023-01-13 22:47:48 +08:00 via Android
@llinge 基操勿⑥
|
39
droidmax61 2023-01-13 22:50:04 +08:00 via Android
另外 natter 这个项目也可以试试看,与 natmap 唯一有区别的地方,我觉得就是支持的系统平台不同了,natmap 是不支持 windows 的,natter 因为是用 python 写的,所以可以打包成 exe
|
40
test0103 2023-01-14 06:46:00 +08:00
@siknet 关于广西桂林联通的 IPv6 ,我确认了,10010 回复说是有的,我让客服安排师傅上门了,他们沟通后确认是拨号服务器的配置问题,他们是有 IPv6 业务的,如果能多找几个人一起投诉一下,说不定就能有了,12 号宽带师傅上门处理不了,说要联系人去修拨号服务器,到现在还没反馈,我还不能获取到 IPv6 ,我打算过两天还没 IPv6 就继续投诉,双栈了,如果是还是内网的 ipv6 ,至少翻墙多了一点选择,如果是公网,那就 ipv6 over vpn 组网了
|
41
siknet 2023-01-14 10:10:25 +08:00
@test0103 看你什么需求了,如果只是连 nas 或者 office 传文件,Tailscale 就够用了,我是偶尔需要向外发文件才需要公网 IP 。IPV6 倒是无所谓
|
42
llinge 2023-01-14 11:02:43 +08:00
|
43
heiher 2023-01-14 11:28:05 +08:00 1
|
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 的端口。 |
46
MeteorVIP 2023-01-15 17:34:24 +08:00 via iPhone
@heiher #45 谢谢大佬写了那么详细的教程。还有一个小问题,要买一个 cloudflare 的域名是吗?因为别的域名没有 api 。
|
48
garibellee 2023-01-16 11:15:32 +08:00
@lin559671 为啥要 ros->openwrt
|