Jury Posted March 2, 2007 Posted March 2, 2007 Всем привет, Идею подсказал Игорь Дьяконов в обсуждении клиента "Венеция" - http://www2.nag.ru/forum/index.php?showtopic=34625 Задача: сделать полную диагностику для служб техподдержки. Скрипт должен делать проверку разной сетевой информации и показывать ее абоненту, чтобы тот мог пересказать ее техподдержке. Плюс провайдер может через этот же модуль извещать о планируемых работах в сети, чтобы было меньше звонков с вопросом "а почему". Мы набросали примерный функционал для случая, когда в Интернет ходят через VPN, а внутренние ресурсы доступны и без него. Интересны замечания и дополнения. Случай 1. Если vpn-соединение не установлено: 1. Поиск сетевого интерфейса у которого присутствуют правильные или похожие на правильные настройки IP-адресов. Если не найдено, сообщать об ошибке. Вопрос что такое "правильные настройки" пока открытый. Основная задача на этом шаге - в ворохе разных карт Ethernet, Bluetooth, Firewire, Wi-Fi найти "самую похожую на нормальную карту". 2. Проверка статуса этого соединения (включено/выключено/сетевой кабель не подключен). Может абонент вместо VPN выключил сетевую карту - такое бывает. 3. Проверка правильности маски, шлюза, DNS. Эти данные указываются админом, причем вероятнее всего разные для разных подсетей. 4. Проверка связи со шлюзами (последовательный пинг разной длиной пакетов). Могут быть например два шлюза, один прописывается в настройке TCP, второй в таблице маршрутизации. Проверять надо оба. 5. Проверка связи с DNS (резольвинг какого-то адреса, например vpn-сервера). Не пинг - DNS-сервер может не пинговаться, но на запросы отвечать обязан. Ну и правильно настроенный DNS, никогда не отдаст внутреннему пользователю, адреса внешних DNS-зон. Внешние зоны он будет резольвить только при установленном подключении к интернету. 6. Поиск VPN-соединений в которых прописан правильный vpn-сервер. 7. Проверка параметра VPN "требуется шифрация иначе отключаться", у многих шифрация не поддерживается, поэтому галочка в свойствах vpn-подключения должна отсутствовать. Админ может выключить эту проверку. 8. Проверка типа VPN-подключения. У нас это PPTP, но пользователь может ошибиться и прописать L2TP. 9. Проверка настройки TCP/IP vpn-соединения. Некоторые пользователи пытаются туда прописать сетевые адреса, которые предназначены для Ethernet-соединения. 10. Проверка доступности VPN-сервера. 11. Проверка статуса подключения в биллинговой системе, точный баланс здесь не нужен, достаточно получать состояние договора, например отключен за неуплату, ограниченный доступ и т.д. и т.п. Случай 2. Если vpn-соединение установлено, проверяем все вышеуказанное плюс дополнительно: 1. Резольвинг внешних DNS. 2. Пинг внешних серверов. 3. HTTP GET внешних адресов. Ничего не забыли ? Реализация как я ее вижу - поскольку на вкус и цвет товарища нет, делаем парочку СОМ-объектов с удобным интерфейсом. Дальше на JavaScript пишем некий стандартный набор тестов, а админ при желании может или просто менять их настройки, или дописывать/менять эти скрипты под свои нужды. Результат форматируется в HTML. Вставить ник Quote
Harmer Posted March 2, 2007 Posted March 2, 2007 Ничего не забыли ?А можно кроме шлюзов еще некий адрес попинговать? Ибо, у нас, например, шлюзы за неуплату блокируются. Ну и собсно адрес VPN-сервера проверять. Натыкался пару раз, что вместо адреса сервера какой-то левый телефон вбит. Хотя изначально все было настроено. Чего уж там юзер жамкал - не знаю. Вставить ник Quote
UglyAdmin Posted March 2, 2007 Posted March 2, 2007 Ну и собсно адрес VPN-сервера проверять. Натыкался пару раз, что вместо адреса сервера какой-то левый телефон вбит. Хотя изначально все было настроено. Чего уж там юзер жамкал - не знаю.А это он на дайлер попал, который в интернет через Годурас звонит, а потом нехилые счета за межгород приходят.Вирусу ведь пофиг - дайлап там или VPN, он различий не видит. Вставить ник Quote
Jury Posted March 2, 2007 Author Posted March 2, 2007 А можно кроме шлюзов еще некий адрес попинговать? Ибо, у нас, например, шлюзы за неуплату блокируются.Конечно можно, пинговать это самое простое. Ну и собсно адрес VPN-сервера проверять. Натыкался пару раз, что вместо адреса сервера какой-то левый телефон вбит.Хорошая мысль, добавлю это в список. Вставить ник Quote
EvilShadow Posted March 2, 2007 Posted March 2, 2007 dhcp+готовые впн-профили с инсталлятором снимают большую часть вопросов (названия инструмента для создания профилей не помню, что-то из админпака для Винды). Чем меньше у пользователя возможностей что-либо настраивать, тем меньше вероятность того, что он что-нибудь испортит. Вставить ник Quote
Harmer Posted March 2, 2007 Posted March 2, 2007 Пользователь все равно что-нибудь испортит. :-) Хочется знать, что именно он испортил. Вставить ник Quote
Jury Posted March 2, 2007 Author Posted March 2, 2007 dhcp+готовые впн-профили с инсталлятором снимают большую часть вопросов. Осталось выяснить кто был первым - курица или яйцо. Чтобы скачать программу-настройщика VPN, нужно иметь уже настроенную сеть. Чтобы иметь настроенную сеть, нужна программа-настройщик VPN. Чтобы скачать программу-настройщика VPN, нужно иметь уже настроенную сеть. И т.д. :). Ну разве что на дискетке при подписании договора ее абоненту выдавать. Вставить ник Quote
EvilShadow Posted March 2, 2007 Posted March 2, 2007 (edited) Чтобы скачать программу-настройщика VPN, нужно иметь уже настроенную сеть.Надо. Но при использовании dhcp настройка сводится к включению машины :)Чтобы иметь настроенную сеть, нужна программа-настройщик VPN.Не нужна. Не из инета же Вы ее скачиваете, а из любого места локальной сети, где администратору вздумается ее выложить. Разумеется, в случае pppoe ситуация другая, но во-первых, изначально речь шла о pptp, а во-вторых, микрософтовые тулзы все равно не умеют создавать установщик pppoe :) Edited March 2, 2007 by EvilShadow Вставить ник Quote
ilia_2s Posted March 15, 2007 Posted March 15, 2007 Чувствую я, кончится это тем же, чем закончилась разработка биллинга... Вставить ник Quote
Magnum72 Posted March 22, 2007 Posted March 22, 2007 А мы уже придумали: Контроьлные коды это то что клиент диктует по мере потребностей что либо узнать у него в трубку :) потом эти строки разворачиваются и техподдржка получает то что видит пользователь на экране. еще будут небольшие доработки на этой страничке но основное уже сделано. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.