Показать сообщение отдельно
Непрочитано 16.08.2013, 09:24   #1
Аватар для MrShyr
Эксперт

Автор темы (Топик Стартер) MikroTik и Lineage 2 Сервер

Накатаю небольшой мануальчик по роутеру MikroTik
и тому как же нам повесить сервер, открыть и пробросить порты,
разрешить правила файрволлом MikroTik и организовать
Nat Loopback в нашу подсеть, что позволит нам самим
ходить на сервер через внешний адрес.

Статейка основана в надежде что DHCP у вас уже настроен и выдает
локальной машине с сервером статический IP, имеется белый IP на внешке,
настроен брандмауэр/фаирволл на серверной тачке.

Конфигурации самого сервера могут отличаться, но думаю
методом тыка подобрать будет не сложно, приступим.

Для начала конфиг GS должен выглядеть примерно так:

Код:
ExternalHostname=ВНЕШНИЙ_БЕЛЫЙ_ИПИ
InternalHostname=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ

GameserverHostname=*
GameserverPort=7777

LoginHost=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ
LoginPort=9014
Конфиг LS должен выглядеть так:

Код:
LoginServerHostName=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ
LoginServerPort=2106

LoginHostName=*
LoginPort=9014
В БД в таблице GAMESERVERS где регистрируется HEXID
и лежит информация о игровых серверах, в ячейке HOST указываем
ВНЕШНИЙ_БЕЛЫЙ_ИПИ

Переходим к настройке роутера.

Для начала мы пробросим сквозь роутер к нашему серверу порты,
откроем терминал и введем пару правил.

Код:
/ip firewall nat add action=dst-nat chain=dstnat comment="Game Server" dst-port=7777 in-interface=ether1 protocol=tcp to-addresses=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ to-ports=7777

/ip firewall nat add action=dst-nat chain=dstnat comment="Login Server" dst-port=2106 in-interface=ether1 protocol=tcp to-addresses=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ to-ports=2106

/ip firewall nat add action=dst-nat chain=dstnat comment="MySQL Server" dst-port=3306 in-interface=ether1 protocol=tcp to-addresses=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ to-ports=3306
Далее настроим FIREWALL роутера, для того что бы эти порты
были открыты для нашей локальной машины.

Код:
/ip firewall filter add chain=forward comment="Game Server Port Forward" dst-address=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ dst-port=7777 in-interface=ether1 protocol=tcp

/ip firewall filter add chain=forward comment="Login Server Port Forward" dst-address=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ dst-port=2106 in-interface=ether1 protocol=tcp

/ip firewall filter add chain=forward comment="MySQL Server Port Forward" dst-address=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ dst-port=3306 in-interface=ether1 protocol=tcp
З.Ы. ether1 - это имя интерфейса принимающего наш интернет от провайдера.

Теперь все игроки свободно могут заходить из сети интернет на наш сервер
по внешнему белому адресу, + мы еще прокинули доступ к MySQL сервера,
но есть одно но, мы сможем зайти только по средствам внутреннего
статического ИПИ адреса машины зарезервированным DHCP. И тут нам
на помощь приходит NAT Loopback который мы сейчас и организуем.
Для этого снова открываем терминал и добавляем правила.

Код:
/ip firewall nat add action=dst-nat chain=dstnat comment="Nat for Game Server" dst-address=ВНЕШНИЙ_БЕЛЫЙ_ИПИ dst-port=7777 protocol=tcp to-addresses=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ to-ports=7777

/ip firewall nat add action=dst-nat chain=dstnat comment="Nat for Login Server" dst-address=ВНЕШНИЙ_БЕЛЫЙ_ИПИ dst-port=2106 protocol=tcp to-addresses=ВНУТРЕННИЙ_СТАТИК_ИПИ_МАШИНЫ to-ports=2106

/ip firewall nat add action=src-nat chain=srcnat comment="Nat Loopback" protocol=tcp src-address=НАША_ПОДСЕТЬ_НАПРИМЕР_192.168.88.0/24 to-addresses=ВНЕШНИЙ_БЕЛЫЙ_ИПИ
З.Ы. НАША_ПОДСЕТЬ_НАПРИМЕР_192.168.88.0/24 указывается при создании DHCP

З.З.Ы. Если что то не работает, переместите все правила файрволла на самый
верхний уровень, для этого перейдите в раздел IP/Firewall и просто перетащите
все правила в самый верх.

Теперь и мы из нашей подсети можем ходить по внешке на наш сервер. Вот в принципе и все

Добавлено через 35 минут
Все еще ищу наставника http://forum.zone-game.info/showthread.php?t=30876

Последний раз редактировалось MrShyr; 16.08.2013 в 12:15. Причина: Добавлено сообщение
MrShyr вне форума Ответить с цитированием
Сказали спасибо: