宝塔面板IPv6不可访问需五步配置:一、面板启用IPv6监听;二、Nginx添加[::]:80和[::]:443监听;三、系统配置IPv6地址、网关及DNS;四、DNS添加AAAA记录并验证解析;五、防火墙放行IPv6的80/443端口。

如果您已确认服务器已分配并启用了IPv6地址,但宝塔面板或其托管的网站仍无法通过IPv6访问,则可能是由于面板监听设置、Web服务器配置、DNS解析或网络策略未同步启用IPv6。以下是具体可执行的配置步骤:
一、启用宝塔面板自身对IPv6的监听
此操作使宝塔面板管理界面可通过IPv6地址直接访问,例如使用 https://[2001:db8::1]:8888 形式访问。
1、登录宝塔面板后台,进入【面板设置】页面。
2、向下滚动至【基础设置】区域,找到【监听IPv6】选项。
3、勾选该选项,点击【保存】按钮。
4、执行命令重启面板服务以使配置生效:echo '::' > /www/server/panel/data/ipv6.pl && /etc/init.d/bt restart。
二、为网站配置Nginx IPv6监听端口
Nginx默认仅监听IPv4的80和443端口,需显式添加IPv6监听指令,否则网站在IPv6链路下将无响应。
1、在宝塔面板中,点击目标网站右侧的【设置】按钮。
2、切换到【配置文件】选项卡。
3、在 server 块内查找已有 listen 80; 行,在其下方插入新行:listen [::]:80;。
4、若网站已启用SSL,同样查找 listen 443 ssl http2; 行,并在其下方插入:listen [::]:443 ssl http2;。
5、点击【保存】,然后点击【重载配置】或【重启网站】使变更生效。
三、配置服务器系统级IPv6网络
宿主机未正确配置IPv6时,上层应用(包括Docker、Nginx、面板)均无法获得可用IPv6地址,因此必须确保底层网络就绪。
1、通过SSH登录服务器,执行 ip -6 addr show 查看是否显示有效公网IPv6地址(非 fe80::/10 或 fd00::/8 地址)。
2、如无有效地址,编辑网卡配置文件(如 /etc/sysconfig/network-scripts/ifcfg-eth0),追加以下三行(参数值需替换为服务商提供的实际值):
IPV6INIT=yes
IPV6ADDR=你的IPv6地址/64
IPV6_DEFAULTGW=你的IPv6网关
3、编辑 /etc/resolv.conf,添加至少一个IPv6 DNS,例如:nameserver 2400:3200:baba::1。
4、重启网络服务:systemctl restart network(CentOS)或 systemctl restart systemd-networkd(Ubuntu/Debian)。
四、添加域名AAAA记录并验证解析
即使服务器与Web服务均支持IPv6,若DNS未返回IPv6地址,客户端仍将尝试仅用IPv4连接,导致IPv6访问失败。
1、登录您的DNS服务商控制台(如阿里云DNS、Cloudflare、腾讯云DNSPod)。
2、为网站域名新增一条记录类型为 AAAA 的解析项。
3、主机记录填写 @ 或 www(依实际绑定需求),记录值填写服务器分配的完整IPv6地址(如 2001:db8:1234::5678)。
4、保存后,本地终端执行:dig AAAA yourdomain.com +short,确认返回对应IPv6地址。
5、使用 ping6 -c 4 yourdomain.com 测试端到端连通性。
五、开放服务器IPv6防火墙端口
iptables-nft 或 firewalld 若未放行IPv6流量,会静默丢弃所有入站请求,导致看似“配置完成”实则不可达。
1、检查当前firewalld状态:firewall-cmd --state,若运行中则继续;若为iptables,跳至第4步。
2、为public区域永久开放IPv6的HTTP/HTTPS端口:firewall-cmd --permanent --add-port=80/tcp --add-port=443/tcp --add-rich-rule='rule family="ipv6" source address="::/0" accept'。
3、重载规则:firewall-cmd --reload。
4、若使用传统iptables,请确认已加载 ip6tables 模块,并执行:ip6tables -I INPUT -p tcp --dport 80 -j ACCEPT 和 ip6tables -I INPUT -p tcp --dport 443 -j ACCEPT,再保存规则。










