ОС - это 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();
})();
Итак, как вы можете видеть, я перечислил здесь мой локальный IP-адрес и заранее открыл сайт https://api.myip.com/ с puppeteer (спасибо @crazyluki), чтобы показать его исходящий IP в 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
Как настроить контроль над исходящим IP-адресом в кукловоде, не используя прокси для моих локальных адресов IPv4?
Если я посещаю https://api.myip.com/ с Lynx, он также показывает IP как кукловод.