Предпочитать IPv4 при подключении к Office 365

Я настраиваю экземпляр программного обеспечения службы поддержки osTicket, которое имеет открытый исходный код и написано на PHP. На моем сервере работает Apache2.4 на Ubuntu 16.04 с PHP7.1.

Теперь я пытаюсь подключить osTicket к Office 365 для получения входящих писем в службу поддержки, используя POP + SSL для подключения к Outlook.office365.com через порт 995 (как указано здесь https://support.office.com/en-us/article/office-365-urls-and-ip-address-ranges-8548a211-3fe7-47cb-abb1-355ea5aa88a2?omkt=en-US&ui=en-US&rs=en-US&ad=US).

Моя проблема в том, что соединения занимают очень много времени, до нескольких минут. Но в конце концов им это удается (по крайней мере, некоторым).

Я отладил это с помощью telnet outlook.office365.com 995 и обнаружил, что попытки подключения выполняются с адресами IPv6. Когда одна попытка истекает, для следующей попытки автоматически принимается другой IP-адрес — обычно другой IPv6-адрес.

Однако, когда telnet (с непредсказуемыми интервалами) получает IPv4-адрес для подключения, я могу сразу приступить к командам HELO и POP3.

Поэтому похоже, что IPv6 является причиной медленных соединений внутри osTicket, но я не уверен, где можно решить эту проблему.

Можно ли установить IPv4 в качестве предпочтительного через PHP или curl (если он используется?), или Apache, или может ли какая-то команда уровня ОС решить проблему? Однако я не хочу отключать IPv6 для всего сервера.


person erlangsec    schedule 31.03.2018    source источник
comment
Обратите внимание, что в какой-то момент в будущем некоторые сайты станут доступны только по IPv6. Ваше время, вероятно, лучше потратить на решение проблемы с IPv6, а не на его отключение.   -  person Joseph Sible-Reinstate Monica    schedule 01.04.2018
comment
Абсолютно, я открыт для любого решения. Моя проблема в том, что я запускаю все готовые компоненты и действительно не знаю, почему и где IPv6 становится проблемой.   -  person erlangsec    schedule 01.04.2018
comment
попробуйте установить CURLOPT_IPRESOLVE curl.haxx.se/libcurl/c/CURLOPT_IPRESOLVE.html через stackoverflow.com/q/25645634/1423096   -  person alo Malbarez    schedule 01.04.2018
comment
(если это используется?) Почему вы не знаете, используется ли это?   -  person Ignacio Vazquez-Abrams    schedule 01.04.2018