Исходящий IP-адрес Node.js - изменить адрес - PullRequest
1 голос
/ 03 ноября 2019

ОС - это 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 как кукловод.

1 Ответ

0 голосов
/ 08 ноября 2019

Хорошо, ребята, я настроил squid. Кажется, нет другого способа достичь желаемого результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...