Видимость IP

Sunday

Cōgitō ergō sum
Регистрация
13 Дек 2009
Сообщения
816
Реакции
342
К примеру на сервере есть два IP. Основной и дополнительный.
На каждом IP висит сайт.
Оба сайта обращаются к стороннему сайту и получают оттуда данные.
Но тот самый сервис-донор определяет оба сайта, как с одного IP (основного).

Это как-то лечится? Чтобы при обращении с каждого сайта был виден только его IP?
 

lag

Мой дом здесь!
Регистрация
13 Окт 2014
Сообщения
290
Реакции
366
Если для запросов используется curl, то там есть опция CURLOPT_INTERFACE, которая позволяет указать имя исходящего сетевого интерфейса или ip адрес.
 

MuayThai

Создатель
Регистрация
27 Июл 2016
Сообщения
37
Реакции
11
К примеру на сервере есть два IP. Основной и дополнительный.
На каждом IP висит сайт.
Оба сайта обращаются к стороннему сайту и получают оттуда данные.
Но тот самый сервис-донор определяет оба сайта, как с одного IP (основного).

Это как-то лечится? Чтобы при обращении с каждого сайта был виден только его IP?

Когда на сервере 2 сайта на двух адресах, это значит веб-сервер слушает на 2 адресах.

Но чтобы внешний ресурс видел 2 этих адреса, надо явно указывать интерфейс, с которого должен отправляться запрос.
 

John Doe

Создатель
Регистрация
27 Июл 2012
Сообщения
22
Реакции
4
Как вариант можно указать интерфейс в роутинг таблице:

route add -host <адрес внешнего сервера> gw <ip c которого идёт запрос>
 

MuayThai

Создатель
Регистрация
27 Июл 2016
Сообщения
37
Реакции
11
Как вариант можно указать интерфейс в роутинг таблице:

route add -host <адрес внешнего сервера> gw <ip c которого идёт запрос>

Вы вводите человека в заблуждение. Смотрите, явно указано:

> Но тот самый сервис-донор определяет оба сайта, как с одного IP (основного).

То есть надо, чтобы донор определял вхождение с ДВУХ РАЗНЫХ адресов! А Вы советуете жёстко прописать единый шлюз...
 

Stesh

Постоялец
Регистрация
3 Фев 2009
Сообщения
304
Реакции
129
Но чтобы внешний ресурс видел 2 этих адреса, надо явно указывать интерфейс, с которого должен отправляться запрос.
Только лучше явно указывать ip, если для курл это одно и тоже, то в некоторых случаях - интерфейс и ip - разные вещи. Если шлюз один для основного ip и дополнительного - этого достаточно в 99% случаев.
В кейсах, где используется два (и более) подключения к разным аплинкам, используем несколько таблиц маршрутизации, маркируем входящие(точнее прероутинг)/исходящие по определенному правилу, растыкиваем в именованные таблицы маршрутов - т.е. policy based routing в чистом виде.
 

Sunday

Cōgitō ergō sum
Регистрация
13 Дек 2009
Сообщения
816
Реакции
342
Чёт не катит эта тема
Пишу так:
Код:
$ch = curl_init();
curl_setopt($curlh, CURLOPT_INTERFACE, "xxx.xxx.xxx.xxx");
Потом проверяю на стороне сервиса-донора, и он всё равно показывает заход с другого IP, а не того, который я указал в CURLOPT_INTERFACE
Что я делаю не так?
 
Сверху