如何利用4G的IPv6地址实现公网访问手机

aya 2020-04-12 5:23:14 2020-04-12 10:18:41浏览次数:

1.关于4G与IPv6

现在4G网络已经全部完成IPv6协议的改造升级,也就是说每个人的手机在使用4G流量的时候都会被分配一个IPv6地址。

那么如何查看并确认你的手机启用了IPv6呢?

关闭WIFI,开启移动数据,进入手机的设置-系统-关于手机-状态信息,查看ip地址这一项,

如果显示两个地址,如:

10.123.123.123
240e:86:f02d:1d3a:5b7c:5a16:4567:1a2a

那么恭喜你的手机已经启用IPv6!

接下来你可以访问一些测试网站 链接 链接

2.如何启用IPv6

如果你的手机并未启用IPv6,也不用着急,可以参考下面的步骤开启

以华为手机为例:

  • 进入设置-无线和网络-移动网络-接入点名称(APN),
  • 点击你正在使用的APN右侧的 i ,进入修改接入点界面,
  • 将“APN协议”切换为“IPv4/IPv6”

不出意外的话,你的手机现在已经获取到IPv6地址了!

3.利用IPv6地址的一些实例

  • 直接远程访问aid的web端而不需要在同一局域网下:
    浏览器直接打开:[你的IPv6地址]:<端口>
    效果图:AidWeb VSCode

  • 使用python建站,并通过IPv6开放到公网上: 只需在终端执行一行命令,之后输入 pp2 <端口> 即可建站
    效果图:手机 电脑

echo "alias pp2='python2 -c \"import socket,SocketServer,CGIHTTPServer;SocketServer.TCPServer.address_family=socket.AF_INET6;CGIHTTPServer.test()\"'" >> ~/.bashrc&&source ~/.bashrc
  • 使用SSH连接Aid: 事实上我至今仍未成功正常SSH连上过,所以这条只是理论可行233

    附上或许可以参考的资料:

当采用ipv6的地址去连接另外一台机器时,必须要指定出口设备。主要是因为ipv6的地址只有在特定设备上才有意义。
在本机地址上使用ssh,只需要将设备名字附加到地址的后边就行,要不然是没法访问的。比如下面的实例:
连接到ip地址为fe80::20c:29ff:fecf:aabb的机器上去,通过设备eth2。当然了,eth2这里也是要设定好ipv6的地址才行的。
ssh root@fe80::20c:29ff:fecf:aabb%eth2
如果通过scp拷贝数据,情况与之类似。也是需要指定好设备名字的。
如下:
scp root@[fe80::20c:29ff:fecf:aabb%eth2]:~/ring.ko
将fe80::20c:29ff:fecf:aabb中的ring文件复制到本地来。
上边的方括号要不要均可。不过加上后,区分效果好点。

注意:当前IPv6并未完全普及,而只有同样支持IPv6的设备才能连接到你的手机!
注意+1:手机使用4G流量确实可以分配到IPv6地址,但地址时常发生变动,所以如果没有动态域名解析或者固定IPv6地址的话,连接应该不会很稳定。

共 2 条回复

Bill
站长

牛!

Bill
站长