听说校园网提供ipv6公网地址,于是想先在宿舍搭建一个跑在虚拟机上的web服务试试
写点东西记录折腾经历,算是备忘吧
这里,笔者PC系统是Windows 10,虚拟机软件是VMware Workstation 16 Pro
步骤
一、在虚拟机上开启web服务
先在VMware上创建一台虚拟机,笔者使用的环境是Ubuntu 21.10
网络连接选择NAT模式
打开虚拟机上的nginx,监听80端口
利用ip a命令查看虚拟机的虚拟ipv4地址
此时,主机可以通过浏览器,连接虚拟机ipv4地址的对应端口,来访linux上的web服务
二、开启ipv4 to ipv4端口转发(可选)
利用VMware的虚拟网络编辑器设置NAT,添加从主机ipv4地址80端口到虚拟ipv4地址80端口的http转发
(可以顺便设置下从主机ipv4地址22端口到虚拟ipv4地址22端口的ssh转发,以及443端口的https转发)
此时,主机可以通过浏览器,连接主机ipv4地址的对应端口,来访问linux上的web服务
三、开启ipv6 to ipv4端口转发
进一步,可以在Windows主机上设置ipv6地址到虚拟机的ipv4的http转发
在Windows PowerShell中依次输入
netsh
interface
portproxy
add v6tov4 listenaddress=* listenport=80 connectaddress=(你虚拟机的ipv4地址) connectport=80 protocol=tcp
并在Windows防火墙中设置80端口的入站规则
(22和443端口同理)
此时在手机上输入主机的ipv6地址,发现可以成功访问虚拟机中的web服务
四、绑定域名
向dns服务商添加AAAA记录
利用acme.sh生成ssl证书
参考资料
centos7利用acme.sh+cloudflare生成ssl通配符证书_mrtuzi的专栏-CSDN博客
通过转发ipv6连接linux虚拟机 – alg (xiaojianpan.top)
VMware NAT端口映射外网访问虚拟机linux (bbsmax.com)
感谢
xu_zh大佬