Ispmanager 5 не устанавливает софт, ip сервера заблокирован роскомнадзором

Ispmanager 5 не устанавливает софт, ip сервера заблокирован роскомнадзоромСлучилась такая ситуация. На сервере установлена CentOS 7 и панель управления ispmanager 5, все прекрасно работало, обновлялось. В один прекрасный момент сломалась почтовая система. Установлены были Dovecot, Exim, OpenDKIM, Postgrey, RoundCube. Собственно сломалась веб морда почтовика RoundCube. Попытались все это дело переустановить через раздел ispmanager, "Возможности", панель долго думала, вращала колесиком, после чего пометила этот пункт восклицательным знаком. Повторные попытки переустановить что-либо через саму панель ни к чему не привели. После изучения логов панели, обнаружилась такая ошибка:
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"
Проверил через шелл, wget'ом:
[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 Удачи.

Комментарии

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
Регистр имеет значение
 oooooooooooo      o8o    .oooooo.     ooooooooo.               oooooooooo.  
`888' `8 `"' d8P' `Y8b `888 `Y88. `888' `Y8b
888 oooo 888 888 .d88' .ooooo. 888 888
888oooo8 `888 888 888ooo88P' d88' `"Y8 888oooo888'
888 " 888 888 ooooo 888 888 888 `88b
888 o 888 `88. .88' 888 888 .o8 888 .88P
o888ooooood8 888 `Y8bood8P' o888o `Y8bod8P' o888bood8P'
888
.o. 88P
`Y888P
Введите код, изображенный в стиле ASCII-арт.