The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Правильный NAT и IPFW"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"Правильный NAT и IPFW"  
Сообщение от viagamer (ok) on 25-Май-08, 18:10 
Здравствуйте, уважаемые.
Просьба о помощи к специалистам, знающим как вo FreeBSD ходят сетевые пакеты.
Суть проблемы в следующем:
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Зона интернет
        195.248.111.111
+++++++++++++++++++++++++++++++++++++++++++++
        | |
=============================================
FreeBsd 6.2    vlan0 ip     195.225.111.111
                 vlan0_alias0 192.225.111.112
        ---------------------------
                 rl1 ip 192.168.30.99
=============================================
        | |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
Локальная сеть

192.168.30.1            192.168.30.112
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Необходимо с помощью ipfw одновременно:
1 Подать интернет в локальную сеть всем.
2 "Пробросить" все пакеты с алиаса 192.225.111.112 внутрь локалки на машину 192.168.30.112
В интернете есть игровой сервер, предоставляющий услуги Battle-net 195.248.111.111. Там принцип такой - сервер выступает в роли чата и соединяет "IP-адреса в один узел (вернее, привязывает их к одному внешнему IP-адресу), вследствии чего Вы и играете между собой. Он нужен только для запуска игры - во время игры хосты с ним не общаются, а сервером игры выступает один из компьютеров, имеющий реальный IP-адрес.

Начинаем мудрить: казалось бы все просто - нужно стартануть nat и расписать firewall.conf:

#/sbin/natd -p 8667 -n vlan0 -f /etc/natdvlan0.conf

листинг natdvlan0.conf:
redirect_address 192.168.30.112 192.225.111.112

листинг firewall.conf:
add 60 divert 8667 ip from any to any via vlan0
add 65500 allow all from any to any

Но при данной конфигурации правильно работает alias только для интернетовских клиентов (с ними 192.168.30.112 может создавать игру и играть - пакеты к нему\от него пробрасываются как от 192.225.111.112). Однако машины из локальной сети 192.168.30.0/24 к нему подсоединиться не могут - очевидно "понимают", что машина находится внутри локальной сети и сеанс на сервере 195.248.111.111 обрывается, не начавшись.
Пробовал разные варианты из примеров - но что творится на интерфейсах - чес слово понять не могу уже 4 дня :). Need HELP.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Правильный NAT и IPFW"  
Сообщение от PavelR (??) on 25-Май-08, 18:40 
Несколько не понял, что куда должно пробрасываться. Но совет в данном случае один:

Открыть несколько консолей (2) и в каждой из них сделать tcpdump -i <interface>
одну для внешнего, вторую для внутреннего.
Ман тцпдамп подскажет как написать условие выборки на экран только интересующих вас пакетов.

Далее крутите натд и файрволл.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Правильный NAT и IPFW"  
Сообщение от viagamer (ok) on 25-Май-08, 19:18 
>Несколько не понял, что куда должно пробрасываться. Но совет в данном случае
>один:
>
>Открыть несколько консолей (2) и в каждой из них сделать tcpdump -i <interface>
>одну для внешнего, вторую для внутреннего.
>Ман тцпдамп подскажет как написать условие выборки на экран только интересующих вас
>пакетов.
>
>Далее крутите натд и файрволл.

спасибо за совет, этим то и занимаюсь 4 дня: даже на большем количестве консолей(natd -v еще добавляет) вот только не получается так, чтобы 192.168.30.0/24 общались с алиасным Ip (192.225.111.112)- они видят локальную машину вот в каком-то из вариантов было:
tracert со 192.168.30.1 на 192.225.111.112:
1 < 1мс 192.168.30.99
2 < 1мс 192.168.30.112
Вот прикол то...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Правильный NAT и IPFW"  
Сообщение от PavelR (??) on 25-Май-08, 20:23 

>количестве консолей(natd -v еще добавляет) вот только не получается так, чтобы
>192.168.30.0/24 общались с алиасным Ip (192.225.111.112)- они видят локальную машину вот
>в каком-то из вариантов было:
>tracert со 192.168.30.1 на 192.225.111.112:
>1 < 1мс 192.168.30.99
>2 < 1мс 192.168.30.112
>Вот прикол то...

ИМХО это нормально.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Правильный NAT и IPFW"  
Сообщение от viagamer (ok) on 26-Май-08, 00:09 
>ИМХО это нормально.

Думается, что на при подключении на Battle-net локальные машины 192.168.30.1 и 192.168.30.112 видны соответственно как 195.225.111.111 и 192.225.111.112 - значит и после того, как начинается сеанс игры, они должны общаться между собой на этих же адресах. Нельзя ли как-нибудь заставить их это делать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "Правильный NAT и IPFW"  
Сообщение от PavelR (??) on 26-Май-08, 06:49 
>>ИМХО это нормально.
>
>Думается, что на при подключении на Battle-net локальные машины 192.168.30.1 и 192.168.30.112
>видны соответственно как 195.225.111.111 и 192.225.111.112 - значит и после того,
>как начинается сеанс игры, они должны общаться между собой на этих
>же адресах. Нельзя ли как-нибудь заставить их это делать?

нужно разделять яйца и зерна.

я не в курсе, как там игровые сервера и машины соединяются друг с другом.
Первоначальный обмен-то они ведут через сервер. Сервер может передать второму клиенту адрес первого как адрес, с которого первый подключился (затранслированный адрес), а может передавать адрес первого как адрес, который сам первый передал при подключении к серверу и который он взял из системы (нетранслированный адрес).

Так что нужно проблему решать по- другому. Настроить какой-нть сервис на локальной машине, пробовать стучаться к нему снаружи (организовать и отстроить проброс айпи). А уже потом лезть и смотреть, получится ли у игрушки запуститься.

ЗАДАЧИ НАДО ДРОБИТЬ НА МЕЛКИЕ ПОДЗАДАЧИ, А ПОТОМ ИХ РЕШАТЬ.

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

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Правильный NAT и IPFW"  
Сообщение от viagamer (ok) on 31-Май-08, 23:57 
Спасибо PavelR за сочувствие.
Задачу решил подняв 3 демона NAT (два на локальном интерфейсе 1 на наружном ) + расписал все в firewall.conf. Локальные компьютеры при работе в интернет ч\з шлюзовую машину  видят друг друга как машины с реальными IP и связь не обрывается :). Если у кого возникнет похожая трабла - могу выложить конфиги.
Проблема решена.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру