Get Rewarded! We will reward you with up to €50 credit on your account for every tutorial that you write and we publish!

Как утановить MikroTik CHR на Hetzner Cloud

profile picture
Author
Robert Bär
Published
2021-03-16
Time to read
4 minutes reading time

About the author- Developer

Введение

Мы сосредоточены на установке операционной системы 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.

License: MIT
Want to contribute?

Get Rewarded: Get up to €50 in credit! Be a part of the community and contribute. Do it for the money. Do it for the bragging rights. And do it to teach others!

Report Issue
Try Hetzner Cloud

Get 20€ free credit!

Valid until: 31 December 2024 Valid for: 3 months and only for new customers
Get started
Want to contribute?

Get Rewarded: Get up to €50 credit on your account for every tutorial you write and we publish!

Find out more