Страница 1 из 1
Проброс портов для игрового сервера
Добавлено: 03 апр 2021, 19:47
buges
Здравствуйте.
Вопрос в следующем, в локальной сети есть несколько игровых серверов, доступ к которым нужен как из сети, так и из интернет. Практически все гайды в сети интернет говорят только о tcp, но для игровых портов нужен и udp.
Единственное рабочее решение я нашел, такое:
add action=dst-nat chain=dstnat dst-port=27025,27035 in-interface=pppoe-out1 protocol=tcp to-addresses=192.168.1.121
add action=dst-nat chain=dstnat dst-port=27025,27035 in-interface=pppoe-out1 protocol=udp to-addresses=192.168.1.121
add action=dst-nat chain=dstnat dst-address=172.12.52.18 dst-port=27025,27035 protocol=tcp src-address=192.168.1.0/24 to-addresses=192.168.1.121
add action=dst-nat chain=dstnat dst-address=172.12.52.18 dst-port=27025,27035 protocol=udp src-address=192.168.1.0/24 to-addresses=192.168.1.121
add action=masquerade chain=srcnat dst-address=192.168.1.121 dst-port=27025,27035 protocol=tcp src-address=192.168.1.0/24
add action=masquerade chain=srcnat dst-address=192.168.1.121 dst-port=27025,27035 protocol=udp src-address=192.168.1.0/24
Прошу помощи у знающих, как можно оптимизировать эти правила, так как для каждого сервера городить по 6 правил, это, как мне кажется, перебор.
Re: Проброс портов для игрового сервера
Добавлено: 03 апр 2021, 19:58
xvo
Почему вам кажется, что надо что-то оптимизировать?
Да собственно и не получится особо.
Разве слепить вместе два маскарада заменив условия на протокол/порты на условие connection-nat-state=dstnat
Re: Проброс портов для игрового сервера
Добавлено: 03 апр 2021, 20:10
buges
xvo писал(а): ↑03 апр 2021, 19:58
Почему вам кажется, что надо что-то оптимизировать?
Да собственно и не получится особо.
Разве слепить вместе два маскарада заменив условия на протокол/порты на условие connection-nat-state=dstnat
Хороший вопрос. Понимаю, что лучшее враг хорошего, но все равно думал, что 6 правил для 1 проброса, как-то много. Но раз так, благодарю за ответ.
Re: Проброс портов для игрового сервера
Добавлено: 03 апр 2021, 20:23
xvo
А, подождите, а зачем у вас два разных правила dst-nat для обращения изнутри и снаружи.
Просто вот так сделайте:
Код: Выделить всё
add action=dst-nat chain=dstnat dst-address=172.12.52.18 dst-port=27025,27035 protocol=tcp to-addresses=192.168.1.121
add action=dst-nat chain=dstnat dst-address=172.12.52.18 dst-port=27025,27035 protocol=udp to-addresses=192.168.1.121
Ну и если два маскарада слепить в один:
Код: Выделить всё
add action=masquerade chain=srcnat dst-address=192.168.1.121 connection-nat-state=dstnat src-address=192.168.1.0/24
В итоге все-таки всего 3 останется

Re: Проброс портов для игрового сервера
Добавлено: 03 апр 2021, 20:33
buges
xvo писал(а): ↑03 апр 2021, 20:23
А, подождите, а зачем у вас два разных правила dst-nat для обращения изнутри и снаружи.
Просто вот так сделайте:
Код: Выделить всё
add action=dst-nat chain=dstnat dst-address=172.12.52.18 dst-port=27025,27035 protocol=tcp to-addresses=192.168.1.121
add action=dst-nat chain=dstnat dst-address=172.12.52.18 dst-port=27025,27035 protocol=udp to-addresses=192.168.1.121
Ну и если два маскарада слепить в один:
Код: Выделить всё
add action=masquerade chain=srcnat dst-address=192.168.1.121 connection-nat-state=dstnat src-address=192.168.1.0/24
В итоге все-таки всего 3 останется
В цепочке NAT нет "connection-nat-state=dstnat", а в цепочке FIREWAL нет "masquerade"
Re: Проброс портов для игрового сервера
Добавлено: 03 апр 2021, 20:40
buges
buges писал(а): ↑03 апр 2021, 20:33
xvo писал(а): ↑03 апр 2021, 20:23
А, подождите, а зачем у вас два разных правила dst-nat для обращения изнутри и снаружи.
Просто вот так сделайте:
Код: Выделить всё
add action=dst-nat chain=dstnat dst-address=172.12.52.18 dst-port=27025,27035 protocol=tcp to-addresses=192.168.1.121
add action=dst-nat chain=dstnat dst-address=172.12.52.18 dst-port=27025,27035 protocol=udp to-addresses=192.168.1.121
Ну и если два маскарада слепить в один:
Код: Выделить всё
add action=masquerade chain=srcnat dst-address=192.168.1.121 connection-nat-state=dstnat src-address=192.168.1.0/24
В итоге все-таки всего 3 останется
В цепочке NAT нет "connection-nat-state=dstnat", а в цепочке FIREWAL нет "masquerade"
Добавил такое правило
Код: Выделить всё
add action=masquerade chain=srcnat dst-address=192.168.1.121 src-address=192.168.1.0/24
И все заработало.
Спасибо!
Re: Проброс портов для игрового сервера
Добавлено: 03 апр 2021, 20:58
xvo
buges писал(а): ↑03 апр 2021, 20:33
В цепочке NAT нет "connection-nat-state=dstnat"
А, точно.
