Как известно, благодаря Всемирной паутине пользователи способны обмениваться всевозможными файлами на любом расстоянии, достаточно лишь иметь в своём распоряжении интернет-подключение. Однако такой файлообмен осуществляется через интернет-провайдера, т. е. публичную сеть. Но что же делать в том случае, когда пользователям необходимо переслать личные данные напрямую друг другу, в обход сетевых посредников. В этой ситуации на помощь может прийти локальная сеть — специальное закрытое сетевое подключение для защищённой передачи данных. Одной из разновидностей подключения по локальной сети является Wi-Fi-мост.
Архив метки: Mikrotik
MikroTik Multiple SSID with Separate LAN and DHCP Server
One of the most amazing features of MikroTik Wireless Router is creating Multiple SSID (Virtual AP) on a physical wireless interface. So, creating a Guest WiFi AP with separate LAN block, SSID and DHCP Server is so easy using MikroTik WiFi AP Router. In the previous article, I discussed how to configure MikroTik WiFi Access Point on physical wireless interface with DHCP Server using hAP Lite (RB941-2nD) Wireless Router. In this article I will discuss how to configure a Virtual WiFi AP on the physical interface with another SSID, LAN block and DHCP Server for guest wireless devices.
Network Diagram
The following network diagram is being followed for this article configuration.

In this network diagram, hAP lite MikroTik Wireless Router is being used as a WiFi AP and LAN gateway. This wireless router has one WLAN interface and four Ethernet interfaces. WiFi AP has been created on WLAN interface so that wireless devices can be connected. We will now create another Virtual WiFi AP with separate SSID on this WLAN interface creating a virtual WLAN interface. The virtual WiFi AP will be used as Guest WiFi AP so that guest user can be connected with this different SSID and security key.
Among four Ethernet interfaces, ether1 port is being used as WAN connection with IP network 192.168.70.0/30. A bridge interface (named LAN_Bridge) has been created and a DHCP Server (with IP block 10.10.70.0/24) has also been configured on this bridge interface. The WLAN interface and ether2 to ether4 interfaces are now under this bridge and WiFi users and LAN users get IP address, default gateway and other network parameters from this DHCP Server automatically.
We will now create another bridge interface (named Guest_LAN) and add created virtual WLAN interface to this bridge. We also setup DHCP Server (with IP Block: 172.16.16.1/24) on the new bridge interface so that guest devices get IP address, default gateway and other network parameters automatically and can get internet access.
MikroTik Virtual AP Configuration with DHCP Server
We will now configure Virtual WiFi AP with separate SSID, password and LAN in MikroTik hAP light Wireless Router. Complete Virtual Wireless AP Setup can be divided into the following four steps.
- Virtual WiFi AP Setup on Virtual WLAN Interface
- Creating Bridge Interface and Adding Virtual WLAN Interface
- Assigning Guest Block Gateway IP and NATing Configuration
- DHCP Server Configuration on Guest Bridge Interface
Step 1: Virtual WiFi AP Setup on Virtual WLAN Interface
MikroTik hAP lite wireless router has a WLAN interface where WiFi AP has to be setup. MikroTik Wireless Router also supports creating virtual WLAN interface on a physical WLAN interface and Virtual WiFi can also setup on this virtual WLAN interface. Like WiFi setup on physical WLAN interface, we have to first create Security Profile and then create SSID on virtual WLAN interface to connect guest wireless devices.
Creating Security Profiles for Guest WiFi Access Point
To connect a wireless device with MikroTik Virtual WiFi AP, guest wireless devices must provide security key (password). MikroTik wireless supports both WPA PSK and WPA2 PSK authentication type. The following steps will show how to create passkey for MikroTik Virtual WiFi AP with Security Profile.
- From Winbox, click on Wireless menu item. Wireless Tables window will appear.
- Click on Security Profiles tab and then click on PLUS SIGN (+). New Security Profile window will appear.
- Put a meaningful profile name (Guest Profile) in Name input field.
- Choose dynamic keys from Mode drop down menu.
- Check WPA PSK and WPA2 PSK checkbox from Authentication Types panel.
- Now provide strong password in WPA Pre-Shared Key and WPA2 Pre-Shared Key password box.
- Click Apply and OK button.

Creating Separate SSID for MikroTik Virtual WiFi AP
After creating Security Profile for Virtual WiFi AP, we have to first create virtual WLAN Interface and then set SSID (Service Set Identifier) on virtual WLAN interface so that guest or desired wireless devices can find MikroTik Virtual Access Point with created SSID. The following steps will show how to create virtual WLAN interface and set SSID in hAP lite MikroTik Wireless Router.
- Click on WiFi Interfaces tab and you will find physical WLAN interface (by default: wlan1) here.
- Click on PLUS SIGN (+) dropdown and then click on Virtual option. New Interface window will appear.
- From General tab you can set WiFi interface name from Name input box or you can keep it default (wlan2).
- Click on Wireless tab and choose ap bridge from Mode dropdown menu.
- Put SSID name (MikroTik Guest AP) in SSID input box.
- Choose physical WLAN interface from Master Interface dropdown menu.
- Choose created security profile (Guest Profile) from Security Profile drop down menu.
- Make sure Default Authenticate and Default Forward checkbox is checked. Otherwise devices will not be connected until MAC authentication.
- Click Apply and OK button.
- You will find Virtual WLAN interface (wlan2) will be created under physical WLAN interface.

Now created SSID will be found in wireless devices and wireless device can be connected providing password. MikroTik ap bridge mode allows 2007 wireless device connections. Theoretically you can create 2007 Virtual WiFi AP also. But in real network it is not good to create more than 25-30 Virtual APs. If you create more virtual AP, Wireless performance will be degraded.
You will find connected devices in Registration tab. But connection is not enough to get internet. IP address, default gateway and other network parameters have to provide to get internet to the connected devices. So, we will now assign separate LAN gateway creating new bridge interface. We will also configure another DHCP Server on bridge interface from where assign IP address, default gateway and other network parameters will be assigned automatically to guest wireless devices.
Step 2: Creating New Bridge Interface and Adding Virtual WLAN Interface
We will now create a new bridge interface and add virtual WLAN interface to this bridge. The following steps will show how to create bridge interface and add virtual WLAN interface to it.
- Click on Bridge menu item. Bridge window will appear.
- Click on Bridge tab and then click on PLUS SIGN (+). New Interface window will appear.
- Put bridge interface name (Guest_LAN) in Name input field.
- Click Apply and OK button.
- Now click on Ports tab and click on PLUS SIGN (+). New Bridge Port window will appear.
- Choose wlan2 interface from Interface dropdown menu.
- Choose created bridge interface (Guest_LAN) from Bridge dropdown menu.
- Click Apply and OK button.
New bridge interface has been created and virtual WLAN interface is also added to this bridge. So, any configuration will be done on bridge interface will be applied to Virtual WLAN interface and Virtual WiFi AP.
Step 3: Assigning Guest Block Gateway IP and NATing Configuration
We will now assign guest block Gateway IP on new bridge interface and configure NATing. The following steps will show how to assign LAN gateway IP and do NATing in MikroTik Wireless Router.
- Go to IP > Address menu item. Address List window will appear.
- Click on PLUS SIGN (+) and put guest block LAN Gateway IP (172.16.16.1/24) in Address input field and choose new bridge interface (Guest_LAN) from Interface dropdown menu and click Apply and OK button.
- Go to IP > Firewall menu item. Firewall window will appear. Click on NAT tab and then click on PLUS SIGN (+). New NAT Rule window will appear. From General tab choose srcnat from Chain drop down menu and put guest LAN Block (172.16.16.0/24) in Src. Address input field. Click on Action tab and choose masquerade from Action drop down menu and then click Apply and OK button.
Assigning LAN gateway IP and NATing configuration has been completed. We will now setup another DHCP Server on new bridge interface so that connected guest wireless devices can get IP address, default gateway and other network parameters automatically from this new DHCP Server.
Step 4: DHCP Server Configuration on New Bridge Interface
We will now setup another DHCP Server on new bridge interface so that Guest WiFi users can get IP address, default gateway and other network parameters automatically. The following steps will show how to setup DHCP Server on new bridge interface in MikroTik Wireless RouterOS.
- Go to IP > DHCP Server menu item. DHCP Server window will appear.
- Click on DHCP Setup button. DHCP Setup window will appear.
- Choose new bridge interface (Guest_LAN) from DHCP Server Interface drop down menu and then click Next button.
- LAN Block (172.16.16.0/24) will be automatically assigned in DHCP Address Space input field. So, nothing to do. Just click Next button.
- LAN Gateway IP (172.16.16.1) will automatically be assigned in Gateway for DHCP Network input field. So, just click Next button.
- IP Pool from where IP address will be assigned to Guest Wireless devices will be automatically assigned from Guest LAN Block (172.16.16.2-172.16.16.254) in Addresses to Give Out input field. So, just click Next button.
- Your assigned DNS Server IP will automatically be assigned in DNS Server input filed. So, click Next button.
- Default DHCP lease time is 10 minute. So, 10 minute will keep assigned in Lease Time input filed. If you want, you can increase lease time for guest users as much you want. Click Next button.
- Now you will find DHCP Setup successful message window. Just click OK button.

MikroTik Guest WiFi AP with DHCP Server is now ready. Now connect any guest or any wireless device. The device will get IP address, default gateway and other network parameters automatically and be able to get internet access.
With this MikroTik WiFi AP configuration any wireless user who knows WiFi password can connect with SSID and can able to get access to DHCP Server and DHCP Server will be happy to provide him/her IP address, default gateway and other network parameters because there is no filter rule to block unauthorized access. MikroTik Wireless or WiFi AP is smart enough granting access based on MAC address. But must configure MAC address filtering WiFi AP which will be discussed in my next article.
If you face any confusion to follow the above steps properly, watch the following video about MikroTik Virtual AP Configuration with separate LAN and DHCP Server. I hope it will reduce your any confusion.
How to Configure MikroTik Virtual WiFi AP with DHCP Server in hAP lite Wireless Router has been discussed in this article. I hope you will now be able to configure Virtual WiFi AP in MikroTik Wireless Router following the above steps properly. However, if you face any confusion to follow the above steps properly, feel free to discuss in comment or contact with me from Contact page. I will try my best to stay with you.
MikroTik Wireless AP Configuration with DHCP using Winbox
MikroTik Wireless Router is one of the most popular and stable WiFi Routers. WiFi Zone for an ISP or for an office or for a home can easily be configured with MikroTik WiFi Router. MikroTik has a lot of WiFi Routers that can be used as a WiFi Access Point (AP), a WiFi Station or a WiFi Repeater. MikroTik Wireless Router can also be used as both WiFi Station and WiFi AP simultaneously. The simple usage of MikroTik Wireless Router is to create a WiFi Zone with MikroTik WiFi AP. So, in this article I will discuss how to configure MikroTik WiFi AP to create a WiFi Zone in a home or in an office or even in an ISP network using MikroTik hAP lite wireless router.
MikroTik WiFi Access Point
The bridge or ap-bridge mode of a MikroTik Wireless Router is used to create a WiFi Access Point. MikroTik Wireless Router offers creating meaningful SSID with WPA and WPA2 PSK security. MAC Address filtering can also be applied in MikroTik WiFi AP with Access List and RADIUS Server. A lot of WiFi Routers are available in MikroTik for different purpose. Among these we will configure a hAP lite (RB941-2nD) wireless router (but the configuration can be same for all MikroTik Wireless Routers) to create a WiFi Zone in a home, office or ISP.
Network Diagram
The following network diagram is being followed for this article configuration.

In this network diagram a hAP lite MikroTik Wireless Router is being used as a WiFi AP and LAN gateway. This wireless router has one WLAN interface and four Ethernet interfaces. WiFi AP will be created on WLAN interface so that wireless devices can be connected. Among four Ethernet interfaces, ether1 port will be used as WAN connection with IP network 192.168.70.0/30. We will create a bridge interface and configure a DHCP Server (with IP block 10.10.70.0/24) on this bridge interface and then add WLAN interface and ether2 to ether4 interfaces to this bridge so that WiFi users and LAN users can get IP address, default gateway and other network parameters from this DHCP Server automatically.
MikroTik WiFi AP Configuration
We will now configure WiFi AP and LAN gateway in MikroTik hAP light Wireless Router. Complete Wireless AP Setup and LAN Gateway Configuration can be divided into the following five steps.
- Resetting Default RouterOS Configuration
- WiFi AP Setup on WLAN Interface
- Creating Bridge Interface and Adding LAN and WLAN Ports
- Basic RouterOS Configuration
- DHCP Configuration on Bridge Interface
Step 1: Resetting RouterOS Default Configuration
MikroTik Wireless RouterOS usually comes with default configuration. But default configuration sometimes makes you confused. So, I always suggest to reset and remove default configuration. The following steps will show how to reset and remove RouterOS default configuration.
- Login to RouterOS using Winbox with admin user or any full permission user.
- Click on System menu item and then click Reset Configuration option. Reset Configuration window will appear.
- Click the No Default Configuration checkbox.
- Click on Reset Configuration button. It will ask to confirm resetting configuration. Click Yes to confirm.
- Now default configuration will be reset and Routerboard will be rebooted. After successful reboot, you will get a fresh and zero configuration RouterOS.

Step 2: WiFi AP Setup on WLAN Interface
MikroTik hAP lite wireless router has a WLAN interface where WiFi AP has to be setup. To setup WiFi Access Point in MikroTik Wireless Router we have to first create Security Profile and then create SSID to connect wireless devices.
Creating Security Profiles
To connect a wireless device with MikroTik WiFi AP, wireless devices must provide security key (password). MikroTik wireless supports both WPA PSK and WPA2 PSK authentication type. The following steps will show how to create passkey for MikroTik WiFi AP with Security Profile.
- From Winbox, click on Wireless menu item. Wireless Tables window will appear.
- Click on Security Profiles tab and then click on PLUS SIGN (+). New Security Profile window will appear.
- Put a meaningful profile name (WiFi Profile) in Name input field.
- Choose dynamic keys from Mode drop down menu.
- Check WPA PSK and WPA2 PSK checkbox from Authentication Types panel.
- Now provide strong password in WPA Pre-Shared Key and WPA2 Pre-Shared Key password box.
- Click Apply and OK button.

Creating SSID for MikroTik WiFi AP
After creating Security Profile we will now set Wireless Mode and create SSID (Service Set Identifier) so that wireless devices can find our MikroTik Access Point with created SSID. The following steps will show how to create SSID and set wireless mode in hAP lite MikroTik Wireless Router.
- Click on WiFi Interfaces tab and you will find WLAN interface (by default: wlan1) here. It may be disabled at first time. So, if you find disabled, click mouse right button on it and then click on Enable option to enable WiFi interface.
- Double click on available and enabled WiFi Interface. Interface window will appear.
- From General tab you can set WiFi interface name from Name input box or you can keep it default.
- Click on Wireless tab and choose ap bridge from Mode dropdown menu.
- Put SSID name (MikroTik AP) in SSID input box.
- Now click on Advanced Mode button and choose your created security profile from Security Profile drop down menu.
- Make sure Default Authenticate and Default Forward checkbox is checked. Otherwise devices will not be connected until MAC authentication.
- Click Apply and OK button.

Now created SSID will be found in wireless devices and wireless device can be connected providing password. You will find connected devices in Registration tab. But connection is not enough to get internet. IP address, default gateway and other network parameters have to provide to get internet to the connected devices. So, we will now do MikroTik Router basic configuration with creating bridge interface. We will also configure DHCP Server to assign IP address, default gateway and other network parameters automatically.
Step 3: Creating Bridge Interface and Adding LAN and WLAN Ports
We will now create a bridge interface and add ether2 to ether3 interfaces including WLAN interface to this bridge because we want to provide same block IP address to LAN and WiFi users. The following steps will show how to create bridge interface and add physical interfaces to it.
- Click on Bridge menu item. Bridge interface will appear.
- Click on Bridge tab and then click on PLUS SIGN (+). New Interface window will appear.
- Put bridge interface name in (LAN_Bridge) Name input field.
- Click Apply and OK button.
- Now click on Ports tab and click on PLUS SIGN (+). New Bridge Port window will appear.
- Choose ether2 interface from Interface dropdown menu.
- Choose created bridge interface (LAN_Bridge) from Bridge dropdown menu.
- Click Apply and OK button.
- Similarly add ether3, ether4 and wlan1 interfaces to this bridge.

Step 4: Basic RouterOS Configuration
We will now do RouterOS basic configuration where we will assign WAN IP, LAN Gateway, DNS IP, and Default Gateway IP and configure NATing. The following steps will show how to do basic configuration in MikroTik Wireless Router.
- Go to IP > Address menu item. Address List window will appear.
- Click on PLUS SIGN (+). New Address window will appear. Put ISP provided IP address (192.168.70.2/30) in Address input box. Now choose ether1 from Interface dropdown menu. Click Apply and OK button.
- Similarly, click on PLUS SIGN (+) again and put LAN Gateway IP (10.10.70.1/24) in Address input field and choose bridge interface (LAN_Bridge) from Interface dropdown menu and click Apply and OK button.
- Now go to IP > DNS menu item. DNS Settings window will appear. Put your ISP provided DNS IP or Google Public DNS IP 8.8.8.8 in Servers input field.
- Go to IP > Routes menu item. Route List window will appear. Click on Gateway input field and put ISP provided gateway IP (192.168.70.1) in this field. Click Apply and OK button.
- Go to IP > Firewall menu item. Firewall window will appear. Click on NAT tab and then click on PLUS SIGN (+). New NAT Rule window will appear. From General tab choose srcnat from Chain drop down menu and put LAN Block (10.10.70.0/24) in Src. Address input field. Click on Action tab and choose masquerade from Action drop down menu and then click Apply and OK button.
- Now click New Terminal menu item and ping google.com. If everything is OK, you will get response that means MikroTik Router is now ready to communicate to internet.

Step 5: DHCP Server Configuration on Bridge Interface
We will now setup DHCP Server on bridge interface so that WiFi users and LAN users can get IP address, default gateway and other network parameters automatically. The following steps will show how to setup DHCP Server on bridge interface in MikroTik RouterOS.
- Go to IP > DHCP Server menu item. DHCP Server window will appear.
- Click on DHCP Setup button. DHCP Setup window will appear.
- Choose bridge interface (LAN_Bridge) from DHCP Server Interface drop down menu and then click Next button.
- LAN Block (10.10.70.0/24) will be automatically assigned in DHCP Address Space input field. So, nothing to do. Just click Next button.
- LAN Gateway (10.10.70.1) will automatically be assigned in Gateway for DHCP Network input field. So, just click Next button.
- IP Pool from where IP address will be assigned to Wireless devices and LAN devices will be automatically assigned from LAN Block (10.10.70.2-10.10.70.254) in Addresses to Give Out input field. So, just click Next button.
- Your assigned DNS Server IP will automatically be assigned in DNS Server input filed. So click Next button.
- Default DHCP lease time is 10 minute. So, 10 minute will keep assigned in Lease Time input filed. If you want, you can increase lease time as much you want. Click Next button.
- Now you will find DHCP Setup successful message window. Just click OK button.

MikroTik WiFi AP with DHCP Server is now ready. Now connect any wireless device or connect any LAN device. The device will get IP address, default gateway and other network parameters automatically and be able to get internet access.
With this MikroTik WiFi AP configuration any wireless user who knows WiFi password can connect with SSID and any LAN user who will be connected with LAN cable can able to get access to DHCP Server and DHCP Server will be happy to provide him/her IP address, default gateway and other network parameters because there is no filter rule to block unauthorized access.
MikroTik Wireless or WiFi AP is smart enough granting access based on MAC address. But MAC address filtering can only save WiFi access. LAN users should also filter based on MAC Address. For this, it is always better to use Static DHCP Server Configuration which will filter access based on MAC Address.
If you face any confusion to follow the above steps, watch the following video on MikroTik WiFi AP Configuration with DHCP Server. I hope it will reduce your any confusion.
How to Configure MikroTik WiFi AP with DHCP Server in hAP lite Wireless Router has been discussed in this article. I hope you will now be able to configure MikroTik Wireless Router following the above steps properly. However, if you face any confusion to follow the above steps properly, feel free to discuss in comment or contact with me from Contact page. I will try my best to stay with you.
Домашний Сервер: Часть 3 — Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
Приветствую, уважаемые читатели на третьей части цикла!
В прошлый раз мы установили и настроили Систему виртуализации Proxmox-VE.
Список цикла статей:
- Домашний Сервер: Часть 1 – Предисловие, аппаратная и софтовая начинка
- Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox
- Домашний Сервер: Часть 3 — Внутренний DNS или свои доменные имена в локальной сети (вы тут)
- Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
Предисловие
В данной статье мы установим отдельный контейнер LXC, я кратко расскажу чем контейнеры отличаются от обычных виртуальных машин.
Установим и настроим сервис для обработки доменных имен в своей локальной сети BIND9
Настроим роутер(MikroTik) и сеть для того, чтобы наши устройства в локальной сети могли находить наши доменные имена.
И для примера настроим наш PVE1(сам сервер) для доступа к нему по доменному имени, а не IP адресу.
Для чего вообще это делать?
В общих чертах это не обязательно, но намного приятнее обращаться к своим сервисам по привычному доменному имени, а не IP адресу.
Например к медиасервису Plex я обращаюсь по адресу plex.gregory-gost.ru, а не 192.168.88.8:32400/web. Согласитесь удобнее 🙂
Вроде ничего не упустил 🙂 Кому интересно прошу далее под кат!
Текста много, предупреждаю сразу 😉
Установка контейнера LXC в Proxmox-VE
Для того, чтобы наш DNS сервис работал самостоятельно и не зависел от наших попыток, что-то сломать сделать, я его установил в отдельный LXC контейнер(виртуальную среду).
Что такое LXC контейнер?LXC (англ. Linux Containers) — система виртуализации на уровне операционной системы для запуска нескольких изолированных экземпляров операционной системы Linux на одном узле. LXC не использует виртуальные машины, а создаёт виртуальное окружение с собственным пространством процессов и сетевым стеком. Все экземпляры LXC используют один экземпляр ядра операционной системы.
В чем отличие обычной Виртуальной машины от LXC контейнера?
Подробно разбирать не буду, к данной статье это не относится. Просто для справки опишу основное отличие:
Контейнер использует ядро операционной системы сервера. У виртуальной машины может быть совершенно отличное ядро. Для лучшего понимания — в виртуальной машине можно запустить почти все, от Windows, до специфических Linux систем, а в контейнере можно запустить только Linux систему с тем же ядром, Windows уже не запустишь.
Начнем мы с добавления в наш сервер специального шаблона(Template) операционной системы. В Proxmox их можно скачать из своих репозиториев.
Откроем панель управления через WEB по IP адресу. И перейдем к нашему хранилищу Local(pve1), потом переходим к содержимому(Content) и нажмем кнопку Шаблоны(Templates)
Т.к. наш Proxmox основан на ОС Debian, то я принял для себя решение использовать LXC Debian 9 версии. Мне с ними удобнее работать. Если опыт вам позволяет, то вы можете использовать и другие дистрибутивы, благо выбор позволяет. В 17 версии Proxmox доступен также Alpine, который используют практически во всех Docker контейнерах, как один из самых легковесных.
Находим нужный шаблон и грузим его.
Нам остается только подождать окончания загрузки.
Начинаем установку.
Проводим действия по настройке контейнера
Запускаем контейнер по кнопке Start если еще не сделали это сами 🙂
Все дальнейшие действия будем проводить через консоль:
Далее начинается сам процесс установки и настройки DNS сервиса…
Установка и настройка DNS сервиса BIND9
Обновляем контейнер
apt update && apt full-upgrade -y
Устанавливаем BIND9
apt install bind9 -y
Ждем окончания установки и пока останавливаем сервис
service bind9 stop
Для того, чтобы все работало как нужно в моей нашей сети, необходимо продумать как будут проходить запросы от сети с другим шлюзом и другим роутером обрабатывающим основные DNS запросы не относящиеся к нашей локальной сети.
Согласно статьи: Создание домашней сети на базе устройств MikroTik: Часть 7 – Firewall правильное перенаправление портов в сети с двумя шлюзами
Необходимо сделать так, чтобы локальный DNS сервис корректно обрабатывал локальное доменное имя, а остальные запросы отправлял основному роутеру(шлюзу)
Все файлы настроек и зон в bind9 находятся по пути /etc/bind/
root@DNS:~# ls -l /etc/bind/
total 55
-rw-r--r-- 1 root root 3923 May 3 20:34 bind.keys
-rw-r--r-- 1 root root 237 May 3 20:34 db.0
-rw-r--r-- 1 root root 271 May 3 20:34 db.127
-rw-r--r-- 1 root root 237 May 3 20:34 db.255
-rw-r--r-- 1 root root 353 May 3 20:34 db.empty
-rw-r--r-- 1 root root 270 May 3 20:34 db.local
-rw-r--r-- 1 root root 3171 May 3 20:34 db.root
-rw-r--r-- 1 root bind 463 May 3 20:34 named.conf
-rw-r--r-- 1 root bind 490 May 3 20:34 named.conf.default-zones
-rw-r--r-- 1 root bind 165 May 3 20:34 named.conf.local
-rw-r--r-- 1 root bind 890 Oct 20 17:13 named.conf.options
-rw-r----- 1 bind bind 77 Oct 20 17:13 rndc.key
-rw-r--r-- 1 root root 1317 May 3 20:34 zones.rfc1918
Я решил немного изменить принцип хранения файлов и зон, чтобы было удобнее.
Вот к такому виду необходимо привести конструкцию. Давайте разбираться, что тут и к чему!
root@DNS:~# ls -l /etc/bind/
total 45
drwxr-sr-x 2 root bind 5 Oct 20 20:44 key
-rw-r--r-- 1 root bind 554 Oct 20 20:46 named.conf
-rw-r--r-- 1 root bind 1044 Oct 13 18:32 named.conf.acl
-rw-r--r-- 1 root bind 514 Oct 13 18:33 named.conf.default-zones
-rw-r--r-- 1 root bind 917 Oct 13 18:33 named.conf.local-zones
-rw-r--r-- 1 root bind 891 Oct 13 18:36 named.conf.logging
-rw-r--r-- 1 root bind 397 Oct 13 18:34 named.conf.options
-rw-r--r-- 1 root bind 215 Oct 20 20:45 rndc.conf
drwxr-sr-x 2 root bind 10 Oct 14 20:33 zone
-rw-r--r-- 1 root root 1317 May 3 20:34 zones.rfc1918
Т.к я пока не планирую выводить работу BIND9 на IPv6, то я запустил службу только для IPv4. Для этого необходимо добавить опцию запуска в файл /etc/default/bind9
Добавляем опцию -4 в параметр OPTIONS
# run resolvconf?
RESOLVCONF=no
# startup options for the server
OPTIONS="-u bind -4"
Правим основной файл настроек named.conf:
// Access List
include "/etc/bind/named.conf.acl";
// Options
include "/etc/bind/named.conf.options";
// Key file
include "/etc/bind/key/rndc.key";
include "/etc/bind/key/ns.gregory-gost.ru.key";
// Server
server 192.168.88.7 {
keys { "ns.gregory-gost.ru"; };
};
// Trusted DNS
acl trusted-dns {
127.0.0.1;
key ns.gregory-gost.ru;
};
// Controls Channel
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
// Logging
include "/etc/bind/named.conf.logging";
// Zones
include "/etc/bind/named.conf.local-zones";
Создаем отдельный файл named.conf.acl:
Acl (access control list) — позволяет задать именованный список сетей. Формат раздела: acl «имя_сети» {ip; ip; ip; };
У меня пока две разделенные зоны, но с одной подсетью, соответственно разделяю по выделенным диапазонам. Я прописывал все выделенные IP адреса.
acl "loc" {
192.168.88.7;
127.0.0.1;
};
acl "lan-pool-one" {
192.168.88.1;
192.168.88.2;
192.168.88.3;
192.168.88.4;
192.168.88.5;
192.168.88.6;
...
};
acl "lan-pool-two" {
192.168.88.30;
192.168.88.31;
192.168.88.32;
192.168.88.33;
...
};
acl "ext" {
!192.168.88.0/24;
any;
};
Если у вас разные подсети, то достаточно прописать сами подсети с их маской
- 192.168.88.0/24;
- 192.168.89.0/24;
- и т.д.
Файл named.conf.options уже есть, проводим некоторые настройки:
options {
directory "/var/cache/bind";
dnssec-enable no;
dnssec-validation no;
dump-file "/var/log/bind/bind.dump";
statistics-file "/var/log/bind/bind.stats";
auth-nxdomain no;
version none;
port 53;
max-cache-size 241172480;
listen-on {
127.0.0.1;
192.168.88.7;
};
listen-on-v6 {
none;
};
allow-transfer {
none;
};
allow-query {
any;
};
allow-recursion {
loc;
lan-pool-one;
lan-pool-two;
};
};
Создаем отдельный файл named.conf.logging:
В этом разделе описывается условие ведения журнала.
logging {
channel update_debug {
file "/var/log/bind/update_debug.log" versions 3 size 100k;
severity debug;
print-severity yes;
print-time yes;
};
channel security_info {
file "/var/log/bind/security_info.log" versions 1 size 100k;
severity info;
print-severity yes;
print-time yes;
};
channel bind_log {
file "/var/log/bind/bind.log" versions 4 size 4m;
severity info;
print-category yes;
print-severity yes;
print-time yes;
};
channel query {
file "/var/log/bind/query.log" versions 4 size 4m;
print-time yes;
print-severity no;
print-category no;
};
category default {
bind_log;
};
category lame-servers {
null;
};
category update {
update_debug;
};
category update-security {
update_debug;
};
category security {
security_info;
};
category resolver {
null;
};
category queries {
query;
};
};
На файле named.conf.local-zones я бы хотел остановится немного подробнее. Именно в данном файле мы определяем направления. Именно в этом файле указываются сами зоны с доменными именами и правила их обработки. Как я уже писал, у меня всего две зоны и именно для двух зон мне необходимо сделать идентичные описания, но с различными параметрами.
Переименуем стандартный файл named.conf.local в named.conf.local-zones
mv /etc/bind/named.conf.local /etc/bind/named.conf.local-zones
И отредактируем файл named.conf.local-zones:
view "lan_zone_one" {
match-clients {
loc;
lan-pool-one;
};
allow-query {
loc;
lan-pool-one;
};
allow-transfer {
trusted-dns;
};
allow-update {
none;
};
recursion yes;
forwarders {
192.168.88.1;
};
include "/etc/bind/named.conf.default-zones";
zone "gregory-gost.ru" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru";
};
zone "88.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru.inverse";
};
};
view "lan_zone_two" {
match-clients {
loc;
lan-pool-two;
};
allow-query {
loc;
lan-pool-two;
};
allow-transfer {
trusted-dns;
};
allow-update {
none;
};
recursion yes;
forwarders {
192.168.88.30;
};
include "/etc/bind/named.conf.default-zones";
zone "gregory-gost.ru" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru";
};
zone "88.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru.inverse";
};
};
Файл rndc.conf создавать не обязательно, но если вы хотите изменить ключ rndc.key, то можно воспользоваться данным механизмом.
Необходимо подать команду:
rndc-confgen > rndc.conf
Содержимое файла выглядит так:
# Start of rndc.conf
key "rndc-key" {
algorithm hmac-md5;
secret "S+vUL+wY/RO5JdNZ6VVX2A==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "S+vUL+wY/RO5JdNZ6VVX2A==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
Блок key «rndc-key» это и есть содержимое файла ключа rndc.key. Потому вы можете скопировать этот текст в файл rndc.key
С файлами настроек разобрались, теперь необходимо создать нужные папки и переместить туда базовые файлы с описанием зон.
Создаем папки:
mkdir /etc/bind/zone
mkdir /etc/bind/key
Переносим файлы с описанием базовых зон:
mv /etc/bind/db.0 /etc/bind/zone
mv /etc/bind/db.127 /etc/bind/zone
mv /etc/bind/db.255 /etc/bind/zone
mv /etc/bind/db.empty /etc/bind/zone
mv /etc/bind/db.local /etc/bind/zone
mv /etc/bind/db.root /etc/bind/zone
Переносим базовые файлы ключей:
mv /etc/bind/bind.keys /etc/bind/key
mv /etc/bind/rndc.key /etc/bind/key
Теперь самое интересное, а именно описание доменных зон!
Описание локальных доменных зон
У нас уже есть базовые доменные зоны и мы указали в файле конфигурации наши локальные зоны. Возможно вы это заметили в файле named.conf.local-zones
Пункты:
zone "gregory-gost.ru" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru";
};
zone "88.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zone/db.gregory-gost.ru.inverse";
};
Соответственно нам необходимо создать два файла:
1. /etc/bind/zone/db.gregory-gost.ru
2. /etc/bind/zone/db.gregory-gost.ru.inverse
Эти два файла называются зонами прямого просмотра и зонами обратного просмотра. Почему так? А потому что DNS работает в обе стороны! Вы можете попасть через доменное имя, как на IP адрес так и наоборот, проверить IP адрес на привязку к нему доменного имени.
Представляю вам файл зоны прямого просмотра:
;
; Zone Front view
;
$TTL 3600
@ IN SOA gregory-gost.ru. example.gregory-gost.ru. (
2019101401 ; Serial
1d ; Refresh
1h ; Retry
1w ; Expire
2h ; Negative Cache TTL
)
@ IN NS ns1.hostdomen.ru.
@ IN NS ns2.hostdomen.ru.
@ IN NS ns3.hostdomen.org.
@ IN NS ns4.hostdomen.org.
@ IN A 99.55.99.199
www IN CNAME gregory-gost.ru.
@ IN NS ns.gregory-gost.ru.
ns IN A 192.168.88.7
pve1 IN A 192.168.88.6
Как видите после записи доменных имен в этих файлах всегда ставится точка: gregory-gost.ru.
Будьте внимательны!
Остался файл зоны обратного просмотра:
;
; Zones invert view
;
$TTL 3600
@ IN SOA gregory-gost.ru. example.gregory-gost.ru. (
2019101401 ; Serial
1d ; Refresh
1h ; Retry
1w ; Expire
2h ; Negative Cache TTL
)
@ IN NS ns1.hostdomen.ru.
@ IN NS ns2.hostdomen.ru.
@ IN NS ns3.hostdomen.org.
@ IN NS ns4.hostdomen.org.
@ IN NS ns.gregory-gost.ru.
7 IN PTR ns.gregory-gost.ru.
6 IN PTR pve1.gregory-gost.ru.
Сохраняем все наши файлы и пробуем запустить сервис BIND9
service bind9 start
Для проверки работает или нет, сначала проверяем сервис
service bind9 status
Если видим что-то похожее значит все ок
Active: active (running) since Sun 2019-10-20 20:57:57 UTC; 21h ago
После правки файлов зон, необходимо обнулить кеш и обновить файлы зон:
rndc reload
И не забывайте менять строку Serial при каждом внесении изменений!
Теперь проверим, как резолвится доменное имя:
root@DNS:~# nslookup pve1.gregory-gost.ru
Server: 192.168.88.7
Address: 192.168.88.7#53
Name: pve1.gregory-gost.ru
Address: 192.168.88.6
Очистить кеш данных DNS сервиса можно командой rndc flush
Для нормальной обработки доменных имен обычно необходимо подождать некоторое время, от минуты до десяти минут.
Все хорошо. Займемся настройкой сети, ведь мы хотим, чтобы локальные доменные имена работали на всех наших локальных устройствах (умеющих работать с DNS)
Настройка локальной сети для обработки внутренних DNS запросов
Локальная сеть настраивается достаточно просто.
Вам необходимо указать IP адрес LXC контейнера, как основной DNS сервер. Его будут получать клиенты через DHCP.
Для устройств со статическими IP настройками, необходимо DNS прописать вручную.
Я покажу, как добавить DNS в DHCP сервер, на примере своего роутера MikroTik
Открываем Winbox или терминал, подключаемся к нашему роутеру и идем по пути: IP -> DHCP Server вкладка Networks
Консольно:
[RC]/ip dhcp-server network set dns-server=192.168.88.7,192.168.88.1[/RC]
Далее обновляем аренду для всех клиентов или какого-то одного для проверки.
Например в Windows 10 можно запустить командную строку(cmd) и проверить получение DNS:
ipconfig /all
Адаптер беспроводной локальной сети Беспроводная сеть:
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Broadcom 802.11ac Network Adapter
Физический адрес. . . . . . . . . : DE-AD-00-00-BE-EF
DHCP включен. . . . . . . . . . . : Да
Автонастройка включена. . . . . . : Да
Локальный IPv6-адрес канала . . . : fe80::f541:4077:7558:57f3%4(Основной)
IPv4-адрес. . . . . . . . . . . . : 192.168.88.24(Основной)
Маска подсети . . . . . . . . . . : 255.255.255.0
Аренда получена. . . . . . . . . . : 21 октября 2019 г. 20:57:33
Срок аренды истекает. . . . . . . . . . : 24 октября 2019 г. 20:57:32
Основной шлюз. . . . . . . . . : 192.168.88.1
DHCP-сервер. . . . . . . . . . . : 192.168.88.1
IAID DHCPv6 . . . . . . . . . . . : 408986700
DUID клиента DHCPv6 . . . . . . . : 00-01-00-01-24-56-5F-89-70-22-37-35-61-F4
DNS-серверы. . . . . . . . . . . : 192.168.88.7
192.168.88.1
NetBios через TCP/IP. . . . . . . . : Включен
Видим строку DNS-серверы. . . . . . . . . . . : 192.168.88.7 значит наш ПК получает DNS корректно.
Но для нормального открытия WEB страницы по доменному имени этого еще не достаточно!
Необходимо, чтобы на целевом IP адресе, WEB интерфейс корректно обработал такой запрос.
Давайте на примере основной хост машины PVE, попробуем получить к ней доступ через указанное нами доменное имя pve1.gregory-gost.ru.
Настройка открытия WEB интерфейса Proxmox-VE по доменному имени
Для того, чтобы запрос к доменному имени был обработан корректно, нам необходимо настроить специальный сервис, который будет за это отвечать.
Этот сервис nginx. Очень мощная штука по которой пишут не маленькие мануалы. Поэтому мы ограничимся самым простым функционалом.
Переходим к консоли хост машины:
Для начала давайте поставим nginx:
apt install nginx -y
Останавливаем сервис
service nginx stop
Файлы nginx хранит по пути /etc/nginx/:
root@pve1:~# ls -l /etc/nginx/
total 56
drwxr-xr-x 2 root root 3 Oct 13 22:21 conf.d
-rw-r--r-- 1 root root 1077 Aug 19 12:31 fastcgi.conf
-rw-r--r-- 1 root root 1007 Aug 19 12:31 fastcgi_params
-rw-r--r-- 1 root root 2837 Aug 19 12:31 koi-utf
-rw-r--r-- 1 root root 2223 Aug 19 12:31 koi-win
-rw-r--r-- 1 root root 3957 Aug 19 12:31 mime.types
drwxr-xr-x 2 root root 2 Aug 19 12:31 modules-available
drwxr-xr-x 2 root root 12 Oct 13 22:03 modules-enabled
-rw-r--r-- 1 root root 1299 Oct 13 22:05 nginx.conf
-rw-r--r-- 1 root root 180 Aug 19 12:31 proxy_params
-rw-r--r-- 1 root root 636 Aug 19 12:31 scgi_params
drwxr-xr-x 2 root root 3 Oct 13 22:03 sites-available
drwxr-xr-x 2 root root 2 Oct 13 22:05 sites-enabled
drwxr-xr-x 2 root root 4 Oct 13 22:03 snippets
-rw-r--r-- 1 root root 664 Aug 19 12:31 uwsgi_params
-rw-r--r-- 1 root root 3071 Aug 19 12:31 win-utf
Давайте удалим базовую WEB страницу, она нам не нужна
rm /etc/nginx/sites-enabled/default
Ничего страшного это всего лишь simlink, оригинал лежит тут: /etc/nginx/sites-available/default
Все файлы дополнительных конфигураций можно располагать в папке /etc/nginx/conf.d/
Она как раз подключена в основном файле конфигурации.
Создадим файл настройки для нашего PVE1:
nano /etc/nginx/conf.d/proxmox.conf
Заполним его такими настройками
upstream proxmox {
server "pve1.gregory-gost.ru";
}
server {
listen 80 default_server;
rewrite ^(.*) https://$host$1 permanent;
}
server {
listen 443;
server_name _;
#ssl on;
#ssl_certificate /etc/pve/local/gregory-gost.ru.crt;
#ssl_certificate_key /etc/pve/local/device.key;
proxy_redirect off;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass https://localhost:8006;
proxy_buffering off;
client_max_body_size 0;
proxy_connect_timeout 3600s;
proxy_read_timeout 3600s;
proxy_send_timeout 3600s;
send_timeout 3600s;
}
}
В общем основная суть того, что происходит.
При запросах по доменному имени pve1.gregory-gost.ru мы попадаем на 80 порт(стандартный HTTP) и нас перенаправляет на 443 порт(HTTPS) на котором работает WEB Proxmox-VE.
Ну а там запрос поступает уже на свой внутренний адрес и порт: https://localhost:8006 при этом для нас, все скрыто за кулисами nginx 🙂
По сути, именно таким образом все это и работает.
Если вы столкнулись с ошибкой «401 no token»:
Необходимо отредактировать файл запуска сервиса nginx
systemctl edit nginx.service
и добавить такие строки
[Unit]
Requires=pve-cluster.service
After=pve-cluster.service
Не забудем перезапустить нужные службы
systemctl daemon-reload
service nginx restart
Спасибо за наводку комментатору: Pavel !
Заключение
Статья получилась достаточно большой. Хотя это еще не все, вы могли заметить закомментированные строки связанные с SSL сертификатами.
Возможно позже я разберусь с этим и дополню статью, а пока приходится мириться с паникой браузера в отношении непроверенных сертификатов.
Существуют и системы альтернативные BIND. Например PowerDNS, Unbound, djbdns, Dnsmasq.
Вы можете рассмотреть их для реализации похожего функционала.
Мне остается только напомнить про дальнейшие шаги по реализации своего домашнего сервера:
- Torrent Transmission — качалка торрентов. Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Plex Mediaserver — домашний медиа сервер. Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
Делитесь своими методиками и способами реализации доменной системы. Читателям будет интересно узнать про альтернативы! 🙂
Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉
UPD: 21.06.2020
Добавлена информация для корректной совместной работы nginx и pve по https (расширенный протокол http)
Спасибо комментатору Pavel !!!
How to Install Extra Packages in MikroTik RouterOS
MikroTik RouterOS does not always include all the packages those are developed by MikroTik team. So, sometimes you may find that some packages are missing in your RouterOS such as NTP package, DUDE package, Wireless package, CAPsMAN package and so on. Specially, user manager package which is totally a separate MikroTik RADIUS package used to manage user authentication, authorization and accounting is always missing. Also upgrading RouterOS or downgrading RouterOS you may find that some packages are missing there. So, if you find package missing in your RouterOS, you must install them manually. But installing these extra packages sometimes may be difficult if don’t know the proper guideline. Some of our loyal readers also told me that they are facing problem to install these extra packages specially user manager package. So, in this article I will discuss how to install MikroTik extra packages properly with step by step guideline.
How to Install MikroTik Packages
If you don’t know the proper guideline, you may spend hours to hours to install RouterOS extra packages but your result will be null. So, I am sharing here how to install MikroTik extra packages with proper guideline.
Extra packages in MikroTik can properly be installed with the following four steps.
- Finding Architecture Name and RouterOS version
- Downloading Exact Packages with Architecture Name and Version
- Uploading Downloaded Packages to MikroTik Root Directory
- Rebooting Router to Install Uploaded Packages
Step 1: Finding Architecture Name and RouterOS Version
It is important to know the Architecture Name and the current RouterOS Version before going to download extra packages. The following steps will show how to find the architecture name and the current RouterOS version.
- From Winbox, go to System > Resources menu item. Resources window will appear.
- Architecture Name and RouterOS version will be found in Resources window.

From the above Resource window we can see that the Architecture Name of this MikroTik Router is powerpc RouterOS version is 6.40 (stable).
Step 2: Downloading Exact Packages with Architecture Name and Version
Knowing Architecture Name and RouterOS version, we will now download packages from MikroTik Download Archive. The following steps will show how to choose accurate RouterOS version for your MikroTik Router.
- Go to MikroTik Download Page and select your current RouterOS version. You will find a list of RouterOS version for all Router Board architectures.
- Click on the ZIP (.zip) file that will match with your Architecture Name. The file format will be all_packages-architecture_name-routeros_version.zip.
- Your download will be started and within few minutes it will be finished.

From the above image we can see that the ZIP file for powerpc is all_packages-ppc-6.40.zip.
Step 3: Uploading Downloaded File to MikroTik Root Directory
After downloading exact ZIP file for MikroTik RouterOS, we will now extract this zip file and upload desired package files to MikroTik root directory. The following steps will show how to upload downloaded package file to MikroTik root directory.
- Extract your downloaded ZIP file. You will find your desired package files (.npk) in your extracted folder. The file format will be package_name-routeros_version-architecture_name.npk.
- From Winbox, click on Files menu item. File List window will appear.
- Now drag and drop your desired package files (NPK file) to this File List window.

From the above image we can see that User Manage and NTP packages are uploaded to install in RouterOS.
Step 4: Rebooting Router to Install Uploaded Packages
We are now ready to install our missing packages in RouterOS. We will now provide reboot command to install these packages.
- From Winbox, go to System > Reboot menu item.
- It will ask to confirm reboot. Click on Yes button.
- Your Router will be rebooted and after reboot you will find that your desired packages will be installed and no file will remain in File List window.
- To check whether your packages are installed or not, go to System > Packages menu item. Now you will find that your installed packages will be listed in Package List window.
If you face any confusion to follow the above steps properly, watch the following video on Installing extra packages in MikroTik Router. I hope it will reduces your any confusion.
How to install extra packages in MikroTik Router properly has been discussed in this article. I hope you will now be able to install your missing RouterOS packages if required. However, if you face any confusion to install extra packages, feel free to discuss in comment or contact with me from Contact page. I will try my best to stay with you.
Домашний Сервер: Часть 1 – Предисловие, аппаратная и софтовая начинка
Добро пожаловать!
Список цикла статей:
- Домашний Сервер: Часть 1 – Предисловие, аппаратная и софтовая начинка (вы тут)
- Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox
- Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
- Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
Внимание! С 21.10.2022 изменился состав компонентов. Первая материнская плата не очень стабильно себя показала. Это системная проблема, поэтому не могу советовать вам использование данной материнской платы в составе своих систем (речь про ASRock E3C226D2I)Подробности в апдейте в конце статьи!
Наконец я добрался до написания этой статьи. К ней я шел долгие два с чем-то года 🙂
Данным постом хотелось бы начать отдельный цикл статей, которые будут посвящены моим исследованиям в рамках реализации домашнего сервера и различных сервисов на нем.
Что это и зачем вообще меня понесло в эту сферу, я расскажу в этом посте и давайте начнем обо всем по порядку!
Так как меня достаточно сильно интересуют различные IT тематики, я озадачился вопросом сборки собственного домашнего сервера.
Безусловно в обычном хозяйстве такая вещь по сути избыточна, в самом простом примере все лежит на домашнем компе, если что нужно поковырять, то это можно сделать в рамках существующих мощностей.
Основной целью было создание хорошего медиа-сервиса для просмотров фильмов и сериалов, ибо моя медиатека через некоторое время забила два HDD до отказа, а это чуть более 2Тб!
За некоторый период я уже успел ознакомится с возможностями DLNA встроенных в ОС «Окна» и меня они не очень-то и радовали. Тем не менее мне удалось найти более чем классный сервис Plex (будет в отдельной статье) о котором вскользь упоминалось в статье Домашний Медиа-плеер: Raspbian + Kodi + плагин Plex на Raspberry Pi 3 B+
Но за реализацией основной цели скрывались цели о которых я раньше только догадывался! О них я узнавал по мере ознакомления с различным софтом и решениями на этом софте.
Итогом всей моей головоломки стала реализация сервера с системой виртуализации Proxmox и различными контейнерами с отдельными сервисами, о чем я постараюсь рассказать.
Данный пост это ни в коем случае не призыв делать аналогично, я просто хочу познакомить вас с тем, что вышло у меня и как я это все реализовывал. Может тоже захотите 🙂
Перво наперво нужно было определиться с железом, с софтом и тем, как это все будет работать в локальной сети!
Аппаратная часть
После долгих обдумываний и гуглежа было принято решение делать все на серверных компонентах, ведь подразумевалось, что сервер будет лопатить 365/24/7 с небольшими перерывами на профилактику.
А серверные компоненты стоят не дешево. Безусловно я изучал различные готовые решения типа QNAP, Synology и др., но меня они не устраивали по ряду причин. По цене, собственная сборка, получалась подороже конечно.
В принципе я был уверен, что молодые годы опыта по сборкам/разборкам ПК мне помогут, а повышенную цену компенсирует более мощная база )
Сказано сделано!
Далее необходимо было определиться с количеством места, используемой системой, потребляемыми ресурсами и др.
С чем же в итоге мне пришлось определиться? А вот с чем:
- Компактный корпус — формата ITX с местом для 2х дисков 2.5″ и 4х дисков 3.5″
- Motherboard — формата mini-ITX с 6 SATA портами 6Гбит/сек поддержкой CPU Xeon, серверной DDR-DIMM памяти с ECC. Не самая новая конечно, иначе будет слишком дорого.
- CPU — Самый дешевый серверный Xeon
- DDR — Оперативная память с ECC
- SSD — 2шт. в RAID-1
- HDD — 4шт. в RAID-5 (у многих на него бомбит)
- Блок питания — формата ATX на 550W
В принципе этого достаточно, чтобы понять, что не так просто такое найти и собрать в один сервер. Но у меня получилось 🙂
Давайте расскажу, что именно я выбрал пока искал необходимое.
Корпус
Корпуса я анализировал долго, это одно из самых не простых решений. Мне повезло и я урвал последний(на тот момент) корпус который подходил мне по всем параметрам.
Корпус: Chenbro SR301/69T3
Кратенько пробежимся по характеристикам:
- Форм фактор материнской платы: Mini-ITX 170 x 170(мм)
- Размер корпуса: 310 x 200 x 270(мм)
- Место для SSD: внутри для 2.5″ — 2шт.
- Место для SSD/HDD: внутри для 2.5″/3.5″ — 4шт. Съемные корзины. Горячая замена
- Охлаждение: один вентилятор 120мм под корзиной с HDD/SSD
- Питание: место под блок питания формата ATX с длиной не более 140 мм
Как видим в данном корпусе есть все, что требуется. И место для ITX материнской платы, и 6 дисков и их горячая замена и компактность, причем с местом для практически полноформатного ATX блока питания.
В принципе вы все еще можете найти данный корпус в рознице и прикупить его. Цена правда на него кусается: ~ 8 700 руб.(цена на момент написания статьи по поиску) Но хороший корпус для сервера, из хороших материалов того стоит.
Кстати в сети есть обзоры на этот корпус 🙂 Их я тоже смотрел.
Материнская плата
Конечно ядром всего этого безобразия выступает материнская плата. Где же найти такую красавицу с такими требованиями да еще и с серверными замашками?
Мне повезло по аналогии с корпусом, я урвал последнюю(на тот момент) плату. Знакомьтесь…
Motherboard: Серверная плата ASRock E3C226D2I (mini-ITX 6x6Gb SATA) — 1 шт.
Причем я приятно удивился, когда после покупки обнаружил её в официально рекомендуемых для купленного мной корпуса 🙂
В ней все хорошо, даже, как полагается, есть интерфейс IPMI (Intelligent Platform Management Interface) 2.0 для управления по сети (позволяет работать с BIOS без подключения монитора и клавиатуры!)
Как можно видеть, есть поддержка 6 SATA портов 6Гбит/сек для всего набора дисков и это главное. Ну.. помимо форм фактора еще.
Я выбрал специально не самый новый сокет в угоду стоимости и возможности найти CPU для неё за «не дорого».
Единичный сокет H3 (LGA 1150) с поддержкой 4й и 5й генерации Intel Xeon E3-1200 v3/v4/ Core™ i7/i5/i3/Pentium/Celeron Processors
Из минусов(если так можно сказать) это максимальный объем оперативной памяти не более 16GB. Мне этого в принципе хватит. По началу я использую 8GB
На текущий момент данная плата уже не продается в розницу. Урвал я её по цене 5 800 руб.
CPU
Само собой CPU. «Мозги» я рискнул поискать на AliExpress т.к. Intel Xeon E3-1200 v3 уже давно не флагман и появилось много б.у. экземпляров.
CPU: Intel Xeon E3-1220 V3 (3100MHz, LGA1150, L3 8Mb) — 1 шт.
Данный CPU 4 ядерный и поддерживает оперативную память DDR3 1333/1600 ECC
Сам CPU поддерживает максимальный объем оперативной памяти не более 32GB. Т.е. ограничителем выступает материнская плата.
Брал на Али по цене в 8 400 руб. На текущий момент(дата написания статьи) еще можно найти у нескольких продавцов.
CPU оказался с «падением» был виден отколотый уголок текстолита, но при этом он полностью рабочий. Проверен временем! Чего и следовало ожидать 🙂
DDR
По оперативной памяти все достаточно просто.
DDR3: 4Gb DDR-III 1600MHz Transcend ECC (TS512MLK72V6N) — 2 шт.
В целом по памяти рассказывать особо и нечего. Купил и поставил.
По цене одна планка DDR около 3 800 руб.(цена на момент написания статьи по поиску)
Охлаждение
Ку да же без охлаждения! Для этих целей был необходим компактный кулер т.к. корпус компактный и при этом формат блока питания практически полноразмерный ATX(с некоторым ограничением по длине не более 140 мм).
Я подобрал кулер исходя из замеров. И еще взял к этому всему мою любимую термопасту.(вам может быть нравится другая, но я полагался на свой давний опыт сборщика)
Кулер: ID-COOLING IS-40V3
Термопаста: Arctic Cooling MX-2 4 г
Термопасту показывать не буду )
Высота профиля и вентилятора хорошая, сам вентилятор не шумный.
На текущий момент этот Кулер к сожалению уже не продается в розницу. Брал по цене около 1 200 руб.
SSD
С SSD вышла казусная ситуация… Вроде бы серверные компоненты все дела, а вот серверный SSD конечно имел достаточно серьезный ценник. И я позволили себе вольность.
Я выбрал SSD ориентируясь на доступную цену и достаточно хорошие отзывы(видимо зря).
SSD: 256Gb SSD A-DATA Ultimate SU900 (ASU900SS-256GM-C) — 2 шт.
Собственно именно они были изначально поставлены и использовались под отладку рабочей конфигурации, но потом один отвалился и следом за ним второй. Результатом оказалась не стабильная прошивка, которую A-DATA использовала в своих SSD, причем обновлять её они не спешили. Благо использовался популярный чип и мне удалось разобрав SSD, замкнув пару контактов перевести его в режим прошивки. Найдя на китайских просторах более новую прошивку и саму программу для прошивки мне удалось восстановить работоспособность данных SSD и (тфу, тфу, тфу) пока работает без нареканий.
Но гарантия на них, после таких манипуляций, как бы все… Будьте внимательны! Берите устройства только надежных производителей!
По цене один SSD около 4 100 руб.(цена на момент написания статьи по поиску)
HDD
С HDD я решил пойти по пути выбора специализированных решений для NAS. Выбирал среди популярных игроков и выбрал таки после долгих раздумий и анализа цен.
HDD: 3Tb — Seagate IronWolf NAS ST3000VN007 — 4 шт.
Тут ничего удивительного нет. Единственное, что хочется отметить так это использование 4-х HDD в конфигурации RAID-5, т.е. теоретически это будет 9Тб места под данные, остальное под хеш и все такое. На просторах интернета по этому поводу много холиваров и в целом я согласен с рисками в продакшене. Пока мне для дома этого вполне достаточно, посмотрим как все это будет проявлять себя на практике, (тфу, тфу, тфу) пока работает без нареканий.
По цене один HDD около 7 000 руб.(цена на момент написания статьи по поиску)
Блок питания
Нужно же подать питание в такую систему и озаботиться тем, чтобы оно было качественным и стабильным. Непосредственно в корпусе за это отвечает блок питания. И в этом решении он полноразмерный формата ATX. Но с одним ограничением! Т.к. блок питания прикручивается розеткой вверх(да да, позиционирование не простое), его нижняя часть с кабелями упирается в материнскую плату, именно поэтому тут требуется, чтобы его длина не превышала 140 мм. Благо на рынке такого добра достаточно. Выбор пал на:
БП: 550W Corsair TX550M (CP-9020133-EU)
Данного блока питания хватит с запасом. Я посчитал ориентировочное потребление всей системы по доступной документации на основные узлы и у меня получилось что-то вроде: 168W
Этого хватит с запасом и блок питания не будет работать на максималках, что в свою очередь сбережет его.
По цене БП около 6 200 руб.(цена на момент написания статьи по поиску)
Бесперебойное питание
А куда же без ИБП. Для обеспечения бесперебойной работы одного качественного блока питания не достаточно, необходим еще и бесперебойный блок питания.
Я специально добавил его в эту статью, чтобы все понимали необходимость резервирования. Иначе кратковременные отключения могут повредить системе работающей 365/24/7
Выбор пал на ИБП: APC Back-UPS 650VA 390W BX650CI-RS
Дополнительно к бесперебойнику еще подключен роутер MikroTik hEX S, а к роутеру еще по PoE подключена точка доступа MikroTik hAP ac
По цене ИБП около 5 600 руб.(цена на момент написания статьи по поиску)
Софтовая часть
Выбирая на чем реализовывать всю основную работу софтовой части я сразу начал рассматривать такой интересный проект, как Proxmox Virtual Environment (Proxmox VE) — система виртуализации с открытым исходным кодом, основанная на Debian GNU/Linux. Благо по работе я успел изучить её достаточно глубоко и знал на что иду.
Выдержка из Wikipedia:
В качестве гипервизоров использует KVM и LXC (начиная с версии 4.0, в версиях до 3.4 включительно вместо него использовался OpenVZ). Соответственно, способна выполнять любые поддерживаемые KVM ОС (Linux, *BSD, Windows и другие) с минимальными потерями производительности и Linux без потерь.Управление виртуальными машинами и администрирование самого сервера производятся через веб-интерфейс либо через стандартный интерфейс командной строки Linux.
Для создаваемых виртуальных машин доступно множество опций: используемый гипервизор, тип хранилища (файл образа или LVM), тип эмулируемой дисковой подсистемы (IDE, SCSI или VirtIO), тип эмулируемой сетевой карты, количество доступных процессоров и другие.
И немного картинок:
Данная система виртуализации позволит создать распределенную систему с различными сервисами, бекапами, софт RAID и другими плюшками.
Заключение… Продолжение?
В итоге получается достаточно компактная и мощная(для дома или малого офиса) система. Отдельные NAS системы от именитых производителей могут обеспечить практически такие же возможности, но там работает проприетарная ОС, к которой можно доустановить ряд модулей и сервисов. В моей же идеологии это самостоятельная система которую я могу дорабатывать и улучшать в рамках возможностей выбранного железа и софта.
Для чего же мне в итоге понадобится такая система? Ведь не для простого эстетического удовлетворения? Конечно нет!
Просто приведу список того, что у меня уже реализовано или же в процессе изучения и проработки:
- DNS — доменные имена в локальной сети вместо IP адресов. Домашний Сервер: Часть 3 – Внутренний DNS сервис на BIND9 или свои доменные имена в локальной сети
- Torrent Transmission — качалка торрентов. Домашний Сервер: Часть 4 – Настройка Transmission daemon в контейнере LXC Proxmox-VE
- Plex Mediaserver — домашний медиа сервер. Домашний Сервер: Часть 5 – Установка и настройка Plex Media Server в контейнере LXC Proxmox-VE
- The Dude — мониторинг девайсов в домашней сети.
- Умный дом, домашний IoT.
- IP телефония.
Далее я планирую описать реализацию интересных пунктов из этого списка. Следите за обновлениями!
Кстати по цене вы могли посчитать, что все это в рамках двухлетней сборки обошлось мне около: 80 000 руб., что в среднем по 3 333 руб в месяц.
А на чем вы собрали, планируете собирать или еще только продумываете себе подобное решение? Пишите в комментариях!
Благодарю за ваше время!
Всего хорошего на просторах Интернета 😉
UPD: 03.02.2023 (добавление M.2 NVME SSD)
В конфигурацию добавлен M.2 NVME SSD накопитель для реализации L2ARC кэша и ZIL кэш логов записи.
Подробнее в соответствующей статье: Домашний Сервер: Часть 2 – Установка системы виртуализации Proxmox
UPD: 21.10.2022 (восстановление сервера)
Где-то в середине 2021 года длительное отключение электричества привело к неприятной ситуации — сервер перестал запускаться. Сервер пришлось жёстко выключить т.к. он перестал реагировать. Бесперебойник тут не при делах. После первичной диагностики удалось понять, что виной всему материнская плата. Видимо та самая ситуация которую описывал Дмитрий в комментариях.
И вот в конце 2022 года, я таки сподобился реанимировать свой сервер (до этого всё запускал на Raspberry Pi — такое себе если честно)
Мне повезло найти б/у серверную материнскую плату Asus P10S-i, но это повлекло за собой замену CPU и памяти соответственно. Итак новый сетап:
- Материнская плата: Asus P10S-I (Ссылка)
- Процессор: Intel Xeon E3-1280 v5 (Ссылка)
- Оперативная память: Kingston 8 ГБ DDR4 3200 МГц CL22 (KSM32ES8/8HD) — 2шт.
Кулер подошел изначальный.
Бонусом достался кабель mini-SAS HD для подключения тех самых 4х дисков.
На удивление после подключения всех компонентов система запустилась без каких либо проблем. Вот что значит преимущество создания программных RAID массивов.
Оставалось обновить Proxmox и контейнеры до последних версий, что также успешно было исполнено.
Всем добра и беспроблемной работы ваших систем 😉





























