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....]]> [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

Удачи.

Комментарии

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

Содержание этого поля является приватным и не предназначено к показу.
Регистр имеет значение
  o8o   ooooo      ooo                                              .oooo.   
`"' `888b. `8' .dP""Y88b
oooo 8 `88b. 8 oooo oooo ooo oooooooo .ooooo oo ]8P'
`888 8 `88b. 8 `88. `88. .8' d'""7d8P d88' `888 .d8P'
888 8 `88b.8 `88..]88..8' .d8P' 888 888 .dP'
888 8 `888 `888'`888' .d8P' .P 888 888 .oP .o
o888o o8o `8 `8' `8' d8888888P `V8bod888 8888888888
888.
8P'
"
Введите код, изображенный в стиле ASCII-арт.