Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Новичкам (http://mangos.ytdb.ru/forumdisplay.php?f=40)
-   -   1 сервер 2 сети (http://mangos.ytdb.ru/showthread.php?t=1853)

feanorco 20.07.2010 22:50

1 сервер 2 сети
 
собственно возникла небольшая проблема.
на даный момент сервер мангос стоит на 1й машине которая имеет 2 сетевые карты и смотрит в 2 сети разных провайдеров. хотелось бы дать возможность пользователям играть одновременно с обоих сетей на одном реалме.
собственно начну с того что есть:
eth0 - смотрит в сеть 10.100.*.* через шлюз 10.100.25.1 имея адрес 10.100.25.2
eth1 - смотрит в сеть 20.10.*.* через шлюз 20.10.15.1 имея адрес 20.10.15.2
в realmd есть две записи: для обоих сетей созданы свои записи вида:
Код:

1 Dal@local        10.100.25.2        8085        1        0        1        0        0.009766        12340
2 FirstIn        20.10.15.2        8085        1        0        1        0        0.009766        12340

в мангос конф:
RealID = 1, 2

все это счастье крутится под Linux, сервер с репозиториев от 17,07,2010 из патчей стоит: античит Бай Каратель, ну собственно и все, а вот толку 0 - первая сеть все видит норм, реалм для второй - вечно недоступен.

Скажите в какую сторону курить мануалы. а то поиск по форумам и гугле так ни к чему более результативному и адекватному в моем понимании чем описано выше так и не приводит

Заранее благодарю за помощь.

tozter 20.07.2010 23:06

Попробуй порт для 2-го реалма поменять на 8086

feanorco 20.07.2010 23:30

сомневаюсь что сие поможет, так как задача стоит не в поднятии 2х реалмов для каждой сети отдельно а в обьединении обеих на 1м реалме.
2. порта - значит стартовать 2 сервера слушающих разные порты.... я подумываю делать уклон в поиске в роутинг или ИПтейблс.. но все же жду ответа о рабочем варианте. так как данная проблема думаю уже у когото встречалась, более того она была и мною решена примерно год назад. но вот был переезд на новое железо сервера - новая система и все такое - в следствии чего я забыл, толь от стадии опьянения, толь от своей глупости, отбекапить конфиги самого сервера.... после чего и возникла данная проблема...

RomanRom2 20.07.2010 23:50

все очень просто. и как обычно существуюет минимум два решения.
старый анекдот:
- даже если вас съели, у вас минимум два выхода!

1. нужно клиенту выдавать адрес из той подсети, с которой он подключился. если подсетей никаких не задано, то дефолтный. для пояснения рассмотрим пример:

локальная подсеть 1 - 192.168.1.0/24, пусть реалм будет 192.168.1.1
локальная подсеть 2 - 172.16.0.0/16, реалм 172.16.1.1

клиент подключается с адреса 192.168.1.111 - нужно выдать адрес реалма 192.168.1.1
так же с подсетью 172.16.0.0

если клиент подключился ни с той ни с той подсети - значит он подключился откуда то из инета, выдать адрес реальный.

что значит выдать адрес: это значит что нужно этот адрес подставлять в реалмлист авторизационного сервера (AS). т.е. с задачей справится только AS. в его коде должен быть такой функционал.

ведь тот адрес, который выдается клиенту, должен быть доступен этому клиенту физически. ну т.е. пинговаться и нормально ходить трафик. (ну ладно ладно, пинговаться не обязательно конечно.)

2. можно не писать код для AS, а обойтись нашими админскими методами. шо мы не админы шоле :yes3:

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

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

Цитата:

Сообщение от feanorco (Сообщение 11010)
а вот толку 0 - первая сеть все видит норм, реалм для второй - вечно недоступен.

подозреваю, что нет записи что нибудь вроде этой:
$IPTABLES -A INPUT -p TCP --dport 8085 -s 20.10.0.0/16 -j ACCEPT

feanorco 20.07.2010 23:59

Цитата:

Сообщение от RomanRom2 (Сообщение 11018)
3. вариант с двумя записями в реалмлисте тоже имеет право на существование, да. только клиентам в одной подсети необходимо подключаться на первый, а из другой - на второй реалм в списке. я ведь правильно понял, что это именно машина с реалмом подключена двумя интерфейсами в обе подсети?

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

xmolex 21.07.2010 10:43

Попробуйте:
RealID = 1
И у второго realmflags в 4.

Vladimir 21.07.2010 12:25

Цитата:

реалм для второй - вечно недоступен.
строка поддерживаемых билдов выставляется автоматически только для родного для mangosd номера realmd, соотвевенно для второго fake-realm надо выставить список поддерживаемых билдов ручками в записи в realmlist, иначем пускать не будет.

feanorco 23.07.2010 12:29

Цитата:

Сообщение от Vladimir (Сообщение 11027)
строка поддерживаемых билдов выставляется автоматически только для родного для mangosd номера realmd, соотвевенно для второго fake-realm надо выставить список поддерживаемых билдов ручками в записи в realmlist, иначем пускать не будет.

СПС именно в этом и было дело. 2жды провтыкал. 1й раз когда сервер перезжал во второй записи не сделал замену. 2й когда тут копипастонул содержимое таблицы.


Текущее время: 13:48. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS