LINUX.ORG.RU

Умеет ли nginx пробрасывать не только один порт а больше портов?

server {
    listen 25565 udp;
    listen 19132 udp;
    proxy_bind $remote_addr:$remote_port transparent;
}
anonymous
()
Ответ на: комментарий от anonymous

Что вбивать в remote_addr и remote_port? И уверены ли что оно сработает по отношению к игровым серверам?(Minecraft Java, Minecraft pe) разве через stream listen 25565 proxy pass 10.228.228.2 не получится на два порта пробросить? Чтобы ввел аипи:1932 попал на сервер 1, ввел аипи:25565 попал на 2 сервер?

maincrafter
() автор топика

Просто сделай в конфиге nginx столько блоков server { }, сколько тебе нужно.

deadNightTiger ★★★★★
()
Ответ на: комментарий от maincrafter

Что вбивать в remote_addr и remote_port?

Ничего, это переменные

IIIypuk ★★★
()
Ответ на: комментарий от maincrafter

И уверены ли что оно сработает по отношению к игровым серверам?

А зачем вам игровые сервера через nginx пропускать?

Клиент напрямую по url:port подключается.

IIIypuk ★★★
()
Ответ на: комментарий от Anoxemian

Вероятно человек не умеет настраивать iptables, но умеет настраивать nginx. Как говорится, дайте мне микроскоп и я переверну мир. Я вот socat-ом проксирую кой чего (:

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

A socat скоростной? Iptables медленнее чем тот же uredir/rinetd/nginx/velocity/Bungecord. Iptables у меня нету т.к не на всех вдс он есть + он медленный для крупного сервера будет. Поэтому ищу скоростной прокси сервер.

maincrafter
() автор топика
Ответ на: комментарий от menangen

Minecraft Java на TCP порту работает, Minecraft BE на UDP порту работает. Проблема том что очень мало проггамм для проброса UDP порта. TCP port изи пробросить, тот же rinetd умеет куча TCP портов пробрасывать. Nginx как понял не умеет куча TCP портов пробрасывать.

maincrafter
() автор топика
Ответ на: комментарий от maincrafter

A socat скоростной?

Iptables у меня нету т.к не на всех вдс он есть + он медленный для крупного сервера будет. Поэтому ищу скоростной прокси сервер.

Какая-то упоротая чушь. Ну ладно, коль не разобрался с файрволом в линуксе, то и socat лучше не трожь.

Nginx как понял не умеет куча TCP портов пробрасывать.

https://docs.nginx.com/nginx/admin-guide/load-balancer/tcp-udp-load-balancer/

melkor217 ★★★★★
()
Ответ на: комментарий от melkor217

У меня аипи не буквенный а 10.228.228.2 на конечном сервере - через WireGuard тунель прокинул и на конечном конце тунеля аипи 10.228.228.2, на этом аипи запущен сервер с портом 25566. Так же на этом аипи запущен сервер с портом 19133. Надо пробросить в вдс порты на 10.228.228.2 - nginx такое сможет?

maincrafter
() автор топика
Ответ на: комментарий от melkor217

Если не понял о чем речь:то в меня есть Вдс и Хоум ПК который с серым аипи. Так вот через WireGuard пробросил тунель на вдс от Хоум ПК. В вдс надо пробрсить порты на адрес тунеля 10.228.228.2. Порты:19133 UDP, 25566 TCP.

maincrafter
() автор топика
Ответ на: комментарий от maincrafter

Надо пробросить в вдс порты на 10.228.228.2 - nginx такое сможет?

Порты:19133 UDP, 25566 TCP.

stream {
    server {
        listen     25566;
        proxy_pass 10.228.228.2:25566;
    }

    server {
        listen     19133 udp;
        proxy_pass 10.228.228.2:19133;
    }
}
melkor217 ★★★★★
()
Ответ на: комментарий от melkor217

Это сработало. Можно ли так же подключить в него tcp-fast-open? И ещё чтобы аипишник он передавал игрока, а то игроки под аипишником 10.228.228.1 входят(аипи тунеля у всех игроков выдаётся)

maincrafter
() автор топика
Ответ на: комментарий от maincrafter

Можно ли так же подключить в него tcp-fast-open

Можно, прочитай доки http://nginx.org/en/docs/stream/ngx_stream_core_module.html

И ещё чтобы аипишник он передавал

Для этого в идеале выкинуть прокси и вернуться к настройке файрвола.

Но если ты принципиальный, то можно взять две штуки nginx, proxy_protocol для общения между ними и https://nginx.org/en/docs/stream/ngx_stream_realip_module.html

Выйдет сложно-медленно-запутанно относительно файрвола, но работать будет.

melkor217 ★★★★★
()
Ответ на: комментарий от maincrafter

Iptables версий 1.8.4(legacy) через него получится?

Сильно зависит от твоего терпения. С ходу там тяжело разобраться, но в целом всё сводится к паре несложных правил.

Тебе нужно настроить там DNAT, https://www.opennet.ru/docs/RUS/iptables/ и туториалы в помощь.

melkor217 ★★★★★
()
Ответ на: комментарий от melkor217

Ну так скинь нормальные гайды,этот не рабочий. И у меня версия 1.8.4(legacy) как обновленную ставить я не знаю. Пытался sudo apt-get install iptables не помогает.

maincrafter
() автор топика
Ответ на: комментарий от maincrafter

«Пытался sudo apt-get install iptables не помогает»
какая у тебя ОС?
какую конкретно ошибку выдаёт sudo apt-get install iptables ?

anonymous
()
Ответ на: комментарий от maincrafter

скинь нормальные гайды

Чувак, ищи в гугле. Это самый реальный способ.

goingUp ★★★★★
()
Ответ на: комментарий от anonymous

Ubuntu 20.04 lts, ядро 5.17. При попытке sudo apt-get install iptables пишет: iptables is already the newest version 1.8.4-3ubuntu2. Iptables set to manually installed.

maincrafter
() автор топика
Ответ на: комментарий от maincrafter

Ну и шо ты про это думаешь? Зачем вообще ты так упорно пытешься обновить iptables?

melkor217 ★★★★★
()
Ответ на: комментарий от targitaj

A есть прокси сервер (приложение) которое умело бы передавать аипи а не использовать аипи тунеля(т.к из;за этого у игроков аипи 10.228.228.1 а не их внешний аипи)

maincrafter
() автор топика
Ответ на: комментарий от melkor217

A можно сделать чтобы он блокировал подключения частые к 19132? Так же ограничил количество активных соединений для аипи. Nginx же умеет в антиддос?

maincrafter
() автор топика
Ответ на: комментарий от maincrafter

Погуглил за тебя, докладываю.

A можно сделать чтобы он блокировал подключения частые к 19132?

limit_req есть только для http-режима, так что простого решения не будет. Намного проще и эффективнее воспользоваться файрволом.

количество активных соединений для аипи

А это пожалуйста - https://nginx.org/en/docs/stream/ngx_stream_limit_conn_module.html

Но опять же можно файрволом достичь похожего эффекта

Nginx же умеет в антиддос?

Антиддос это слишком широкое понятие, чтобы на такое внятно ответить

melkor217 ★★★★★
()
Ответ на: комментарий от melkor217

Антиддос какой именно я не разобрался ещё там идёт, знаю что по UDP раз при отключении порта 19132 UDP сервер не ложился в 0,я пока толком не разобрался почему школьник ложит овх. Походу надо настроить nginx , ограничение на кол-во подключение с аипи сделать - вообщем лимиты настроить а так же автобан аипи сделать если этот аипи нарушает лимит. Я пока поставил pocketmine proxy,но это костыль уже(потому что версия прокси устарела и язык там php), хотелось бы через nginx/iptables (iptables если найдешь инфу как настраивать защиту для сервера на UDP)

maincrafter
() автор топика
Ответ на: комментарий от maincrafter

Чё ты все свой iptables рекламишь?

Помогай тогда настроить раз рекламишь так агрессивно.

iptables если найдешь инфу как настраивать

Ничоси, быкануть на меня решил? Это не поможет, читай доки и возвращайся с нормальными вопросами.

melkor217 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.