Форум русскоязычного сообщества Ubuntu


Автор Тема: Battle.net IPTABLES  (Прочитано 1183 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн chikatillo

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Battle.net IPTABLES
« : 30 Май 2011, 18:40:30 »
Есть инет-кафе, ubuntu-server, 2 интерфейса 1-lan, 2 -provider(статический ip); Есть warkraft и Battle.net;
Что бы создавать игру Battle.net нужно на комп(192.168.1.6) в сети пробросить порты:
iptables -A FORWARD -i $INET_IFACE -d 192.168.1.6 -p tcp --dport 6112:6119 -j
$IPTABLES -t nat -A PREROUTING -d $INET_IP -p tcp -m multiport --dports 6112:6119 -j DNAT --to-destination 192.168.1.6

Проблема в следующем - когда создаешь игру на 192.168.1.6 все остальные компы в сети не могу зайти в  Battle.net, и не видят созданню игру... А должны спокойно ходить в Battle.net и подключатся к хосту(как буд-то они в одной сети)
Я так понимаю что когда хост в локальной сети создает то все запросы по этим портам идут на 192.168.1.6...Надо как -то сделать что бы компы в сети понимали что хост находится в локальной сети и не занимал порты (как-то так :))....
« Последнее редактирование: 30 Май 2011, 18:44:50 от chikatillo »

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #1 : 30 Май 2011, 19:05:15 »
iptables -A FORWARD -i $INET_IFACE -d 192.168.1.6 -p tcp --dport 6112:6119 -j
Щито?
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #2 : 30 Май 2011, 23:06:33 »
iptables -A FORWARD -i $INET_IFACE -d 192.168.1.6 -p tcp --dport 6112:6119 -j
Щито?
Ну поидее разрешаем форвардинг в этом направлении, собестенно как по инструкции на опеннете -"Проброс порта внутрь сети через NAT в Linux"
и в тоже время пропускаем всю сеть
$IPTABLES -A FORWARD -p TCP --dport 6112:6119 -s $LAN_IP_RANGE -j ACCEPT
Че-то намутил?
« Последнее редактирование: 30 Май 2011, 23:14:59 от chikatillo »

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #3 : 30 Май 2011, 23:15:06 »
покажи iptables-save
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #4 : 30 Май 2011, 23:38:47 »
(Нажмите, чтобы показать/скрыть)

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #5 : 31 Май 2011, 01:20:19 »
Вы в скрипте, которым эти правила засандаливали, разобрались?
Чую что нет, потому как тут у вас и исходящие и входящие порезаны туго.
Без подробного описания какие сессии и куда открывает батл нет - не разберешься.
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #6 : 31 Май 2011, 13:54:24 »
Да вроде разобрался, этот чуть переделанный мой скрипт....
Единственное что вместо:
-A FORWARD -d 192.168.0.0/16 -i eth2 -p tcp -m tcp --dport 6112:6119 -j ACCEPT
Изночально было так -A FORWARD -d 192.168.1.6 -i eth2 -p tcp -m tcp --dport 6112:6119 -j ACCEPT
Коннект к бателнету происхождит через внешний сервер(Алкар геймс), для того что бы подключатся к другим внешним игрокам  нужны порты 6112:6119, что бы хостить они должы быть доступны в наружу с локального компа(хоста), в данной проблеме я так понимаю когда хостит 192.168.1.6 и порты 6112:6119 начинают заварачиватся на него - вот сдесь и проблема т.к. не понятно как должны пакеты отправляемые на алкар с других компов с локальной сети используя эти же порты для подключения возвращатся назад в локальную сеть на хост, да и после того как хост начинает хостить локальные компы не могут ваще не куда подключится...

Цитировать
Warcraft III:  
Allow port 6112 TCP out and allow established sessions in  
Allow port 6112 TCP in (hosting custom games)  
Allow port 6113-6119 TCP out and in (hosting custom games if you’ve changed the default port in the Options/Gameplay screen)  
Думаю может попробовать заворачивать один порт хосту, кстати в самом варкрафте можно поменять этот порт на любой другой..Да и еще вроде говарится что UDP тоже надо заворачивать а у меня этого нет.
« Последнее редактирование: 31 Май 2011, 14:07:08 от chikatillo »

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #7 : 31 Май 2011, 14:11:57 »
Ога, потому что поиск сервера происходит как раз по UDP.
Помню была даже какая-то самописная программа, для инкапсуляции этого дела, под винду.

Так что копайте дальше. Нужно точно знать необходимый и достаточный траффик для работы баттл нета, тогда будет понятно как его завернуть.
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #8 : 02 Июнь 2011, 17:04:52 »
Поменял порт в игре на 6150 у хоста, добавил udp , можно хостить, толпа с инета заходит, компы в локальной сети могут заходить в игры хостов с инета, но подключится к хосту в сети не возможно , сделал tcpdump клиента:
192.168.100.246 - клиент в сети
(Нажмите, чтобы показать/скрыть)
Думаю проблема в
16:02:57.893235 ARP, Request who-has 192.168.100.246 tell server.pesch.com, length 28
16:02:57.893926 ARP, Reply 192.168.100.246 is-at 00:30:1b:28:00:fd (oui Unknown), length 46
Что делать?
« Последнее редактирование: 02 Июнь 2011, 17:08:32 от chikatillo »

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #9 : 02 Июнь 2011, 17:14:48 »
Проблема в чем - неверный мак?
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #10 : 02 Июнь 2011, 17:26:37 »
Проблема в чем - неверный мак?
Эти строчки говорят что неверный мак?Не пойму причем тут мак...
В чем тогда проблема,как iptables должен понимать что это локальная сеть...?
Начнем по очереди, клиент конектится на сервак алкара по порту 6112, сервак алкара отвечает что хост находится xxx.6150(мой айпи),клиент возвращается назад и тут:
[mss 1460,nop,nop,sackOK], length 0
16:02:57.893235 ARP, Request who-has 192.168.100.246 tell server.pesch.com, length 28
16:02:57.893926 ARP, Reply 192.168.100.246 is-at 00:30:1b:28:00:fd (oui Unknown), length 46

Вот нашел туже проблему но не пойму как он ее решил - http://forums.gentoo.org/viewtopic-t-674501.html
« Последнее редактирование: 02 Июнь 2011, 18:13:29 от chikatillo »

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #11 : 02 Июнь 2011, 18:31:03 »
DNAT-ом и SNAT-ом
вчитывайся
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #12 : 02 Июнь 2011, 18:33:23 »
DNAT-ом и SNAT-ом
вчитывайся
DNAT у меня есть POSTROUTING SNAT попробовать?
$IPTABLES -t nat -A POSTROUTING -p tcp -s 120.0.3.3 --sport 6113 -j SNAT --to 111.111.111.111:6113
 $IPTABLES -t nat -A POSTROUTING -p udp -s 120.0.3.3 --sport 6113 -j SNAT --to 111.111.111.111:6113

« Последнее редактирование: 02 Июнь 2011, 18:35:43 от chikatillo »

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #13 : 02 Июнь 2011, 18:40:34 »
Я бы попробовал адаптировать его сет под твою схему, накатить и посмотреть - как будет работать, а потом сравнить с тем, что у тебя было и понять где собака.
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: Battle.net IPTABLES
« Ответ #14 : 02 Июнь 2011, 18:45:58 »
Вот это зачем, зачем клиенту:
echo -e " - Settings for 120.0.3.3" # client 1
 $IPTABLES -t nat -A PREROUTING -p tcp --dport 6113 -i $EXTIF -j DNAT --to 120.0.3.3
 $IPTABLES -t nat -A PREROUTING -p udp --dport 6113 -i $EXTIF -j DNAT --to 120.0.3.3

 $IPTABLES -t nat -A POSTROUTING -p tcp -s 120.0.3.3 --sport 6113 -j SNAT --to 111.111.111.111:6113
 $IPTABLES -t nat -A POSTROUTING -p udp -s 120.0.3.3 --sport 6113 -j SNAT --to 111.111.111.111:6113

 $IPTABLES -t nat -A PREROUTING -p tcp -d 111.111.111.111 --dport 6113 -j DNAT --to-destination 120.0.3.3:6113
 $IPTABLES -t nat -A PREROUTING -p udp -d 111.111.111.111 --dport 6113 -j DNAT --to-destination 120.0.3.3:6113

Или это он имел ввиду второй хост в сети, нафига тогда клиентом обзывать...

 

Страница сгенерирована за 0.09 секунд. Запросов: 24.