IPv6-only VPS如何建站和运行服务

IPv6-only VPS使用记录:没有IPv4地址的服务器如何建站和运行服务

IPv6-only VPS如何建站和运行服务

最近购买一些VPS时,经常会看到IPv6-only这个选项。

和普通VPS不同,IPv6-only VPS没有IPv4地址,服务器只分配IPv6公网地址。

例如:

1
2
3
4
5
IPv6:
2401:xxxx:xxxx::1

IPv4:

很多第一次使用IPv6-only VPS的人都会遇到一些问题:

  • 没有IPv4怎么SSH连接?
  • 域名应该怎么解析?
  • 网站还能不能使用HTTPS?
  • 没有IPv4的服务器能不能运行Docker?

实际上,只要正确配置,IPv6-only VPS完全可以运行网站、API、Docker和各种Linux服务。

本文记录IPv6-only VPS从连接到建站的完整过程。


购买IPv6-only VPS后,首先检查服务器IPv6地址。

登录服务器后:

1
ip -6 addr

正常情况下可以看到:

1
inet6 2401:xxxx::xxxx scope global

如果只有:

1
fe80::

说明只是本地链路地址,不能从公网访问。

然后检查IPv6路由:

1
ip -6 route

正常应该存在:

1
default via xxxx

没有默认路由时,IPv6网络无法正常通信。


连接IPv6-only VPS需要注意SSH格式。

普通IPv4:

1
ssh root@1.2.3.4

IPv6:

1
ssh root@[2401:xxxx::1]

如果SSH端口不是22:

1
ssh -p 2222 root@[2401:xxxx::1]

IPv6地址中的冒号会和SSH参数冲突,所以需要使用中括号。


如果本地网络没有IPv6,无法直接连接IPv6-only VPS。

可以测试:

1
curl -6 ip.sb

如果返回IPv6地址:

1
240x:xxxx::xxxx

说明当前网络支持IPv6。

如果没有IPv6,可以使用:

  • 支持IPv6的网络
  • IPv4跳板机
  • 支持IPv6的云服务器

例如:

1
2
3
4
5
本地电脑
|
IPv4 VPS
|
IPv6-only VPS

IPv6-only VPS绑定域名时,需要使用AAAA记录。

IPv4使用:

1
A记录

IPv6使用:

1
AAAA记录

DNS添加:

1
2
3
4
5
6
7
8
类型:
AAAA

名称:
@

内容:
2401:xxxx::1

查看解析:

1
dig AAAA example.com

返回:

1
example.com AAAA 2401:xxxx::1

说明域名已经指向IPv6服务器。


安装网站环境时,Nginx需要监听IPv6地址。

安装:

1
2
3
apt update

apt install nginx

查看端口:

1
ss -tlnp

如果看到:

1
[::]:80

说明支持IPv6。

如果只有:

1
0.0.0.0:80

说明只监听IPv4。

修改Nginx配置:

1
vim /etc/nginx/sites-enabled/default

添加:

1
listen [::]:80;

HTTPS:

1
listen [::]:443 ssl;

测试:

1
nginx -t

重启:

1
systemctl restart nginx

IPv6-only VPS申请HTTPS证书和普通服务器类似。

安装:

1
apt install certbot python3-certbot-nginx

申请:

1
certbot --nginx -d example.com

需要保证:

  • AAAA解析正确
  • 80端口开放
  • Nginx支持IPv6

使用Docker时,也需要注意IPv6监听。

查看容器:

1
docker ps

查看端口:

1
ss -tlnp

如果服务只显示IPv4监听,需要修改Docker网络配置。


IPv6-only VPS常见问题:

IPv6可以ping,但是网站打不开。

通常检查:

1
ss -tlnp

确认80/443是否监听IPv6。

检查防火墙:

1
ip6tables -L

确认IPv6端口没有被阻止。


IPv4用户无法访问IPv6-only网站也是常见问题。

原因很简单:

IPv4网络无法直接访问IPv6地址。

解决方法:

  • 使用Cloudflare CDN
  • 增加IPv4反向代理
  • 使用双栈服务器

IPv6-only VPS比较适合:

  • 学习Linux网络
  • 搭建IPv6网站
  • 测试服务
  • Docker实验环境
  • IPv6相关项目

如果网站主要面对IPv4用户,需要考虑增加IPv4入口。