我最近购买了一个VPS,为我提供了64个IPv6地址,但是我发现自己无法使用:1
以外的任何地址。 IPv6网关看起来像这样(出于安全原因用x
进行了屏蔽)xxxx:xxxx:x:xxx::a
,其中a
是1到64,我应该将所有这些都提供给我的服务,但我没有能够使用除1之外的任何一个。它说1已自动分配给安装在VPS上的OS,这是否意味着我还必须分配其余地址?如果是这样,我该怎么办?
这是我在Node.js中尝试使用的代码。
const Express = require("express");
const App = Express();
App.use(Express.static(__dirname+"/www"));
const Listener = App.listen(1024, "xxxx:xxxx:x:x:xx::2", () => {
const addr = Listener.address();
console.log("Listening on " + addr.address + ":" + addr.port);
});
启动时出现的错误是:
Error: listen EADDRNOTAVAIL xxxxx:xxxx:x:x:xx::2:1024
at Server.setupListenHandle [as _listen2] (net.js:1318:19)
at listenInCluster (net.js:1383:12)
at doListen (net.js:1509:7)
at process._tickCallback (internal/process/next_tick.js:63:19)
at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
at startup (internal/bootstrap/node.js:236:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:560:3)
Emitted 'error' event at:
at emitErrorNT (net.js:1362:8)
at process._tickCallback (internal/process/next_tick.js:63:19)
[... lines matching original stack trace ...]
at bootstrapNodeJSCore (internal/bootstrap/node.js:560:3)
答案 0 :(得分:0)
在@Paul的帮助下,找到了适用于Google的正确关键字后,我设法自己解决了此问题
解决方案是将每个地址添加到interfaces文件。
我使用了命令:
sudo ifconfig eth0 inet6 add xxxx:xxxx:x:x:xx::a/64