Введение
Мы сосредоточены на установке операционной системы Cloud Hosted Router (CHR) и выполнении базовой настройки в этом туториале. Для получения любых дополнительных сведений о конфигурации, пожалуйста, ознакомьтесь с официальной MikroTik вики.
Требования к установке
Убедитесь что облачный сервер соответствует вашим требованиям. Эта настройка может быть выполнена на любом доступном облачном сервере.
Шаг 1 - Установка
Если вы еще не сделали это, создайте сервер на ваш выбор. Загрузитесь в rescue
систему. Детали подключения показываются во время запроса rescue
системы. Чтобы установить CHR мы скачаем Raw disk image
с оффициального сайта MikroTik и извлечем его в виртуальный диск с помощью DD.
Эти команды выполняют все необходимые действия:
# curl -L https://download.mikrotik.com/routeros/6.49.10/chr-6.49.10.img.zip > mikrotik-chr.zip
# funzip mikrotik-chr.zip > mikrotik-chr.img
# dd if=/path/to/mikrotik-chr.img of=/dev/sda bs=1M
Шаг 2 - Безопасность
После этого вы можете перезагрузить сервер в свежеустановленную операционную систему.
Имейте в виду, что учетные данные для входа по умолчанию - user : admin
и password : none
. Поэтому рекомендуется немедленно отключить пользователя admin и добавить нового. Для этого войдите на свой сервер через ssh или консоль Hetzner и выполните следующие команды:
# /user add name=<username> password=<userpassword> group=full
# /user remove admin
При желании вы можете добавить IP-адрес пользователю, ограничив доступ к этой учетной записи пользователя с введенного IP-адреса.
# /user set <username> allowed-address=<IPv4>/<Netmask>
Теперь мы хотим отключить все ненужные службы. Текущие запущенные службы могут быть показаны с помощью # /ip service print
. В этом случае мы отключим все, кроме ssh
:
# /ip service disable telnet,ftp,www,api,api-ssl,winbox
Мы рекомендуем изменить default ssh port 22
на любой другой желаемый порт.
# /ip service set ssh port=33458
Следующие команды отключают нежелательный доступ управления к сетевым устройствам, который мы рекомендуем.
# /tool mac-server set allowed-interface-list=none
# /tool mac-server mac-winbox set allowed-interface-list=none
# /tool mac-server ping set enabled=no
# /tool bandwidth-server set enabled=no
# /ip neighbor discovery-settings set discover-interface-list=none
# /ip dns set allow-remote-requests=no
# /ip proxy set enabled=no
# /ip socks set enabled=no
# /ip upnp set enabled=no
# /ip cloud set ddns-enabled=no update-time=no
# /ip ssh set strong-crypto=yes
Шаг 3 - Базовый фаервол
С самого начала CHR имеет базовую настройку файервола, и мы настоятельно рекомендуем не отключать его, если вы не уверены на 100%, что делать. Следующие правила регулируют его, чтобы сделать более безопасным:
# /ip firewall filter
# add action=accept chain=input connection-state=established,related # принимает установленные/связанные соединения
# add action=accept chain=input src-address-list=<list-name> # IP-адреса в <list-name> разрешены для доступа
# add action=accept chain=input protocol=icmp # разрешает ICMP
# add action=drop chain=input # другие соединения обрываются
# /ip firewall address-list
# add address=10.0.0.1-10.0.0.254 list=<list-name> # добавляет адреса в <list-name>
Теперь мы внесем некоторые основные коррективы в правила фаервола для клиентов.
Сначала добавьте нужные частные сети в список:
# /ip firewall address-list
# add address=10.0.0.0/24 list=private_networks
# add address=10.0.1.0/24 list=private_networks
...
Теперь мы защитим эти сети.
Первые пакеты фаеврвол разрешает только новые подключения. Для следующих пакетов установим правило удаления любого недоступного соединения. Они отмеченны с помощью тега invalid
.
То же самое делается для частных IP-адресов, которые пытаются достичь общедоступного IP-адреса. Чтобы убедиться, что непубличные адреса извне не смогут достичь вашего сервера, мы удаляем эти пакеты, а также пакеты из локальной сети с непубличными IP-адресами.
# /ip firewall filter
# add action=accept chain=forward connection-state=established,related
# add action=drop chain=forward connection-state=invalid log=yes log-prefix=invalid
# add action=drop chain=forward dst-address-list=not_in_internet in-interface=bridge1 log=yes log-prefix=!public_from_LAN out-interface=!bridge1
# add action=drop chain=forward connection-nat-state=!dstnat connection-state=new in-interface=ether1 log=yes log-prefix=!NAT
# add action=drop chain=forward in-interface=ether1 log=yes log-prefix=!public src-address-list=private_networks
# add action=drop chain=forward in-interface=bridge1 log=yes log-prefix=LAN_!LAN src-address=!<privateIP-network>
Заключение
После верного следования всех шагов, вы должны иметь стабильную базовую настройка операционной системы маршрутизатора MikroTik Cloud Hosted.
Дальнейшие инструкции находяться на оффициальной вики MikroTik.