Привет! Хочу предупредить, что в этой статье много букв, но она того стоит, поверьте. А именно, как на дедике использовать брандмауэр, потому что при установке BungeeCord на выделенный сервер возникает вопрос, как защитить сервер от несанкционированного доступа. То есть нужно работать в первую очередь с портами и закрывать к непользуемым портам доступ извне.
Если вы используете ОС Linux для своего сервера (что всегда рекомендуется и вообще принято в серверной среде), то уже полдела можно сказать сделано. Нужно использовать в этом случае iptables.
Iptables - это небольшая системная утилита командной строки для ОС Linux, позволяющая управлять файрволом. В принципе, настроить защиту межсетевого экрана очень легко, и вы должны просто следовать инструкции ниже.
Вы просто замените значения $BUNGEE_IP на IP и переменную $SERVER_PORT на порт вашего сервера. Если ваш Minecraft сервер находится на одной машине (сервере) вместе с BungeeCord, то IP адрес сервера можете писать 127.0.0.1.
ВАЖНО: У Iptables есть одна особенность, для использования утилиты Iptables требуются привилегии суперпользователя. То есть у вас должны быть root права на сервере.
Начнем с самых азов. Подключаетесь к вашему выделенному серверу любым доступным вам способом.
Установка iptables:
Установить Iptables на сервер очень просто. Я добавляю вам несколько команд, выбирайте для себя команду, которая подходит к вашему дистрибутиву Linux.
Дистрибутив Debian и Ubuntu:
sudo apt-get install iptables
Дистрибутив RedHat/CentOS:
sudo yum install iptables
Брандмауэр с iptables:
Вот здесь уже следите внимательно за командами, здесь нужно менять IP адрес и порт
iptables -I INPUT ! -s $BUNGEE_IP -p tcp --dport $SERVER_PORT -j DROP
В качестве альтернативы, если у вас запущено несколько серверов Minecraft, вместо написания правила для каждого сервера и его порта, вы можете использовать следующую команду, чтобы добавить диапазон портов, который будет заблокирован брандмауэром. Замените $START_PORT и $END_PORT на желаемый диапазон портов, не забывайте двоеточие между ними.
iptables -I INPUT ! -s $BUNGEE_IP -p tcp --dport $SERVER_PORT:$END_PORT -j DROP
Сохранение правил iptables:
Теперь необходимо сделать так, чтобы все правила для портов и IP адресов сохранялись и вступали всегда при перезагрузке сервера, то есть нужно все сохранить. Для этого используем команды:
Для дистрибутива Debian и Ubuntu:
apt-get install iptables-persistent
dpkg-reconfigure iptables-persistent
Для дистрибутива CentOS 7 и RHEL:
iptables-save
Для дистрибутива RedHat и CentOS:
/etc/init.d/iptables save
Как сбросить настройки утилиты iptables?
Если вы накосячили или что-то пошло не так, вы запутались или просто захотели подключиться к серверу, то можете в любой момент сбросить все настройки iptables. Для этого вводим команды:
iptables --flush
Если у вас вообще ничего не получается... То просто установите плагины для этих портов. Но спешу вас предупредить - плагины никогда не будут лучше системного брандмауэра или даже наоборот.
Список плагинов, которые можно использовать в замен стандартного брандмауэра:
IPWhitelist
OnlyProxyJoin
Но еще раз говорю - эти плагины легко обойти.