Назад | Перейти на главную страницу

Выполнить программу с другим IP-интерфейсом

У моего сервера несколько IP-интерфейсов. Я хочу выполнить сценарий, который извлекает содержимое веб-страницы, и мне было интересно, можно ли использовать другой IP-интерфейс, кроме стандартного. У скрипта нет аргумента интерфейса, такого как curl.

Спасибо

Это возможно .. Но это грязно.

http://www.ryde.net/code/bind.c.txt

1) Скомпилируйте его в общий объект:

cc -nostartfiles -fpic -shared bind.c -o bind.so -ldl -D_GNU_SOURCE

2) Задайте переменную BIND_ADDR и путь LD_PRELOAD и запустите ваше приложение, как показано ниже. BIND_ADDR="127.0.0.1" LD_PRELOAD=./bind.so /path/to/your/application

3) Ваше приложение теперь имеет интерфейс по умолчанию.

не касаясь вашего скрипта, вам нужно будет изменить интерфейс по умолчанию для всей системы - что, скорее всего, не очень хорошая идея!

Предлагаю обновить the script и заставьте его использовать нужный интерфейс ... это можно сделать, например. указав --bind-address если вы используете wget