LINUX.ORG.RU

Squid proxy + World of warcraft + iptables

 , ,


0

1

Собственно задача поднять WoW на виндовой машине, которая сидит в интернетах за прокси на сквиде. Пробовалось играться через софтины для HTTP-тунелирования, никак. Было принято решение лезть в темный лес(для меня). Итак, что вышло:

Лаунчер смог узнавать есть ли апдейты и скачивать их. Но к сожалению в игре при вводе логина и пароля сразу же вылетает ошибка «Соединение разорвано».

Вот список правил для лаунчера и самого ВоВ"а, но чего-то ему мало :( Может кто подскажет что делать?

#
# 192.168.0.51 = прокся, 192.168.0.74 = компьютер на котором пытаюсь поднять ВоВ
#
# Generated by iptables-save v1.4.8 on Thu Sep  6 15:13:41 2012
*nat
:OUTPUT ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 1119 -j DNAT --to-destination 192.168.0.74:1119
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 1119 -j DNAT --to-destination 192.168.0.74:1119
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 1120 -j DNAT --to-destination 192.168.0.74:1120
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 1120 -j DNAT --to-destination 192.168.0.74:1120
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 3724 -j DNAT --to-destination 192.168.0.74:3724
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 3724 -j DNAT --to-destination 192.168.0.74:3724
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 4000 -j DNAT --to-destination 192.168.0.74:4000
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 4000 -j DNAT --to-destination 192.168.0.74:4000
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 6112 -j DNAT --to-destination 192.168.0.74:6112
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 6112 -j DNAT --to-destination 192.168.0.74:6112
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 6113 -j DNAT --to-destination 192.168.0.74:6113
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 6113 -j DNAT --to-destination 192.168.0.74:6113
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 6114 -j DNAT --to-destination 192.168.0.74:6114
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 6114 -j DNAT --to-destination 192.168.0.74:6114
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 62443 -j DNAT --to-destination 192.168.0.74:62443
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 62443 -j DNAT --to-destination 192.168.0.74:62443
-A PREROUTING -p tcp -m tcp -d 192.168.0.51/32 --dport 6881:6999 -j DNAT --to-destination 192.168.0.74:6881-6999
-A PREROUTING -p udp -m udp -d 192.168.0.51/32 --dport 6881:6999 -j DNAT --to-destination 192.168.0.74:6881-6999
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 1119 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 1119 -j SNAT --to-source 192.168.0.51:1119
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 1119 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 1119 -j SNAT --to-source 192.168.0.51:1119
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 1120 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 1120 -j SNAT --to-source 192.168.0.51:1120
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 1120 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 1120 -j SNAT --to-source 192.168.0.51:1120
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 3724 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 3724 -j SNAT --to-source 192.168.0.51:3724
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 3724 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 3724 -j SNAT --to-source 192.168.0.51:3724
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 4000 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 4000 -j SNAT --to-source 192.168.0.51:4000
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 4000 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 4000 -j SNAT --to-source 192.168.0.51:4000
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 6112 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 6112 -j SNAT --to-source 192.168.0.51:6112
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 6112 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 6112 -j SNAT --to-source 192.168.0.51:6112
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 6113 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 6113 -j SNAT --to-source 192.168.0.51:6113
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 6113 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 6113 -j SNAT --to-source 192.168.0.51:6113
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 6114 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 6114 -j SNAT --to-source 192.168.0.51:6114
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 6114 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 6114 -j SNAT --to-source 192.168.0.51:6114
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 62443 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 62443 -j SNAT --to-source 192.168.0.51:62443
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 62443 -j SNAT --to-source 192.168.0.51
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 62443 -j SNAT --to-source 192.168.0.51:62443
-A POSTROUTING -p tcp -m tcp -d 192.168.0.74/32 --dport 6881:6999 -j SNAT --to-source 192.168.0.51:6881-6999
-A POSTROUTING -p tcp -m tcp -s 192.168.0.74/32 --sport 6881:6999 -j SNAT --to-source 192.168.0.51:6881
-A POSTROUTING -p udp -m udp -d 192.168.0.74/32 --dport 6881:6999 -j SNAT --to-source 192.168.0.51:6881-6999
-A POSTROUTING -p udp -m udp -s 192.168.0.74/32 --sport 6881:6999 -j SNAT --to-source 192.168.0.51:6881-6999
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 1119 -j DNAT --to-destination 192.168.0.74:1119
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 1119 -j DNAT --to-destination 192.168.0.74:1119
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 1120 -j DNAT --to-destination 192.168.0.74:1120
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 1120 -j DNAT --to-destination 192.168.0.74:1120
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 3724 -j DNAT --to-destination 192.168.0.74:3724
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 3724 -j DNAT --to-destination 192.168.0.74:3724
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 4000 -j DNAT --to-destination 192.168.0.74:4000
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 4000 -j DNAT --to-destination 192.168.0.74:4000
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 6112 -j DNAT --to-destination 192.168.0.74:6112
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 6112 -j DNAT --to-destination 192.168.0.74:6112
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 6113 -j DNAT --to-destination 192.168.0.74:6113
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 6113 -j DNAT --to-destination 192.168.0.74:6113
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 6114 -j DNAT --to-destination 192.168.0.74:6114
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 6114 -j DNAT --to-destination 192.168.0.74:6114
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 62443 -j DNAT --to-destination 192.168.0.74:62443
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 62443 -j DNAT --to-destination 192.168.0.74:62443
-A OUTPUT -p tcp -m tcp -d 192.168.0.51/32 --dport 6881:6999 -j DNAT --to-destination 192.168.0.74:6881-6999
-A OUTPUT -p udp -m udp -d 192.168.0.51/32 --dport 6881:6999 -j DNAT --to-destination 192.168.0.74:6881-6999
COMMIT
# Completed on Thu Sep  6 15:13:41 2012
# Generated by iptables-save v1.4.8 on Thu Sep  6 15:13:41 2012
*filter
:INPUT ACCEPT [69623:24232995]
:FORWARD ACCEPT [587:31212]
:OUTPUT ACCEPT [79415:41270582]
COMMIT
# Completed on Thu Sep  6 15:13:41 2012
# Generated by iptables-save v1.4.8 on Thu Sep  6 15:13:41 2012
*mangle
:PREROUTING ACCEPT [76582:26019753]
:INPUT ACCEPT [74691:25905329]
:FORWARD ACCEPT [590:31356]
:OUTPUT ACCEPT [84190:42325552]
:POSTROUTING ACCEPT [85036:42394152]
COMMIT
# Completed on Thu Sep  6 15:13:41 2012

Близарды утверждают, что это полный список портов, но что-то я сомневаюсь. http://eu.battle.net/support/ru/article/firewall-configuration-for-blizzard-g...

весёлый лист правил

может просто попробовать временно разрешить всё и посмотреть, какие порты будут задействованы

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

Была бы возможность, сервер не для секс-экспериментов, а любой косяк в правилах такого рода обычно кладет интернеты всему офису до удаления правила и ребута сервера, народ у которого работа на интернете завязана не оценит к сожалению. Так, что нужно еще что-то придумывать :) Что не так с правилами?

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

до удаления правила и ребута сервера

лолшто? /etc/init.d/iptables restart уже отменили?
И кто мешает разрешить все исходящие (и оставить так, ибо если «всему офису» разрешен ВоВ, то и от тентаклика вреда не будет), посмотреть порты, прописать в правила?

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

лолшто? /etc/init.d/iptables restart уже отменили?

/etc/init.d/iptables restart -bash: /etc/init.d/iptables: Нет такого файла или каталога

Видимо отменили.

И кто мешает разрешить все исходящие...

Вот именно по этому, с своим вопросом на русские форумы пришел в последнюю очередь. Еще раз говорю, это не тестовый сервер, а рабочий, открытие всех портов несет за собой глубокие последствия, например сервер перестает принимать запросы на 80 порт и показывать локальный домен, и просит внести юзеров у которых нету интернетов в списке тех, у кого они должны быть (идет по внешке?) в любом случае, открывать все — я не буду.

Какие еще предложения будут, комрады?

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

Посмотрел как обстоят дела в tcpdump, вот нашло это, добавил правила для 50000-65535 портов

08:55:43.562258 IP 192.168.0.74.50593 > 192.168.0.51.domain: 18315+ A? eu.logon.battle.net. (37)
08:55:43.563823 IP 192.168.0.74.50593 > 192.168.0.51.domain: 18315+ A? eu.logon.battle.net. (37)
08:55:43.568594 IP 192.168.0.74.50593 > 192.168.0.51.domain: 18315+ A? eu.logon.battle.net. (37)
08:55:43.573736 IP 192.168.0.74.50593 > 192.168.0.51.domain: 18315+ A? eu.logon.battle.net. (37)
08:55:43.579074 IP 192.168.0.74.50593 > 192.168.0.51.domain: 18315+ A? eu.logon.battle.net. (37)
08:55:45.575448 IP 192.168.0.74.51030 > 192.168.0.51.domain: 12724+ A? eu.logon.battle.net. (37)
08:55:45.586639 IP 192.168.0.74.51030 > 192.168.0.51.domain: 12724+ A? eu.logon.battle.net. (37)
08:55:45.589454 IP 192.168.0.74.51030 > 192.168.0.51.domain: 12724+ A? eu.logon.battle.net. (37)
08:55:45.593146 IP 192.168.0.74.51030 > 192.168.0.51.domain: 12724+ A? eu.logon.battle.net. (37)
08:55:49.593568 IP 192.168.0.74.51030 > 192.168.0.51.domain: 12724+ A? eu.logon.battle.net. (37)

Все равно разрывает при подключении к серверу =\

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

Нет такого файла или каталога

sudo service ufw restart... или что там в вашей убунте в качестве обертки используется...
ЗЫ: firehol не советую, но на всякий случай упомяну ;)

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

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

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

Пробелема была найдена, для логина требуется 80 порт, теперь не знаю, что делать.. Если я проброшу 80 порт, то народ интернетов не увидит..

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

А что думаете о таком варианте решения?

#192.168.0.51:8080 — шлюз.
#192.168.0.74 — тот компьютер, который мы пропускаем.
#192.168.0.0/32 — подсеть которую шлем в сквид, за исключением конкретного компьютера.
iptables -A INPUT -s lo -j ACCEPT
iptables -A INPUT -s 192.168.0.74 -j ACCEPT
iptables -A INPUT -s 192.168.0.0/32 -p tcp --dport 8080 -m state --state NEW -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -s 192.168.0.74 -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -A POSTROUNTING -s 192.168.0.74 -o eth1 -j MASQUERADE
iptables -t nat -A PREROUTING -s 192.168.0.0/32 -p tcp --dport 80 -j REDIRECT --to-port 8080

iptables -P INPUT DROP
iptables -P FORWARD DROP
DiWorm ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.