基于 PPPoE 动态 IPv6 环境下 ip6tables 如何发布内网服务到公网

2021-07-05 15:21:29 +08:00
 acbot
IPv4 的时候都是通过 NAT 把端口映射到内网的服务器和端口上,现在 IPv6 内网的机器通过
路由器获取 IPv6-PD 然后配置一个随机 IPv6,内网的服务器都是获取的公网地址,路由器 v6 防火墙一般默认就是禁止其他公网主动发起对内网服务器的端口访问,由于 IPv6-PD 前缀会变那么服务器 v6 地址本身会变,那么 ip6tables 如何放行对内访问。1. 关闭路由器防火墙开启服务器本身防火墙 2. 放行该端口所有请求,内网的机器自己开防火墙。3. 和以前 v4 nat 类似用路由器网关 v6 ip NAT 服务器内网 v6 IP 另外,现在内网的机器与路由器接口获取的公网 v6 ip 也不一样了 那么 DDNS 是不是就得在具体的服务器上运行了呢不然地址获取就不正确
1630 次点击
所在节点    宽带症候群
12 条回复
qbqbqbqb
2021-07-05 18:50:45 +08:00
ip6tables 支持任意形式的掩码,规则里写成 “IPv6 地址 /::ffff:ffff:ffff:ffff” 的形式就可以匹配后 64 位了
acbot
2021-07-05 20:22:35 +08:00
@qbqbqbqb IPv6-PD 这种模式下 内网的机器公网地址是 IPv6-PD + 随机字符串 IPv6-PD 每次拨号都变 后面随机字符也是要变的,也就是你要放行的内网服务器的公网 IPv6 随机性很大 不像 v4 内网地址可以自己指定
rio
2021-07-05 21:34:37 +08:00
@acbot 机器数量不多的话,后缀可以静态指定(比如 ::1 );数量多的话可以 DHCPv6 。PD 的前缀也需要通过路由器 RA,所以路由器上直接跑 DDNS 也完全可行。
qbqbqbqb
2021-07-06 11:28:16 +08:00
@acbot 可以用 SLAAC 模式,不用 DHCPv6 有状态。SLAAC 模式下内网机器会生成一个固定地址和一个临时地址,两个都可以接受连接,上网默认用临时地址(所以 DDNS 脚本需要有获取本机固定地址并上传的功能,不能让服务商自行判断你的地址),固定地址后 64 位不会变(以前是用 MAC 地址计算,即 EUI-64 ;现在操作系统都有隐私保护功能,是用另外的不暴露 MAC 地址的算法计算,如果不重装系统不更换硬件,一般也不会变)。
acbot
2021-07-06 11:37:26 +08:00
@rio PD 后缀固定一下感觉问题不大 但是 PD 前缀都是 PPPoE 以后运营商下发的 这个会变不受控
acbot
2021-07-06 11:42:57 +08:00
@qbqbqbqb DDNS 我跟多的是想放到防火墙或者是网关设备上运行,如果是服务器本地运行获取 Ip 问题就简单。但是防火墙端口开启问题还是存在 如果关闭网关防火墙或者是直接所有主机的端口都打开 显然不太安全 如果是只开某个特定 IP 的端口 这个特定的 IP 又在变 因为 PPPoE 获取的公网 PD 是变得 不像 v4 时候只有一个内网固定地址
qbqbqbqb
2021-07-06 11:57:35 +08:00
@acbot 放到网关设备上运行也可以。SLAAC 获取的两个地址(一个永久和一个临时)里,永久地址后缀是不会变的(除非系统或硬件有改动)。完全可以在网关上拼接前缀+固定后缀得到完整地址(需要 DDNS 软件或脚本支持相应的功能)。防火墙如果是 ip6tables 的话也可以后缀匹配。
heq
2021-07-06 19:42:15 +08:00
@qbqbqbqb 正解

ubnt-erx 做主路由,就是用 /::ffff:ffff:ffff:ffff 放行内网的服务。
ericww
2021-07-06 20:00:07 +08:00
直接放行目标端口即可,如果有幸其他主机此端口也有服务,并且被扫描到,建议买张彩票,肯定中特等奖。在他能扫描完你的 /64 网段甚至 /56 之前,你的 ISP 已经给你换 PD 前缀了
acbot
2021-07-07 09:20:55 +08:00
@ericww 你说这个也算是一个方法,不过我感觉 qbqbqbqb heq 提到的 ip6tables 的后缀匹配应该是值得研究的方法
weyou
2021-07-09 17:02:25 +08:00
#9 才是正解,只要放行端口就好了,PD 和后缀都不可靠。至于安全性,有两点考虑
1.因为 ipv6 前缀包含的地址范围太大了,别人通过这个端口扫描到你内网其他机器的可能性非常低
2.内网中其他机器的服务也没必要使用同样的端口,防止 ipv6 地址被别人获取后直接进行端口扫描。
acbot
2021-07-12 11:50:17 +08:00
@weyou 为什么说后缀不可靠呢?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/787634

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX