[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Под каждый аккаунт пользователя свой IP
123456
Добрый вечер, господа программисты!

Имеется VDS и 1024 дополнительных ip адресов.

Цель:
Крон запускает каждые 5 минут файл, который заходит в 1024 аккаунта на одном ресурсе и производит определенные действия.
Под каждым аккаунтом необходимо закрепить по 1 ip адресу, т.к. при авторизации с одного ip в более чем одном аккаунте - система блокирует все аккаунты.

Вопрос:
Подскажите, как в php скрипте изменить ip адрес и отправлять с данного ip curl запросы?


Ron
Для того, чтобы отправить запрос с определенного IP адреса, нужно, чтобы в системе существовал соответствующий интерфейс. Я бы сделал алиасом к основному и менял бы на нем адрес через внешний вызов. Правда для этого потребуются права рута, но можно и через sudo настроить. Или сразу запускать скрипт по крону от рута. Так запускать конечно неочень хорошо, зато просто.

А в самом CURL есть опция, с помощью которой можно указать через какой интерфейс работать: CURLOPT_INTERFACE

Содержать перманентно все 1024 адреса на алиасах не самое лучшее решение.

123456
Цитата
Содержать перманентно все 1024 адреса на алиасах не самое лучшее решение.

А какие еще есть варианты?

Суть в том, что необходимо зарегистрировать 1024 аккаунта на одном сайте, и каждый день заходить по 12 раз с каждого аккаунта и выполнять определенные действия.

Требуется максимально позаботиться о безопасности.

123456
Ron
Так а нельзя дергать кроном файл через рут.

а в нем курлом выполнять требуемые мне действия, указывая в CURLOPT_INTERFACE необходимый ip адрес?
Ron
Цитата (123456 @ 13.06.2016 - 22:45)
А какие еще есть варианты?

Завести один алиасный интерфейс и менять на нем адрес по мере необходимости через exec. То есть не нужно пробивать все 1024 адреса на 1024 алиаса ну это идиотизм просто-напросто тем более с них не требуется одновременная работа.

Цитата (123456 @ 13.06.2016 - 22:49)
Так а нельзя дергать кроном файл через рут.

Почему нельзя-то? Есть рутовая cron таблица. Из нее прямо php /путь/к/файлу.php он запустится с теми правами от кого был вызван. Соответственно и внешние вызовы из него пойдут с теми же, то есть рутовыми.

Цитата (123456 @ 13.06.2016 - 22:49)
указывая в CURLOPT_INTERFACE необходимый ip адрес?

Если мы указываем через CURLOPT_INTERFACE ip адрес это всего навсего один из способов определить интерфейс, через который пойдет соединение. Следовательно, если интерфейса с таким адресом не будет в системе, то ничего не получится. Значит надо такой интерфейс завести! )

Invis1ble
Тебя спалят по подсети, мошенник мамкин.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Ron
Там надо еще смотреть как выдали эту ёмкость. Можно обресть гем с default gw. И вообще там дофига нюансов может быть, по ситуации.

Теоретически можно попытаться вымутить вообще через SNAT без дополнительных интерфейсов. Ведь мы не ждем внешних соединений на дополнительные адреса. Поскольку решение о маршрутизации принимается уже после того как отработает обратный механизм SNATа, то мы получим пакет адресованный серверу. На его основной интерфейс, поскольку с него ушел пакет по default gw перед тем как занатиться.

Если система виртуализации забрасывает пакеты в сетевой интерфейс/пространство VDS просто по dst_ip, что вполне логично, то такая схема вполне может сработать. Но это так, чисто теория, не более того.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.