Видимость IP

Sunday

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

Это как-то лечится? Чтобы при обращении с каждого сайта был виден только его IP?
 
Если для запросов используется curl, то там есть опция CURLOPT_INTERFACE, которая позволяет указать имя исходящего сетевого интерфейса или ip адрес.
 
К примеру на сервере есть два IP. Основной и дополнительный.
На каждом IP висит сайт.
Оба сайта обращаются к стороннему сайту и получают оттуда данные.
Но тот самый сервис-донор определяет оба сайта, как с одного IP (основного).

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

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

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

route add -host <адрес внешнего сервера> gw <ip c которого идёт запрос>
 
Как вариант можно указать интерфейс в роутинг таблице:

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

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

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

То есть надо, чтобы донор определял вхождение с ДВУХ РАЗНЫХ адресов! А Вы советуете жёстко прописать единый шлюз...
 
Но чтобы внешний ресурс видел 2 этих адреса, надо явно указывать интерфейс, с которого должен отправляться запрос.
Только лучше явно указывать ip, если для курл это одно и тоже, то в некоторых случаях - интерфейс и ip - разные вещи. Если шлюз один для основного ip и дополнительного - этого достаточно в 99% случаев.
В кейсах, где используется два (и более) подключения к разным аплинкам, используем несколько таблиц маршрутизации, маркируем входящие(точнее прероутинг)/исходящие по определенному правилу, растыкиваем в именованные таблицы маршрутов - т.е. policy based routing в чистом виде.
 
Чёт не катит эта тема
Пишу так:
Код:
$ch = curl_init();
curl_setopt($curlh, CURLOPT_INTERFACE, "xxx.xxx.xxx.xxx");
Потом проверяю на стороне сервиса-донора, и он всё равно показывает заход с другого IP, а не того, который я указал в CURLOPT_INTERFACE
Что я делаю не так?
 
Назад
Сверху