Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
raVen
Зарегистрирован: 28.10.2001 Сообщения: 114 Откуда: Chelyabinsk
|
Добавлено: Вс Сен 08 2002 18:09 Заголовок сообщения: FreeBSD 4-STABLE: передача броадкстов (+) |
|
|
есть FreeBSD 4.6-STABLE, которая является маршуратизатором двух сетей: 192.168.1.0/24 и 192.168.2.0/24. т.е. там что-то закрыто, что-то открыто по мелочи в общем, короче пакеты между подсетями (если они не запрещены на роутере) ходят прекрасно. внимание, вопрос: как сделать, чтобы броадкасты выкинутые кем-либо в одну подсеть доходили летели также и во вторую и наоборот?
при этом неплохо бы, чтобы на эти броадкасты ответ от того, кому они адресованы тоже дошел. подскажите, плз! |
|
Вернуться к началу |
|
|
anthony
Зарегистрирован: 21.05.2002 Сообщения: 845 Откуда: Petrozavodsk
|
Добавлено: Вс Сен 08 2002 19:21 Заголовок сообщения: Почитай про маршрутизацию TCP/IP. Броадкасты ходят только в пределах маски подсети... (-) |
|
|
- |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://www. Гость
|
Добавлено: Пн Сен 09 2002 09:22 Заголовок сообщения: А на фига тебе это нужно? |
|
|
Простейший вариант - настроить машину в качестве BRIDGE и использовать как коммутатор - т.е. использовать одну IP-сеть, а не две. При этом можео использовать IP-фильтрацию, а вот IPX и NetBEUI будут ходить нефильтрованные. Требуется перекомпиляция ядра. RTFM!
Можно попробовать принудительно форвардить IP-пакеты через ipfw или ipf, но я не пробовал и не уверен. Тоже требуется перекомпиляция ядра.
И наконец, можно попытаться решить проблему на уровне приложения - например, для видимости машин в M$-сети предназначен WINS, но он, как и все, сделанное кривыми руками Билла Гейтса, страшно глючит. На FreeBSD в роли WINS может работать Samba. |
|
Вернуться к началу |
|
|
raVen
Зарегистрирован: 28.10.2001 Сообщения: 114 Откуда: Chelyabinsk
|
Добавлено: Ср Сен 11 2002 10:56 Заголовок сообщения: нужно для игрушек (+) |
|
|
нужно для игрушек. т.е. игрушка кидает в сетку броадкаст, сервер ей отвечает. в конторе есть комп-клуб, и шеф из офиса (другая сеть) иногда хочет поиграть с ними со своего компа по ip соединяется и играет, но его еще угадать надо.
>Можно попробовать принудительно форвардить IP-пакеты > через ipfw или ipf, но я не пробовал и не уверен. Тоже > требуется перекомпиляция ядра. а можно про это подробней? |
|
Вернуться к началу |
|
|
Dmitry.Karpov httpwww.pi2 Гость
|
Добавлено: Ср Сен 11 2002 13:59 Заголовок сообщения: На сайт ко мне зайди |
|
|
Перекомпиляние ядра написано у меня на http://www.pi2.ru/prof , конфигуряние ipfw (самые основы) есть в статье про natd. Дальше надо экспериментировать.
Но проще задать игровому серверу определенный IP-адрес и прописать его на шефовской машине в настройках игрушки. А что за игрушка-то? А то, может, перевести ее на IPX (IPX-роутеры пропускают броадкасты), хотя это тоже геморройно...
Подробности на стол, быстро! |
|
Вернуться к началу |
|
|
raVen
Зарегистрирован: 28.10.2001 Сообщения: 114 Откуда: Chelyabinsk
|
Добавлено: Ср Сен 11 2002 17:41 Заголовок сообщения: подробности (+) |
|
|
компилять и конфигурить ядро я умею. ipfw настраивать тоже, но вот как заставить его перекидывать броадкасты нигде не нашел, подскажи, что читать, плз.
подробности: игрушки работают по tcp/ip и это от меня не зависит. у меня в одной подсети комп. клуб в другой офис. люди из офиса (включая меня иногда хотят поиграть с людьми в клубе, т.е. нужно, чтобы они видели сервера комп. клуба, а не угадывали ip методом тыка. вот и все. |
|
Вернуться к началу |
|
|
Dmitry.Karpov httpwww.pi2 Гость
|
Добавлено: Ср Сен 11 2002 18:00 Заголовок сообщения: Я сказал - ВСЕ подробности! :-) |
|
|
Вопрос в том, какие именно игры. Некоторым играм можно назначить выделенный сервер и тем самым зафиксировать IP-адрес. Возможно, некоторые игры умеют сами сканировать IP-адреса в заданном диапазоне.
Если же действовать твоим способом, то надо сделать так: - Запустить trafshow и выяснить, какими пакетами игрушка ищет сервер: надо узнать порт, TCP или UDP, а также IP-адрес назначения (он м.б. 255.255.255.255 или X.Y.Z.255, где X.Y.Z.* - используемая IP-сеть класса C, или типа того, если сеть не класса C). - Написать правило типа ipfw add fwd BroadCast2 [tcp/udp] from X.Y.Z.0/24 to BroadCast1 порт где BroadCast2 - BroadCast игровой сетки BroadCast1 - BroadCast офисной сетки, выясненный с помощью trafshow [tcp/udp] - tcp или udp порт - порт, выясненный с помощью trafshow
IMHO, копать сюда... или ставить Bridge... |
|
Вернуться к началу |
|
|
raVen
Зарегистрирован: 28.10.2001 Сообщения: 114 Откуда: Chelyabinsk
|
Добавлено: Пн Сен 16 2002 16:25 Заголовок сообщения: не получается... (+) |
|
|
с помощью trafshow выяснил, что игрушка плюёт запросы на upd 255.255.255.255. сделал вот такое правило:
ipfw add 2500 fwd 192.168.1.255 udp from 192.168.2.0/24 to 255.255.255.255
по нему проходят пакеты, когда его смотришь, но игрушка все равно сервер в сети 192.168.1.0/24 не видит! что-то в этой цепочке не хватает. по идее пакет, который пришел из сети 192.168.2.0/24 должен перекинуться на 192.168.1.255, т.е. попасть в сеть 192.168.1.0/24 с dst_adr 255.255.255.255. я правильно мыслю? как проверить вылетел ли этот пакет с интерфейса в 192.168.1.0/24?
что ей еще нужно? |
|
Вернуться к началу |
|
|
Dmitry.Karpov Гость
|
Добавлено: Пн Сен 16 2002 20:10 Заголовок сообщения: ipfw умеет делать логи |
|
|
Попробуй заставить ipfw откладывать в лог сообщения о каждом отработанном пакете (кажется, для этого надо компилять ядро с особыми опциями). Или запусти снифер в том сегменте, где стоит игровой сервер. Впрочем, каждое правило ipfw имеет счетчик обработанных им пакетов. Да и проверь, нет ли запретов на передачу таких пакетов...
Возможно, дело в том, что каждое правило ipfw срабатывает дважды - на входе и на выходе, если не указать ни интерфейс, ни in/out.
Возможно, надо форвардить не на 192.168.1.255, а на свой интерфейс 192.168.1.x (т.е. в локальную сетку).
А есть еще mrouting для мультикастов - может, можно научить игрушку искать сервер таким образом или внести 255.255.255.255 в разряд мультикастов... (Я в этой области даже не копался.)
Попробуй все методы и напиши результаты. |
|
Вернуться к началу |
|
|
|