[英]Node.js outbound IP - change address
操作系统是 Linux Debian 9. 我的网络接口连接的 IPv4 很少,也可以有一些 IPv6。
网络接口设置文件在末尾添加 /64 组 IPv6 地址之一。
如何运行 node.js 以使用一个选择的 IPv4 作为 IPv4 地址列表中的出站连接? 现在它总是使用最后添加的 IP 接口。
我不想在这些 IP 上设置代理,因为它们用于网络服务器和其他服务。
我准备了一些代码来说明问题所在:
var ip = require('ip');
console.log(ip.address());
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://api.myip.com/');
let bodyHTML = await page.evaluate(() => document.body.innerHTML);
console.log(bodyHTML);
await browser.close();
})();
So as you can see, I've listed here my local IP address and in advance I have opened website https://api.myip.com/ with puppeteer (thanks @crazyluki) to show its outbound IP in json.
所以结果是:
seo@serv:~/goo$ node ip.js
188.6.6.1
{"ip":"1001:a1d0:2:9aa1::","country":"France","cc":"FR"}
user@serv:~/goo$
添加了新的 IPv6:
user@serv:~/goo$ sudo /sbin/ifconfig eno1 inet6 add 1001:a1d0:2:9aa1::1/64
接着:
user@serv:~/goo$ node ip.js
188.6.6.1
{"ip":"1001:a1d0:2:9aa1::1","country":"France","cc":"FR"}
user@serv:~/goo$
所以我们可以看到 IP 地址从 1001:a1d0:2:9aa1:: 变为 1001:a1d0:2:9aa1::1
如何控制 puppeteer 中的出站 IP 不使用代理作为我的本地 IPv4 地址?
如果我使用 Lynx 访问https://api.myip.com/ ,它也会像木偶一样显示 IP。
好的,我已经配置了 squid。 似乎没有其他方法可以达到预期的效果。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.