跑在linux虚拟机上的web服务

听说校园网提供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大佬

发表评论

%d 博主赞过: