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 RealID = 1, 2 все это счастье крутится под Linux, сервер с репозиториев от 17,07,2010 из патчей стоит: античит Бай Каратель, ну собственно и все, а вот толку 0 - первая сеть все видит норм, реалм для второй - вечно недоступен. Скажите в какую сторону курить мануалы. а то поиск по форумам и гугле так ни к чему более результативному и адекватному в моем понимании чем описано выше так и не приводит Заранее благодарю за помощь. |
Попробуй порт для 2-го реалма поменять на 8086
|
сомневаюсь что сие поможет, так как задача стоит не в поднятии 2х реалмов для каждой сети отдельно а в обьединении обеих на 1м реалме.
2. порта - значит стартовать 2 сервера слушающих разные порты.... я подумываю делать уклон в поиске в роутинг или ИПтейблс.. но все же жду ответа о рабочем варианте. так как данная проблема думаю уже у когото встречалась, более того она была и мною решена примерно год назад. но вот был переезд на новое железо сервера - новая система и все такое - в следствии чего я забыл, толь от стадии опьянения, толь от своей глупости, отбекапить конфиги самого сервера.... после чего и возникла данная проблема... |
все очень просто. и как обычно существуюет минимум два решения.
старый анекдот: - даже если вас съели, у вас минимум два выхода! 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. вариант с двумя записями в реалмлисте тоже имеет право на существование, да. только клиентам в одной подсети необходимо подключаться на первый, а из другой - на второй реалм в списке. я ведь правильно понял, что это именно машина с реалмом подключена двумя интерфейсами в обе подсети? Цитата:
$IPTABLES -A INPUT -p TCP --dport 8085 -s 20.10.0.0/16 -j ACCEPT |
Цитата:
|
Попробуйте:
RealID = 1 И у второго realmflags в 4. |
Цитата:
|
Цитата:
|
Текущее время: 13:48. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS