Ispmanager 5 не устанавливает софт, ip сервера заблокирован роскомнадзором
Случилась такая ситуация. На сервере установлена CentOS 7 и панель управления ispmanager 5, все прекрасно работало, обновлялось. В один прекрасный момент сломалась почтовая система. Установлены были Dovecot, Exim, OpenDKIM, Postgrey, RoundCube. Собственно сломалась веб морда почтовика RoundCube. Попытались все это дело переустановить через раздел ispmanager, "Возможности", панель долго думала, вращала колесиком, после чего пометила этот пункт восклицательным знаком. Повторные попытки переустановить что-либо через саму панель ни к чему не привели.
После изучения логов панели, обнаружилась такая ошибка:
Проверил через шелл, wget'ом:
Could not retrieve mirrorlist http://download.ispsystem.com/repo/centos/5.100/mirrorlist.txt error was 14: curl#7 - "Failed to connect to 2a01:230:2:fffe::2: Network is unreachable"
[root@host /]# wget http://download.ispsystem.com/repo/centos/5.100/mirrorlist.txt --2017-05-23 19:00:36-- http://download.ispsystem.com/repo/centos/5.100/mirrorlist.txt Resolving download.ispsystem.com (download.ispsystem.com)... 185.146.158.10, 2a01:230:2:fffe::2 Connecting to download.ispsystem.com (download.ispsystem.com)|185.146.158.10|:80... failed: Connection timed out.Эту ошибку выдает не сама панель, а менеджер пакетов yum, который пытается сделать update списка пакетов. Если запустить его через шелл, получим то-же самое:
[root@host /]# yum update http://download.ispsystem.com/repo/centos/epel/7/x86_64/repodata/repomd.xml: [Errno 14] curl#7 - "Failed to connect to 2a01:230:2:fffe::2: Network is unreachable"После общения с саппортом хостера выяснилось что ip адрес сервера, где установлена ispmanager, заблокирован роскомнадзором. Проверить блокировку домена или ip, можно тут https://eais.rkn.gov.ru. Получается что ispmanager на данном IP вообще лишилась возможности что-либо обновлять или устанавливать через свой интерфейс.
Обход блокировки через прокси сервер tinyproxy
Самое очевидное решение обойти блокировку, пустить пакетный менеджер yum через прокси сервер. Можно было арендовать платный прокси или найти бесплатный, благо этого добра в сети навалом, но решил по быстрому поднять на соседнем сервере с debian 7, легковесный прокси сервер tinyproxy, тем более каких-то особых требований к настройке не было. Итак, ip заблокированного сервера - 1.1.1.1, ip адрес машины на которой будет установлен прокси сервер - 2.2.2.2. Устанавливаем:apt-get update apt-get install tinyproxyВсе прошло штатно, прокси сервер запустился автоматически с дэфолтовыми настройками. Теперь нужно чуток отредактировать конфиг /etc/tinyproxy.conf. Директивы файла конфигурации довольно подробно прокомментированы, плюс всегда есть man tinyproxy.conf. Я изменил всего пару строк:
XTinyproxy No # Отключить заголовок X-Tinyproxy DisableViaHeader Yes # Отключить заголовок Via Allow 1.1.1.1 # Разрешить подключение к прокси сервер с IP адреса заблокированного сервера, в данном случае 1.1.1.1. Если поставить 0.0.0.0/0, доступ будет разрешен отовсюду.Перезапускаем tinyproxy:
service tinyproxy restartПо умолчанию прокси сервер слушает на всех ip адресах сервера и на порту 8888, в данном случае меня это вполне устраивало. При необходимости запустить прокси на конкретном ip адресе сервера и на каком-то другом порту, используйте директивы файла конфигурации Listen и Port. Проверить что прокси работает, можно через любой браузер. Прописываем в настройках браузера адрес прокси: 2.2.2.2 и порт: 8888, (наш прокси не требует авторизации, поэтому, имя пользователя и пароль оставляем пустыми), и открываем любую страницу. Если с прокси сервером все в норме, осталось настроить yum на заблокированном сервере. Для этого в файл конфигурации /etc/yum.conf добавляем строку:
proxy=http://2.2.2.2:8888Что-бы проверить что yum работает через наш прокси сервер, можно выполнить:
yum updateЕсли по каким-то причинам репозитарии ispmanager были удалены, можно воспользоваться установочным скриптом панели в таком формате:
install.sh --noinstallС ключем --noinstall скрипт не будет ничего устанавливать, лишь добавит в систему необходимые репозитарии ispmanager. После всех этих манипуляций, можно пробовать что-то обновить или установить через панель, должно все работать. В моем случае был переустановлен roundcube. Если какие-то проблемы все таки возникли, на заблокированном сервере смотрим: /usr/local/mgr5/var/pkg.log /var/log/yum.log на сервере с прокси: /var/log/tinyproxy/tinyproxy.log Удачи.
Комментарии
Отправить комментарий