Как проверить,что модем работает?

 
+
-
edit
 

digger

аксакал

Есть локальная сеть.В ней есть несколько модемов-раутеров,используемых как гейтвей для выхода в Интернет.Надо проверить,что данный модем выходит в Интернет.Вручную это делается заменой гейтвея и попыткой открыть какой-нибудь сайт.А программно? Вручную нельзя,так как я сижу на уделанном доступе к своему компьютеру,если я подсоединяюсь к не тому модему,я теряю доступ.
 35.035.0
RU спокойный тип #01.03.2015 20:48  @digger#01.03.2015 19:32
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
digger> Есть локальная сеть.В ней есть несколько модемов-раутеров,используемых как гейтвей для выхода в Интернет.Надо проверить,что данный модем выходит в Интернет.Вручную это делается заменой гейтвея и попыткой открыть какой-нибудь сайт.А программно? Вручную нельзя,так как я сижу на уделанном доступе к своему компьютеру,если я подсоединяюсь к не тому модему,я теряю доступ.

короче вариант самый тупой (я бы так не делал а написал бы скрипт который туда сюда менял бы гейты в случае недоступности интернета , но для тупо и сердито попрёт) - поднять на компе виртуалку с сетевой картой в режиме БРИДЖА (не нат), что бы у неё внутри был айпи из той же сети с любой операционкой хоть видна хоть линух (готовый образ операционки можно взять для простоты), и на этой виртуалке менял бы вручную гейт

а по-хорошему у меня был как-то давно шлюз сети небольшого офиса на линухе (сервак), в который втыкались два канала довольно паршивых, так система была такая - для мониторинга каждого канала были выбраны сервера "с той стороны" , в интернете, пинги на которые шли всегда только через один канал (приоритетами на маршрутах ip route) , таким образом пингуя допустим 1.1.1.1 точно проверялся первый канал а пингуя 2.2.2.2 - второй , независимо от того какой был в данный момент дефолтный гейт, ну и собственно переодически проверялось скриптом какой из каналов живой и на него перекидывался трафик из внутренней сети (сесии конечно рвались но кому легко)
 36.036.0
Это сообщение редактировалось 01.03.2015 в 20:58

Floyd

аксакал

digger>

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

Реализовать можно на любом доступном языке: от shell до python

Как-то так :)

PS: Я думал что модемы вымерли как вид :)
 40.0.2214.11540.0.2214.115
Это сообщение редактировалось 01.03.2015 в 21:03
RU спокойный тип #01.03.2015 21:03  @Floyd#01.03.2015 20:57
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
Floyd> Реализовать можно на любом доступном языке: от shell до python
Floyd> Как-то так :)

судя по постановке задачи я подозреваю что мы не с админом говорим а с программистом или пользователем :D

админ бы начал с того что настроил бы на всех модемах-роутерах проброс входящего 22го порта на свой комп внутри офиса после чего при наличии хотя бы одного живого модема спокойно работал бы удалённо с этим компом по SSH

ps
мне кажется тут речь шла не о встроенных модемах а что-то подключенное по ADSL или радио (и тп) к провайдеру и смотрящие в сетку езернетом, при этом их несколько но HSRP они не умеют
 36.036.0
Это сообщение редактировалось 01.03.2015 в 21:10
RU Floyd #01.03.2015 21:10  @спокойный тип#01.03.2015 21:03
+
+1
-
edit
 

Floyd

аксакал

с.т.> судя по постановке задачи я подозреваю что мы не с админом говорим а с программистом или пользователем :D


Если программист:

UPDATE: Неудачный пример, исправился


ioctl: SIOCADDRT; SIOCDELRT

code text
  1. #include <errno.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #include <net/route.h>
  6. #include <sys/types.h>
  7. #include <sys/ioctl.h>
  8.  
  9. int main(char** args) {
  10.   int sockfd;
  11.   struct rtentry route;
  12.   struct sockaddr_in *addr;
  13.   int err = 0;
  14.  
  15.   // create the socket
  16.  if((sockfd = socket(AF_INET, SOCK_DGRAM, 0)))<0){
  17. perror("socket");
  18. exit(1);
  19. }
  20.  
  21.   memset(&route, 0, sizeof(route));
  22.   addr = (struct sockaddr_in*) &route.rt_gateway;
  23.   addr->sin_family = AF_INET;
  24.   addr->sin_addr.s_addr = inet_addr("192.168.2.1");
  25.   addr = (struct sockaddr_in*) &route.rt_dst;
  26.   addr->sin_family = AF_INET;
  27.   addr->sin_addr.s_addr = inet_addr("0.0.0.0");
  28.   addr = (struct sockaddr_in*) &route.rt_genmask;
  29.   addr->sin_family = AF_INET;
  30.   addr->sin_addr.s_addr = inet_addr("0.0.0.0");
  31.   route.rt_flags = RTF_UP | RTF_GATEWAY;
  32.   route.rt_metric = 0;
  33.   if ((err = ioctl(sockfd, SIOCADDRT, &route)) != 0) {
  34.     perror("SIOCADDRT failed");
  35.     exit(1);
  36.   }
  37. }
 40.0.2214.11540.0.2214.115
Это сообщение редактировалось 01.03.2015 в 21:24

digger

аксакал

Спасибо,то что надо,идея понятна,только на Win32 пока не компилируется.Я - юзер и ничего в сетке менять не собираюсь.Модемы - ADSL.Проблема еще круче,чем просто отключение Интернета.VPN загадочным образом и случайно перестает работать через один из модемов и работает через другой,потому надо переключаться.Вообще-то они личные примерно по одному на юзера,но приходится работать так.
 35.035.0

Floyd

аксакал

digger> Спасибо,то что надо,идея понятна,только на Win32 пока не компилируется.Я - юзер и ничего в сетке менять не собираюсь.

Это юниксовый пример, системный вызов ioctl.

У винды есть свой инструмент:

CreateIpForwardEntry function (Windows)

The CreateIpForwardEntry function creates a route in the local computer's IPv4 routing table. A pointer to a MIB_IPFORWARDROW structure that specifies the information for the new route. The caller must specify values for all members of this structure. The caller must specify MIB_IPPROTO_NETMGMT for the dwForwardProto member of MIB_IPFORWARDROW. The function returns NO_ERROR (zero) if the function is successful. If the function fails, the return value is one of the following error codes. Access is denied. This error is returned on Windows Vista and Windows Server 2008 under several conditions that include the following: the user lacks the required administrative privileges on the local computer or the application is not running in an enhanced shell as the built-in Administrator (RunAs administrator). // Дальше — msdn.microsoft.com
 

Хотя проще все скриптами сделать, с помощью обычных команд.


digger> VPN загадочным образом и случайно перестает работать через один из модемов и работает через другой,потому надо переключаться.

Тут вариантов может быть масса.
От качества линии и оборудования, до блокировки конкретного протокола провайдером. К примеру часто блокируют GRE протокол (MS PPTP). В общем, тут надо искать закономерности и траблшутить.
 33.033.0
RU спокойный тип #02.03.2015 09:50  @Floyd#02.03.2015 09:12
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
посмотрел, можно через route add сделать в винде разные маршруты для разных узлов (через разные шлюзы)
и дальше их пинговать (или по другому протоколу пытаться добраться - телнет, http - на выбор смотря что на той стороне) не меняя дефолтного шлюза

а глюки с ВПН бывают от чего угодно, тупо начиная от того что на той стороне обновили сервер или что-то поменяли в его настройках, или где-то по дороге с оборудованием проблемы а MTU слишком большой
 36.036.0
IL digger #02.03.2015 13:52  @спокойный тип#02.03.2015 09:50
+
-
edit
 

digger

аксакал

с.т.> а глюки с ВПН

Не совсем так.Ничего там не меняют и не проблема сети,скорее квота на количество логинов,мегабайт или часов на IP.То есть работает на 1 модем - перестало,перебираешь модемы и находишь,через что работает.Затем опять начинает работать на прежнем.У нас был админ из Америки,бездельник и долбо@б,ничего не выяснил.VPN - Cisco.
 35.035.0
RU спокойный тип #02.03.2015 14:05  @digger#02.03.2015 13:52
+
+1
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
digger> У нас был админ из Америки,бездельник и долбо@б,ничего не выяснил.VPN - Cisco.

ахх )) бабки и пароли админские есть? сейчас починим :-D
 36.036.0

Floyd

аксакал

с.т.>> а глюки с ВПН
digger> скорее квота на количество логинов,мегабайт или часов на IP

Можно на прямую у провайдера узнать. Т.е. открыть саппорт тикет, мол VPN рвется и не работает.
 33.033.0
RU спокойный тип #02.03.2015 15:26  @Floyd#02.03.2015 15:03
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
не совсем понял - на компе обычный клиент MS VPN который коннектится к VPN Cisco которая стоит с "той строны"? или циска где-то рядом с компом тут стоит? или там допустим Aventail или ещё какой VPN стороннийй?
 36.036.0
RU Floyd #02.03.2015 15:51  @спокойный тип#02.03.2015 15:26
+
-
edit
 
IL digger #02.03.2015 21:04  @спокойный тип#02.03.2015 15:26
+
-
edit
 

digger

аксакал

Такая хрень.Что стоит на той стороне - не знаю,и вообще их лучше не дергать,а то поставят принудительный VPN,чего нам совсем не надо.
Прикреплённые файлы:
vpn.JPG (скачать) [601x332, 37 кБ]
 
 
 35.035.0
RU спокойный тип #02.03.2015 21:54  @digger#02.03.2015 21:04
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
digger> Такая хрень.Что стоит на той стороне - не знаю,и вообще их лучше не дергать,а то поставят принудительный VPN,чего нам совсем не надо.

ну тогда можно попробовать с MTU поколдовать

[показать]


и по добадываться до провайдеров ADSL - спросить их про MTU и проблемы с VPN, проверить работает ли обычный интернет на конкретном модеме когда через него VPN отрубается , посмотреть нет проблемы из-за мультилогина - несколько коннектов с одного модема и\или под одним логином\паролем\серфтикатом

чесно говоря с таким клиентом никогда не сталкивался


ps админы у вас в головной конторе - может и лентяи но с пользователями работу поставили туго :D


pss кстати почитал про этот клиент Release Notes for Cisco VPN Client, Release 5.0.07  [Cisco VPN Client] - Cisco Systems


там в частности написано

Linksys Wireless AP Cable/DSL Router Version 1.44 or Higher Firmware Requirement

To use the VPN Client behind a Linksys Wireless AP Cable/DSL router model BEFW11S4, the Linksys router must be running version 1.44 or higher firmware. The VPN Client cannot connect when located behind a Linksys Wireless AP Cable/DSL router model BEFW11S4 running version 1.42.7 firmware. The VPN Client may see the prompt for username/password, then it disappears.


может у тебя похожие роутеры которые имеют проблемы с этим VPN клиентом?
 36.036.0
Это сообщение редактировалось 02.03.2015 в 22:11

Mishka

модератор
★★★
digger> Есть локальная сеть.В ней есть несколько модемов-раутеров,используемых как гейтвей для выхода в Интернет.Надо проверить,что данный модем выходит в Интернет.Вручную это делается заменой гейтвея и попыткой открыть какой-нибудь сайт.А программно? Вручную нельзя,так как я сижу на уделанном доступе к своему компьютеру,если я подсоединяюсь к не тому модему,я теряю доступ.

Коротко, traceroute (tracert в форточках) твой друг. В принципе, можно иметь несколько гэйтов. В лине том же

(evstiomv@sfrcompile01)/<5>hmi:19$ netstat -r
Kernel IP routing table
Destination    Gateway        Genmask        Flags  MSS Window  irtt Iface
192.234.48.0    *              255.255.255.0  U        0 0          0 eth0
169.254.0.0    *              255.255.0.0    U        0 0          0 eth0
default        rsm-unix1.switc 0.0.0.0        UG        0 0          0 eth0


Есть флажки — U обозначает, что данный путь рабочий (раутер должен честно отрабатывать некоторые вещи, чтобы этот флажок был используемым). Заводишь несколько гэйтов с разными весами и они сами разбираются какой использовать.

Поэтому, сидишь в удалёнке на компе А, который в домашней сети. Заходишь через комп А удалённо на комп Б. На компе Б меняешь гэйт и запускаешь трэйс. Если гэйт не рабочий, то связь не потеряешь, т.к. на Б ходишь через локалку и другой маршрут, обозначенный, как "только для местных" — в приведённой таблице первый же вход.

Потом меняешь на третий гэйт и так продолжаешь...

Длинный путь:
1. Профессиональный. Если есть возможность поиметь Cisco в сети, то используешь extended ping & extended traceroute — Using the Extended ping and Extended traceroute Commands - Cisco
2. Домашне линуксовый — две или более карточки (можно попробовать с виртуальными адресами — должно работать), и используешь обычный raceroute с параметром -i. traceroute(8) - Linux man page
 35.035.0
US Mishka #03.03.2015 18:40  @спокойный тип#02.03.2015 15:26
+
-
edit
 

Mishka

модератор
★★★
с.т.> не совсем понял - на компе обычный клиент MS VPN который коннектится к VPN Cisco которая стоит с "той строны"?

Я думаю, что Cisco Anyconnect mobile какой-нибудь. Cisco AnyConnect Secure Mobility Solution - Cisco
 35.035.0
US Mishka #03.03.2015 18:46  @спокойный тип#02.03.2015 21:54
+
-
edit
 

Mishka

модератор
★★★
с.т.> ну тогда можно попробовать с MTU поколдовать

Не-не, MTU может пинг проходит, а вот любые пакеты, объёмом больше (MTU - overheads) — все отваливаются. Т.е. всякие хождения по http, sftp, ftp и прочему уже не пашут. Не говоря о перекачке файлов из общих директорий, музыки, видео и прочего. Если оно работает достаточно длительное время, а потом вырубается, то MTU тут совершенно не при делах. Тут надо искать таймауты. На максисмум сессии, на максимум неактивности и т.д.

с.т.> чесно говоря с таким клиентом никогда не сталкивался

Это предшественник Anyconnect. Вполне работает с сервером OpenSSL.
 35.035.0
RU спокойный тип #03.03.2015 19:38  @Mishka#03.03.2015 18:46
+
-
edit
 

спокойный тип
Спокойный_Тип

старожил
★☆
с.т.>> ну тогда можно попробовать с MTU поколдовать
Mishka> Не-не, MTU может пинг проходит, а вот любые пакеты, объёмом больше (MTU - overheads) — все отваливаются.

ну, на каналах плохого качества наблюдал (слава богу последние несколько лет уже каналы стали приличные практически везде по РФ) переодически внутри VPN переставал трафик ходить, а обычный нормально...качество падало и обычные пакеты пролазили мимо впн, а бОльшие (с оверхедом засчёт VPNа) - не пролазили , в таких случаях уменьшение MTU помогало пока с техподдержкой разбирались


с.т.>> чесно говоря с таким клиентом никогда не сталкивался
Mishka> Это предшественник Anyconnect. Вполне работает с сервером OpenSSL.

возможно, последние годы с SconicWall Aventail - у него свои глюки бывают но именно такого не было

кстати, с каких под OpenSSL умеет впн делать? по впн с поптопом работал, pptp+mpp-чегототам, опенвпн, а openssl только для фрирадиуса в связке с наколеночным 802.x - энтерпрайз (в то время когда циско WLC были ещё диковинкой не виданной)
 36.036.0

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru