@GilbertAmethyst

Как выбирать IP для исходящих запросов на VPS?

Здравствуйте, спасители!

Есть задача:
Используется PHP-библиотека, которая работает как демон делающий http-запросы.

Проблема:
Возможно ли как-то при запуске php выбирать какой IP он будет использовать?
  • Вопрос задан
  • 157 просмотров
Решения вопроса 1
Insaned
@Insaned
Ну без правок в системе вы ничего не сможете сделать. Выбор IP это не область ответственности прикладного ПО.
В системе то что вы хотите можно сделать разными способами, например запустить ваши демоны от разных пользователей а потом айпитаблицами:
iptables -t nat -A POSTROUTING -m owner --uid-owner user1 -j SNAT --to-source 192.168.1.2
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Godless
@Godless
Это решаться должно средствами ОС.
Решение можно сделать например такое:
  1. на виртуалке заводите свой софт в докер контейнер, каждый контейнер на свой внутренний адрес, например из сети 10.0.0.0/24
  2. далее определенному адресу из сети 10.0.0.0/24 создаете :
    • либо маршрут с адреса 10.0.0.1 на интерфейс eth0, с адреса 10.0.0.2 на интерфейс eth2
    • либо все исходящие пакеты с адреса 10.0.0.1 делать SNAT на нужный внешний IP х.х.х.х средствами iptables



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

ЗЫ: На вскидку, ничего кроме контейнеризации придумать не могу. Покопайте еще в сторону сетевых настроек systemd. Может там можно как-то загнать демона в рамки одного сетевого внутреннего интерфейса, а уже с него делать тоже самое что из контейнера.
Ответ написан
на вскидку PPPtP не использует протокол IP, а лишь инкапсулирует в себя tcp/ip
По крайней мерие его форк
PPPoE - пускает свои PADI PADO пакеты по широковещялке, как следствие фундоментально отсутствует возможность ограничить его на уровне протокола который он попросту не использует, не TCP/IP мир един.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы