虽然你国说正在普及 ipv6, 但是我认为距离普及完成还有几年 (或许需要等到 ipv8 出现的时候 ww), 那么问题来了,在完全不借助你的 ISP 的情况下广播你 IPv6 是可能的咩,答案是可能的.
你国现状
通过某论坛的坛友们讨论得知你国现状
- 只有部分地区有 ipv6
- 分配的 ipv6 无法使用
- ipv6 不是固定的
- 无法修改 rdns
- 得到的 ipv6 为 / 64 以上,导致无法再为下级路由分配
- 访问任何 ipv6 站点需要先环球旅行 2 圈左右
其它的几个实现方法
咨询你的 ISP, 询问他们是否可以广播你的 ipv6
根据你国国情来看这个方法并不适合.
使用 tunnelbroker 给我们提供的普通隧道 (Regular Tunnel)
这个方法目前被大多数人使用,但是他有以下缺点
- 获得的 ipv6 来自美国并且标注为数据中心使用.
- 无法使用一些对地理位置审查严格的服务,比如 netflix
- 经常会因为无效的地理位置触发如 google 的访问验证
使用服务器创建自己的 6in4 服务器
很多 vps / 独立服务器运营商会为我们提供 / 64 甚至 / 48 的 ipv6, 我们可以创建一个像 tunnelbroker 那样的 6in4 服务器
这个方法我很久之前就想实现,但是由于水平的原因我从未成功过,而且它的缺点和上面的一样.
和 ISP 协商并从他们那里购买专线
这是一个很好的解决办法,只要你愿意接受每月支付接近 5 位数的账单的话,我建议你使用这种方法.
选择的解决方法
在经过摸索上述方法时,我找到了第四种方法,我注意到 tunnelbroker 里存在一个 BGP 隧道 (BGP Tunnel), 打开这个页面时发现需要填写 ASN,IP 和自己的 ip block
一开始我并不知道这是做什么的,经过之前尝试广播 ip 之后我渐渐的明白了它的用处,于是我尝试使用了它.
必备条件
在使用 BGP 隧道时你需要满足以下条件
- ISP 为你分配一个公网 IPv4, 它可以是动态的
- 你拥有 ASN 和一个至少为 / 48 的 ipv6 block
如果你的 ISP 没有为你分配 ipv4, 你可以尝试向客服索要,你可说你正在使用的摄像头是很旧的型号,要想远程访问必须要使用公网 ip 来远程访问它,如果这时候你仍然无法得到 ipv4 你也可以尝试寻找 ISP 在当地的维护人员,请他们吃饭尝试从他们那里得到公网 ipv4, 如果这个时候他们仍然不能为你分配公网 ipv4, 你可以尝试让他们为你创建 41 的端口映射,如果无法做到这两种方法其中的一种,你将无法继续.
ASN 和 IPv6 可以在很多渠道获得,比如 hostus 和 ipv6.im
实施步骤
首先我们到 tunnelbroker 创建一个 BGP 隧道,选择离你最近的 pop 节点,填写你的 asn 和 ISP 分配给你的 ip 还有你需要使用 (广播) 的 IP block
然后你将收到来自 [email protected] 的邮件,邮件中会让你提交 loa (关于 loa 请查看前面的文章) 以便验证,提交之后大约在 24 小时内就会审核通过,这时你就可以正常使用你的隧道了.
然后我们需要像创建普通隧道那样创建一个 6to4 隧道
-
auto he-ipv6
-
iface he-ipv6 inet6 v4tunnel
-
address 2001:470:233:233::2
-
netmask 64
-
endpoint 8.8.4.4
-
local 8.8.8.8
-
ttl 255
-
gateway 2001:470:233:233::1
当建立了普通隧道之后,剩余的操作就和普通的 ip 广播设置一样了,具体操作请看前两篇文章,这里只贴出 bird6 的不同点
-
protocol bgp vultr
-
{
-
local as 209233;
-
source address 2001:470:233:233::2;
-
import none;
-
export all;
-
graceful restart on;
-
multihop 2;
-
neighbor 2001:470:233:233::1 as 6939;
-
}
不同点的解释
- 209233 请替换成你的 asn 号码
- 2001:470:233:233::2 是 bgp 隧道为你分配的 client ip
- 2001:470:233:233::1 是 bgp 隧道为你分配的 server ip,6939 为 he 的 asn 号码
另外 bird 内不需要 password
字段,如果填写了这个字段将无法正常广播
然后我们来验证是否已经建立连接
-
~# birdc6 show proto all he:
-
BIRD 1.6.3 ready.
-
name proto table state since info
-
he BGP master up 09:29:01 Established
-
Preference: 100
-
Input filter: REJECT
-
Output filter: ACCEPT
-
Routes: 0 imported, 2 exported, 0 preferred
-
Route change stats: received rejected filtered ignored accepted
-
Import updates: 60702 0 60702 0 0
-
Import withdraws: 274 0 — 60976 0
-
Export updates: 3 0 0 — 3
-
Export withdraws: 1 — — — 1
-
BGP state: Established
-
Neighbor address: 2001:470:233:233::1
-
Neighbor AS: 6939
-
Neighbor ID: 8.8.4.4
-
Neighbor caps: refresh AS4
-
Session: external multihop AS4
-
Source address: 2001:470:233:233::2
-
Hold timer: 146/180
-
Keepalive timer: 2/60
当 BGP state:
的值为 Established
时则表示可以正常进行广播了,广播方法请参考前面 2 篇文章
要发表评论,您必须先登录。