Когда требуется подключить компьютер к интернету, в первую очередь приходится столкнуться с двумя основными понятиями: «модем» и «роутер». Они хотя и обозначают средства для создания и поддержки канала связи между ПК и сетью, но относятся к разным устройствам и применяются в разных ситуациях.
MikroTik Port Forwarding using Winbox
MikroTik Port Forwarding or Port Mapping is a NAT application that is used to redirect a request from MikroTik IP address and port number combination to a local IP address and port number. For example, if you have a Web Server or FTP Server in your private/local area and want to access this local server from outside of your local area (from internet/public), you can apply MikroTik port forwarding or port mapping and can easily access your Web Server or FTP Server.
Port forwarding configuration in MikroTik Router is not so difficult task. In this article, I will show how to easily configure MikroTik Port Forwarding or Port Mapping using Winbox.
Network Diagram

In this network, MikroTik Router’s ether1 interface is connected to WAN having IP address 117.58.—.198/29 and ether2 interface is connected to a LAN switch having IP block 192.168.10.0/24. There are three servers (Web Server, FTP Server and SSH Server) in internal network and these are only accessible from LAN. Configuring MikroTik Port Forwarding, these servers can be accessible from out of this internal network (from internet/public) and this article will show how to configure MikroTik Port Forwarding to access these internal servers from internet or public network.
MikroTik Port Forwarding Configuration
MikroTik port forwarding can be used for a lot of purposes. Among these, I will only show the following three frequently used purposes.
- Port Forwarding to Internal Web Server
- Port Forwarding to Internal FTP Server
- Port Forwarding to Internal SSH Server
Port Forwarding to Internal Web Server
According to the network diagram, there is a Web Server (IP: 192.168.10.10) in internal network and now it is only accessible from internal network. Configuring MikroTik Port Forwarding, this Web Server can be accessible from out of this internal network and the following steps will show how to configure MikroTik Port Forwarding to access this internal Web Server from internet/public area.
- Login to MikroTik Router using Winbox with admin privilege credential.
- Go to IP > Firewall menu item and click on NAT tab and then click on PLUS SIGN (+). New NAT Rule window will appear.
- In General tab, choose dstnat from Chain dropdown menu. Put MikroTik WAN IP (117.58.—.198) in Dst. Address input field and choose tcp from Protocol dropdown menu and then put 80 in Dst Port input field because we know Web Server works on TCP port 80.
- Click on Action tab and choose dst-nat option from Action dropdown menu. Put Web Server IP (192.168.10.10) in To Addresses input field and then put 80 in To Ports input field.
- Click Apply and OK button.

Port forwarding configuration to internal Web Server has been completed. Now type MikroTik WAN IP (http://117.58.—.198) in any Web browser from outside of your internal network and you will find your website in your browser successfully.
Note: You must allow HTTP service or TCP Port 80 in your Web Server firewall otherwise you cannot find your website from public network.
Port Forwarding to Internal FTP Server
In the network diagram, there is a FTP Server (IP: 192.168.10.20) and we want to access this server from public network. So, we need to configure MikroTik Port Forwarding and the following steps will show how to configure MikroTik Port Forwarding to access FTP Server from public network.
- Login to MikroTik Router using Winbox with admin privilege credential.
- Go to IP > Firewall menu item and click on NAT tab and then click on PLUS SIGN (+). New NAT Rule window will appear.
- In General tab, choose dstnat from Chain dropdown menu. Put MikroTik WAN IP (117.58.—.198) in Dst. Address input field and choose tcp from Protocol dropdown menu and then put 21 in Dst Port input field because we know FTP Server works on TCP port 21.
- Click on Action tab and choose dst-nat option from Action dropdown menu. Put FTP Server IP (192.168.10.20) in To Addresses input field and then put 21 in To Ports input field.
- Click Apply and OK button.
Port forwarding configuration to internal FTP Server has been completed. Now type ftp://mikrotik-wan-ip (ftp://117.58.—.198) in any web browser or use any FTP client (FileZilla) to access your FTP Server from public network. If everything is OK, you will be able to access your FTP Server successfully.

Note: You must allow FTP service or TCP Port 21 in your FTP Server firewall otherwise you cannot communicate with your FTP Server from public network.
Port Forwarding to Internal SSH Server
We also have a SSH Server (IP: 192.168.10.30) in our network diagram and we want to access this server from outside of our internal network. MikroTik Port Forwarding configuration to access this SSH Server from public network is shown in the following steps.
- Login to MikroTik Router using Winbox with admin privilege credential.
- Go to IP > Firewall menu item and click on NAT tab and then click on PLUS SIGN (+). New NAT Rule window will appear.
- In General tab, choose dstnat from Chain dropdown menu. Put MikroTik WAN IP (117.58.—.198) in Dst. Address input field and choose tcp from Protocol dropdown menu and then put 22 in Dst Port input field because we know SSH Server works on TCP port 22.
- Click on Action tab and choose dst-nat option from Action dropdown menu. Put SSH Server IP (192.168.10.30) in To Addresses input field and then put 22 in To Ports input field.
- Click Apply and OK button.
Port forwarding configuration to access internal SSH Server has been completed. Now we will be able to access our SSH Server from public network successfully by using any SSH client (Putty or SSH Secure Shell Client).

Note: You must allow SSH service or TCP Port 22 in your SSH Server firewall otherwise you cannot communicate with your SSH Server from public network.
If you face any confusion to follow above steps properly, watch the following video about Port Forwarding Configuration in MikroTik Router. I hope it will reduce your any confusion.
MikroTik Port Forwarding Configuration to Access Internal Servers has been discussed in this article. I hope you will now be able to configure your required port forwarding configuration in your MikroTik Router successfully. However, if you face any confusion, feel free to discuss in comment or contact with me from Contact page. I will try my best to stay with you.
Как перенаправить пользователей на случайный пост в WordPress
Вы хотите перенаправить пользователей на случайную запись? Случайная запись позволяет пользователям исследовать старые статьи и читать записи, которые скрыты в ваших архивах блога. В этой статье мы покажем вам, как легко перенаправить пользователей на случайную запись в WordPress.
Почему вы должны перенаправлять пользователей на случайную запись?
По умолчанию записи в WordPress отображаются в обратном хронологическом порядке (от самого нового до самого старого), поэтому ваши пользователи сначала прочитают последнее сообщение. Если вы регулярно пишете в своем блоге, ваши пользователи могут не узнать ваши старые статьи.
Одним из способов преодоления этой проблемы является отображение случайных записей на боковой панели вашего блога. Это позволит вашим пользователям открывать новый контент при одновременном увеличении просмотров страниц.
Вы также можете перенаправить пользователей на случайную запись с страницы ошибок 404 или добавить кнопку «Сюрприз Me» на странице собственного архива блога, в результате чего пользователи получают случайную запись.
А теперь давайте посмотрим, как перенаправить пользователей на случайную запись в WordPress.
Перенаправление пользователей в случайную почту в WordPress
Первое, что вам нужно сделать, это установить и активировать плагин Redirect URL to Post. Для получения дополнительной информации см. Наше пошаговое руководство по установке плагина в WordPress.
После активации вы увидите параметры Redirect URL to Post на странице плагинов WordPress. В этом плагине нет другой страницы настроек.
Вы можете использовать любой из этих параметров запроса в своих записях и страницах для перенаправления пользователей на случайные записи, последние записи и другие старые статьи.
Чтобы перенаправить пользователей на случайную запись, вам нужно скопировать параметр случайного почтового запроса и добавить его на страницы ошибок и другие страницы в качестве ссылки.
При нажатии на ссылку будут перенаправлены пользователи на другую случайную запись.
Вы также можете добавить кнопку для перенаправления в своем блоге. Просто добавьте этот короткий код в записи WordPress и страницы, чтобы отобразить кнопку случайного записи.
[redirect_to_post_button]
Когда пользователи нажимают на эту кнопку, они будут перенаправлены на случайную запись на вашем сайте.
Мы надеемся, что эта статья помогла вам научиться перенаправлять пользователей на случайную запись в WordPress.
Передача ролей контроллера домена на Windows Server 2012.
В предыдущих статьях:
— подключение и установка сервера;
— настройка контроллера домена.
Задача состоит в передаче ролей c основного контроллера домена Windows Server 2008 с Active Directory (AD) на резервный контроллер домена Windows Server 2012. Резервный контроллер домена (DCSERVER) должен стать основным, а тот, который сейчас основной (WIN-SRV-ST) должен стать резервным и в перспективе демонтироваться. Все действия выполняются на резервном сервере DCSERVER. Оба сервера работоспособны и «видят» друг друга.
Перед началом передачи ролей необходимо проверить, какой из серверов является хозяином ролей. Для этого вызываем командную строку Win+R >> cmd и вводим команду:
netdom query fsmo – запрос на определение хозяина ролей FSMO

По результату выполнения команды видно, что хозяин всех ролей контроллер домена, который у нас называется Win-srv-st, он сейчас основной.
Краткая справка:
FSMO (англ. Flexible single-master operations — «операции с одним исполнителем») — типы выполняемых контроллерами домена AD операций, требующие обязательной уникальности сервера, выполняющего данные операции (wiki). Это значит, что данные роли могут быть только на одном контроллере домена.
Хозяин схемы (Schema Master) – отвечает за возможность изменения существующей схемы AD (например добавление Exchange и тп.)
Хозяин именования доменов (Domain Naming Master) – добавляет/убавляет домены (если их несколько в одном лесу).
PDC (Primary Domain Controller Emulator) — эмулятор основного контроллера домена. Отвечает за смену паролей их репликацию, изменение групповой политики, синхронизацию время и совместимость с ранними версиями Windows.
Диспетчер пула RID (Relative ID Master) – создает ID для каждого объекта AD.
Хозяин инфраструктуры (Infrastructure Master) – передает информацию об объектах AD между другими контроллерами домена (например, когда пользователи из одного домена попали в соседний).
Есть еще одна очень важная роль – Global Catalog (GC) – хотя она не является FSMO т.к. её держателем могут быть несколько DC одновременно, без неё невозможно нормальное функционирование домена и его служб. GC хранит у себя копии всех объектов AD и частичные реплики других доменов леса. Он позволяет находить пользователям и приложениям объекты в любом домене существующего леса, отвечает за проверку подлинности имени пользователя, предоставляет сведения о членстве пользователя в универсальных группах, может общаться с другим доменным лесом.
Далее, смотрим в Active Directory (AD) >> Пользователи и компьютеры >> Наш домен >> Managed Service Accounts, чтоб учетная запись, под которой мы работаем, обладала всеми необходимыми правами.

Учетная запись должна как минимум входить в группы:
— администраторы домена;
— администраторы предприятия;
— администраторы схемы.
Передача ролей хозяина операций RID, PDC и Инфраструктуры.
Нажимаем правой кнопкой мыши на имя домена в каталоге и выбираем пункт – Хозяева операций…

В открывшемся окне видим, что хозяином во всех трех вкладках RID, PDC и Инфраструктура является Win-Srv-St.SCRB.local. Ниже написано: Чтоб передать роль хозяина операций следующему компьютеру, нажмите кнопку «Изменить». Убеждаемся что в самой нижней строчке имя сервера, которому мы хотим передать роль хозяина и жмем изменить. Делаем это же на всех трех вкладках.

В появившемся вопросе подтверждения жмем Да.

Роль хозяина успешно передана. ОК. Хозяином операций стал DCSERVER.SCRB.local.

Делаем то же самое на оставшихся двух вкладках PDC и Инфраструктура.


Передача роли «Хозяин именования доменов».
Выбираем в AD DS нашего сервера пункт Active Directory – домены и доверие.

Правой кнопкой мыши жмем по названию и выбираем, как и ранее, строчку Хозяин операций…

Проверяем имена серверов, нажимаем изменить.



Хозяином операций стал DCSERVER.
Передача роли «Хозяин схемы».
Первоначально зарегистрируем в системе библиотеку управления схемой AD с помощью команды regsvr32 schmmgmt.dll
Нажимаем WIN+R >> cmd
Вводим команду и получаем ошибку: Модуль «schmmgmt.dll загружен, но не удалось выполнить вызов DLLRegisterServer, код ошибки: 0x80040201.

Ошибка, потому что командную строку нужно запускать от имени администратора. Сделать это можно, например из меню Пуск. Выбираем командную строку и нажимаем запуск от имени администратора.

Еще раз вводим команду regsvr32 schmmgmt.dll. Теперь всё прошло как нужно.

Нажимаем WIN+R, пишем mmc

В открывшейся консоли выбираем Файл >> Добавить или удалить оснастку… (или жмем CTRL+M)

Среди доступных оснасток выбираем Схема Active Directory, нажимаем добавить. ОК.

В корне консоли выбираем добавленную оснастку, нажимаем на неё правой кнопкой мыши и выбираем строчку «Хозяин операций…»

Текущим хозяином схемы значится Win-Srv-St.SCRB.local. В нижней строчке тоже его имя.

При нажатии кнопки «Сменить» появляется сообщение: Текущий контроллер домена Active Directory является хозяином операций. Чтоб передать роль хозяина другому DC, нужно нацелить на этот DC схему Active Directory.

Возвращаемся к оснастке и выбираем ПКМ Сменить контроллер домена Active Directory.

В открывшемся окне выбираем нужный сервер. В нашем случае DCSERVER.SCRB.local. ОК.

Консоль выдаст сообщение: Оснастка схемы Active Directory не подключена к хозяину операций схемы. Выполнение изменений невозможно. Изменения схемы могут быть сделаны только в схеме владельца FSMO.

При этом в названии оснастки появился нужный нам сервер.

Снова жмем на неё правой кнопкой мыши и переходим к хозяину операций. Проверяем названия серверов, жмем кнопку «Сменить».

Роль хозяина операций успешно передана. ОК.

Для того, чтоб убедиться в передаче ролей, введем еще раз в командной строке netdom query fsmo

Хозяином ролей теперь является DCSERVER.SCRB.local.
Глобальный каталог.
Чтоб уточнить, где расположен GC нужно пройти по пути: AD – Сайты и службы >> Sites >>Default-First-Site-Name >> Servers >> DCSERVER
В появившейся службе NTDS Settings жмем ПКМ и выбираем – Свойства.

Если стоит галочка напротив надписи Глобальный каталог, то значит что он на этом сервере. А вообще, в нашем случае GC расположен на обоих DC.

Настройка DNS.
В настройке DNS нового основного DC пишем вот что:

В первой строчке IP адрес бывшего основного DC (Win-Srv-St), который теперь стал резервным 192.168.1.130.
Во второй строчке 127.0.0.1 т.е. самого себя (можно и свой IP написать, чтоб по конкретнее).
В том контроллере домена который у нас стал резервным записано так:
В первой строчке IP основного DC.
Во второй строчке свой IP. Все работает.

DHCP у нас в сети не работает по причине местных обстоятельств, по этому перенастраивать его не нужно. Зато нужно пройти 200 ПК и вручную прописать новый DNS. По этой причине решено пока что не демонтировать старый контроллер домена. За полгода планомерных обходов DNS у пользователей поменяются.
Не запускается Mysql
MySQL или MariaDB — это один из самых популярных движков баз данных, который используется для обеспечения работы большинства веб-сайтов в интернете, а также множества других проектов.
Иногда случается, что из-за после изменения настроек или по какой-либо другой причине mysql не запускается. Это довольно серьезная проблема, особенно, когда такая ситуация случается на сервере публичного проекта. В этой статье мы рассмотрим основные причины почему может возникать такая проблема, а также пути решения. В качестве примера будет использоваться Mariadb и Ubuntu.
Как установить MongoDB на Debian 9
MongoDB — бесплатная и открытая исходная NoSQL документарно-ориентированная база данных, ориентированная на платформу. Она хранит все данные в документах с использованием формата JSON (BSON), что делает данные чрезвычайно гибкими. MongoDB входит в выпуски Community и Enterprise. Издание Enterprise предоставляет дополнительные функции администрирования, аутентификации и мониторинга. Community — это бесплатная версия MongoDB с открытым исходным кодом, и мы ее установим в этой статье на Debiab 9 VPS.
Некоторые из ключевых особенностей MongoDB перечислены ниже:
- Высокая производительность.
- Переносимость данных
- Может использоваться как хранилище файлов
- Поддерживает богатый язык запросов
- Высокая доступность
- Возможность глубокого запроса.
- Горизонтальная масштабируемость
- Поддержка множественного хранения. Вы можете использовать такие двигатели, как WiredTiger Storage Engine и MMAPv1
Предпосылки
- Debian 9 VPS — MongoDB 64bit предоставляет только пакеты для 64-разрядных сборок Debian 9.
- SSH-доступ с привилегиями root

Войдите на сервер и обновите систему
Войдите в свой Debian 9 VPS через SSH в качестве пользователя root
ssh root@IP_Address -p Port_number
и прежде чем мы начнем установку MongoDB, убедитесь, что все установленные пакеты обновлены до последней доступной версии
apt update && apt update
Добавить официальный репозиторий MongoDB
MongoDB можно установить из официального репозитория Debian 9, но этот пакет не поддерживается командой MongoDB, и это не официальный релиз MongoDB. Итак, чтобы установить официальный пакет MongoDB, который всегда обновляется, нам нужно добавить репозиторий MongoDB на сервер. Прежде всего мы будем импортировать открытый ключ MongoDB, чтобы обеспечить согласованность и достоверность пакета. Выполните следующую команду
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
Вывод:
Executing: /tmp/apt-key-gpghome.BvSKWq7GUg/gpg.1.sh --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 gpg: key 68818C72E52529D4: public key "MongoDB 4.0 Release Signing Key <packaging@mongodb.com>" imported gpg: Total number processed: 1 gpg: imported: 1
Следующий шаг — добавить репозиторий, создав файл ‘/etc/apt/sources.list.d/mongodb-org-4.0.list’, используя следующую команду:
echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list
После добавления репозитория обновите локальную базу данных пакетов
apt update
Установите MongoDB на Debian 9
Мы добавили официальный репозиторий MongoDB в наш Debian 9 VPS, поэтому мы готовы начать установку последней версии MongoDB, просто выполнив следующую команду на сервере
apt -y install mongodb-org
Проверьте версию MongoDB, установленную на сервере
mongo -version
Вывод:
MongoDB shell version v4.0.0
git version: 3b07af3d4f471ae89e8186d33bbb1d5259597d51
OpenSSL version: OpenSSL 1.1.0f 25 May 2017
allocator: tcmalloc
modules: none
build environment:
distmod: debian92
distarch: x86_64
target_arch: x86_64
Итак, мы успешно установили MongoDB версии 4.0.0, которая на момент написания этой статьи является последней стабильной версией.
Вы также можете установить любую конкретную версию MongoDB, в которой вы нуждаетесь. Если вам нужна более старая версия MongoDB, например 3.0.12, вы можете установить ее, выполнив следующую команду.
sudo apt-get install -y mongodb-org = 3.0.12 mongodb-org-server = 3.0.12 mongodb-org-shell = 3.0.12 mongodb-org-mongos = 3.0.12 mongodb-org-tools = 3.0.12
Обратите внимание, что версия MongoDB, которую вы специфицировали и устанавливали на сервер, будет автоматически обновляться при выпуске новой версии. Чтобы претворить это, мы поставим пакет на «hold». Таким образом, пакет MongoDB не может быть установлен, обновлен или удален, пока метка удержания не будет удалена. Вы можете добиться этого, выдав следующие команды:
echo "mongodb-org hold" | sudo dpkg --set-selections echo "mongodb-org-server hold" | sudo dpkg --set-selections echo "mongodb-org-shell hold" | sudo dpkg --set-selections echo "mongodb-org-mongos hold" | sudo dpkg --set-selections echo "mongodb-org-tools hold" | sudo dpkg --set-selections
Как только MongoDB будет установлен, запустите службу
service mongod start
и убедитесь, что процесс mongod запущен
service mongod status
Вывод:
● mongod.service - MongoDB Database Server
Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset: enabled)
Active: active (running) since Tue 2018-07-17 11:51:26 CDT; 21s ago
Docs: https://docs.mongodb.org/manual
Main PID: 21205 (mongod)
CGroup: /system.slice/mongod.service
└─21205 /usr/bin/mongod --config /etc/mongod.conf
Вот и все, MongoDB успешно установлен и запущен на вашем Debian 9 VPS. Для получения дополнительной информации и инструкций по использованию MongoDB, пожалуйста, проверьте их официальную документацию: https://docs.mongodb.com/.
Вы также можете проверить наши учебные пособия о том, как установить MongoDB на Ubuntu 16.04 VPS или CentOS VPS.