Использование АСП11.2 в качестве "прокси" для игр

Аватар пользователя antigrustin

Извиняюсь, если не правильно назвал тему, собственно хотел спросить у местных гуру.
Можно ли "через" сервер на базе АСП11.2 подключаться к игровым серверам, дабы использовать выделенную полосу под сервер?
Т.е. в моей локальной подсети есть сервачок, для которого на шлюзе отведена определенная ширина канала, и есть другой игровой сервачок, размещаемый за шлюзом, где собственно мы и играемся. Поскольку сидим на радиоканале - в приоритете ВПН, а UDP пакеты шейпятся.
Поскольку сервачок что стоит в моей локальной сети мой, то вот и хотел бы узнать, как бы сделать так, шобы игровой трафик бегал через сервачок.
Игра CSS
Спасибо за внимание.
П.С. догадываюсь что через iptables... но вот только где? в каком блоке?

Аватар пользователя IsakovAN

Использование АСП11.2 в качестве "прокси" для игр

Определитесь с IP и портом игрового сервера. Затем надо добавте правило:
iptables -t nat -A POSTROUTING -p tcp --dport $GAME_PORT -d $GAME_SERVER_IP -j SNAT $SERVER_IP

Аватар пользователя antigrustin

Использование АСП11.2 в качестве "прокси" для игр

спасибо за ответ.
если нада преобразовывать пакеты идущие по протоколу udp то -p tcp менять на -p udp?
теперь дальше, сервер где будет происходить преобразование адресов(7.77) находиться в моей подсети, а игровой - в другой(100.5).
Мне нужно в настройках роутинга на своей машине прописывать доп маршрут на 100.5 через "якобы шлюз" на 7.77?
и еще.. если используеться несколько портов, то в этом разделе (НАТ) можно использовать задание интервала портов?
например --dport 27005-27015.

Аватар пользователя antigrustin

Использование АСП11.2 в качестве "прокси" для игр

мда... лучше почитаю мануал по iptables, чем задавать тупые вопросы.

Аватар пользователя IsakovAN

Использование АСП11.2 в качестве "прокси" для игр

antigrustin писал(а):
если нада преобразовывать пакеты идущие по протоколу udp то -p tcp менять на -p udp?

Да

antigrustin писал(а):
теперь дальше, сервер где будет происходить преобразование адресов(7.77) находиться в моей подсети, а игровой - в другой(100.5).
Мне нужно в настройках роутинга на своей машине прописывать доп маршрут на 100.5 через "якобы шлюз" на 7.77?

Если этого маршрута небыло и маршрут по-умолчанию указывает в другое место, то да.

antigrustin писал(а):
и еще.. если используеться несколько портов, то в этом разделе (НАТ) можно использовать задание интервала портов?
например --dport 27005-27015.

Да, но надо немного по другому: 27005:27015

antigrustin писал(а):
мда... лучше почитаю мануал по iptables, чем задавать тупые вопросы.

Что вы, вопросы не тупые. А мануалы чиать - тоже идея правильная! Улыбка

Аватар пользователя antigrustin

Re: Использование АСП11.2 в качестве "прокси" для игр

Вобщем почитал мануальчик... очень многое узнал кстати=))
Вобщем если подробно, то задача такая(для теста сначала соединение по ТСР -, по УДП сделаю по аналогии)
есть игровой сервер, 192.168.100.5:20001.
есть мой "прокси" сервер 192.168.7.77, который находится со мной в локальной подсети и выходит в город через шлюз 192.168.7.1

задача -
1)конектиться на 192.168.7.77:20001.
2)настроить iptables таким образом, чтобы он перенаправлял приходящие пакеты на 192.168.7.77:20001 на 192.168.100.5:20001, и естественно отправлял их обратно Улыбка
я дошел до места:

#iptables -t nat -A PREROUTING -p tcp -d 192.168.7.77 --dport 20001 -j DNAT --to-destination 192.168.100.5
#iptables -t nat -A POSTROUTING -p tcp -j MASQUERADE --to-ports 20001
#iptables -P FORWARD ACCEPT покашо фильтровать нечего

этим мы вроде бы как меняем в заголовке адрес получателя с 192.168.7.77 на 192.168.100.5 и потом маскарадим обратно (мне удобнее было бы с маскарадингом, чтобы использовать 192.168.7.77 в качестве "прокси" могли и другие)
но вот почему то работать оно не хочет((
какими штуками можно посмотреть где он не пускает (кроме tcpdump, - там можно голову сломать)

Аватар пользователя GvOzD

Re: Использование АСП11.2 в качестве "прокси" для игр

Я так понял что маскарадинг используется если у тебя динамический ip!!! А если у тебя статический ip, то надо использовать SNAT для правильной работы....

Речь идет о внешнем ip

а вот мануал который мне лино очень помог со всем разобраться: http://www.opennet.ru/docs/RUS/iptables/

Аватар пользователя IsakovAN

Использование АСП11.2 в качестве "прокси" для игр

Задачу надо разбить на 2 подзадачи:
1. Настроить сервере DNAT:
iptables -t nat -A PREROUTING -p tcp -d 192.168.7.77 --dport 20001 -j DNAT --to-destination 192.168.100.5
2. Настроить SNAT или маскарад:
iptables -t nat -A POSTROUTING -p tcp -d 192.168.100.5 --dport 20001 -j MASQUERADE

Кстати, FORWARD разрешен?
sysctl -a | grep -i forwarding
А на уровне правил iptables?

Аватар пользователя antigrustin

Использование АСП11.2 в качестве "прокси" для игр

понял в чем прикол, нада было дописать #echo "1" > /proc/..../ip_forward
заработало:)

тогда другой вопрос, что лучше тогда взять? СНАТ или МАСКАРАД?))
нада чтобы была возможность подключаться нескольким клиентам... как я понял тут рулит маскарад... и все делается одной строчкой Мозги набекрень
подскажите=)

Аватар пользователя antigrustin

Использование АСП11.2 в качестве "прокси" для игр

и еще... почемуто возник интересный эффект после добавления цепочек в фаерволе...
а именно - пропадание связи с радио-точкой (shoutcast-radio-server работающий по ТСР на 8000 порту)
пропадает спонтанно... если в винампе заново подключиться- подключается и играет дальше. происходит это через какоето время после установления соединения через "прокси":)
может скинуть service iptables status... посмотрите в чем закарлюка?)

Аватар пользователя IsakovAN

Использование АСП11.2 в качестве "прокси" для игр

antigrustin писал(а):
понял в чем прикол, нада было дописать #echo "1" > /proc/..../ip_forward
заработало:)

ТАКИ НЕТ!!! Надо /etc/sysctl.conf править! Это до первой перезагрузки!

antigrustin писал(а):
тогда другой вопрос, что лучше тогда взять? СНАТ или МАСКАРАД?))

Маскарад надо применять ТОЛЬКО если внешний IP динамический, т.к. он жрет больше процессора!

antigrustin писал(а):
может скинуть service iptables status... посмотрите в чем закарлюка?)

Лучше
iptables-save | bzip2 -c -9 > firewall.bz2
И прикрепите к топику.

Аватар пользователя antigrustin

Re: Использование АСП11.2 в качестве "прокси" для игр

в /etc/sysctl.conf изменил следущее: net.ipv4.ip_forward = 1
хотел спросить - sysctl.conf - это чей конфиг файл?))
по поводу правил фаервола - прикрепил, предложенным вами методом.

ВложениеРазмер
firewall.bz2 501 байт
Аватар пользователя IsakovAN

Re: Использование АСП11.2 в качестве "прокси" для игр

antigrustin писал(а):
в /etc/sysctl.conf изменил следущее: net.ipv4.ip_forward = 1
хотел спросить - sysctl.conf - это чей конфиг файл?))

Вот это правильно!
man sysctl Улыбка

Оптимизированная версия ваших правил в атачменте. Установка: cat firewall.bz2 | bunzip2 -c | iptables-restore

ВложениеРазмер
firewall.bz2 389 байт
RSS-материал