Дублирующий сервер ISP Go

Установите второй (подчиненный) сервер SkyDNS ISP Go, аналогично установке первого (главного) сервера. При этом isp-go-api должен быть запущен только на главном сервере и все запросы должны идти к нему. Чтобы запретить запуск isp-go-api на подчиненном сервере и проксирование запросов на него, выполните команды:

service isp-go-api stop
update-rc.d isp-go-api disable
rm -f /etc/nginx/sites-enabled/isp-go-api
service nginx restart

Настройте репликацию между серверами Redis. Для этого разрешите главному серверу слушать на сетевых адресах, отличных от 127.0.0.1, при помощи настройки параметра bind в /etc/redis/redis.conf. Этот параметр надо выставить в 0.0.0.0

bind 0.0.0.0

или, если есть особые причины, в IP-адрес или адреса сервера.

bind 127.0.0.1 192.168.5.100 10.0.0.100

Для применения настроек перезапустите Redis:

service redis-server restart

Внимание: порт tcp/6379, на котором слушает Redis, закройте средствами iptables, оставив только доступ с loopback-интерфейса (это нужно для isp-go-dnsproxy и isp-go-blockpage) и с подчиненного сервера. Атакующий, имея доступ к redis-серверу по tcp, смог бы изменить любую настройку любого пользователя, или, что еще хуже, заставить Redis занять всю доступную память.

Рассмотрим пример, когда главный сервер имеет IP-адрес 192.168.5.100, а подчиненный - 192.168.5.200. В этом случае безопасность на главном сервере обеспечивается таким правилом iptables:

iptables -A INPUT ! -s 192.168.5.200 -p tcp --dport 6379 ! -i lo -j DROP

Для сохранения этого правила, чтобы оно восстановилось после перезагрузки, выполните команду:

service netfilter-persistent save

В настройках Redis на подчиненном сервере в файле /etc/redis/redis.conf в конце укажите:

slaveof <masterip> <masterport>

и перезапустите Redis:

service redis-server restart

Revision #3
Created 8 December 2023 12:20:53 by Виктор
Updated 10 June 2026 09:18:12 by Ольга