( 2012-01-08 )

Очень часто в различных организациях возникает необходимость резервирования интернет-канала на случай каких-либо сбоев. Крупные организации могут позволить себе купить блок IP-адресов и и затем уже покупая каналы у нескольких интернет-провайдеров настроить BGP .

Для небольших компаний такая схема это непозволительная роскошь и обычно небольшие компании просто покупают интернет-каналы у нескольких провайдеров. И имея на каждом из каналов свои независимые адреса и прочие настройки каким-то образом (временами даже в ручную!) настраивают переключение каналов. Далее будет показан один из возможных способов организации автоматического переключения на резервный канал в случае сбоя основного и возврат обратно после восстановления связи.

Внесём немного ясности:

  • Шлюз работает под управлением Debian или Ubuntu Linux;
  • Основной интернет-канал на интерфейсе eth0 с адресом 1.1.1.2/24 и шлюзом 1.1.1.1 (у автора этих строк это ADSL от Таттелекома);
  • Резервный интернет-канал на интерфейсе ppp999 с адресом 2.2.2.2 (у автора этих строк это DOCSIS от ТВТ)

Для начала уточним (на всякий случай) как именно привязать ppp-соединение к ppp-интерфейсу с конкретным номером. Для этого нужно в соответствующий файле в "/etc/ppp/peers&quto; добавить строку:

Ipparam tbt

Кроме того этот интерфейс не должен при подъёме трогать маршрут по умолчанию. Это достигается примерно вот так:

# Следующие строки закомментированы чтобы не трогать маршрут по умолчанию #defaultroute #replacedefaultroute

Это нам пригодиться чуть позже. Сейчас нам нужно описать две дополнительные таблицы роутинга (по одной для каждого провайдера). Для этого в файл "/etc/iproute2/rt_tables" добавим следующие строки:

190 net_tbt 195 net_tattelecom

Теперь нам надо явно указать с какого интерфейса через какую таблицу роутинга искать маршруты. Для этого нужно выполнить вот такие команды (и заодно добавить в "/etc/rc.local" чтобы выполнялись при загрузке):

/sbin/ip rule add from 1.1.1.2 lookup net_tattelecom pref 20000 /sbin/ip rule add from 2.2.2.2 lookup net_tbt pref 20000

Разумеется надо чтобы в нужных таблицах были и нужные маршруты (как минимум маршрут по умолчанию). Для резервного канала это достигается созданием скрипта "/etc/ppp/ip-up.d/tbt" примерно такого содержания:

#!/bin/sh # Если это подключение к ТВТ (вот тут пригождается ipparam!) if [ ${PPP_IPPARAM} = "tbt" ]; then # Заворачиваем трафик через этот интерфейс для соответствующей таблицы /sbin/ip route add default dev ${PPP_IFACE} table net_tbt fi

Для eth0 всё ещё проще: открываем файл "/etc/network/interfaces" и приводим конфигурацию eth0 к такому виду:

Auto eth0 iface eth0 inet static address 1.1.1.2 netmask 255.255.255.0 gateway 1.1.1.1 dns-nameservers 127.0.0.1 metric 100 post-up /sbin/ip route add default via 1.1.1.1 table net_tattelecom

Теперь нужно перезагрузить сервер и после этого сервер будет по умолчанию идти в интернет через eth0, но при этом снаружи будет доступен по обоим каналам. Теперь создадим скрипт "/usr/local/scripts/check_internet.sh" следующего содержания:

#!/bin/sh # Доступность этого хоста будет означать корректную работу оснвного канала # 8.8.8.8 это DNS от Google. За его доступность можно не беспокоиться # А значит вероятность ложного срабатывания минимальна HOST="8.8.8.8" # Файл-флаг. Появляется при переключении на резервный канал LOCKFILE="/tmp/check_internet.lock" # Файл журнала LOGFILE="/var/log/check_internet.log" # Пингуем проверочный хост через основной канал ping -I 1.1.1.2 -c 3 -n -q ${HOST} > /dev/null # Если возникла ошибка (хост не доступен) if [ $? -ne "0" ]; then # Если нет файла-флага if [ ! -f ${LOCKFILE} ]; then # Меняем маршрут по умолчанию в основной таблице роутинга ip route del default ip route add default dev ppp999 metric 100 # Создаём файл флаг touch ${LOCKFILE} # Делаем запись в файл журнала echo `date +"%Y/%m/%d %H:%M:%S"` Internet connection changet to TBT >> ${LOGFILE} fi # Если же всё хорошо else # Если есть файл-флаг if [ -f ${LOCKFILE} ]; then # Меняем маршрут по умолчанию в основой таблице роутинга ip route del default ip route add default via 1.1.1.1 metric 100 # Удаляем файл-флаг rm -f ${LOCKFILE} # Записываем событие в файл журнала echo `date +"%Y/%m/%d %H:%M:%S"` Internet connetction changed to TatTeleCom >> ${LOGFILE} fi fi

Этот скрипт нужно запускать каждую минуту. Для этого в "/etc/crontab" нужно добавить строку:

* * * * * root /usr/local/scripts/check_internet.sh

На этом всё. Приятной работы!

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

Дело в том, что на просторах СНГ действует все больше запретов на различные сайты, поэтому люди ищут способы для обхода этих блокировок. Да и жителям других стран подобные программы также время от времени очень нужны.

Мы собрали 10 наиболее удобных, популярных и просто лучших программ, которые помогают сменить IP адрес. Они используют VPN, прокси и другие технологии для выполнения своей функции. Некоторые из них работают на Андроид, а не только на компьютерах.

1.

Наверное, это самая раскрученная и, соответственно, популярная программа из нашего сегодняшнего ТОПа. И она действительно хороша.

SafeIP позволяет выбирать IP адрес, а также защищать компьютер от следующих угроз:

  • вредоносные и рекламные ресурсы (юзер увидит предупреждение);
  • угрозы, которые проходят через куки;
  • угрозы, которые проходят через Wi-Fi;
  • угрозы, которые проходят через DNS.

Также SafeIP защищает ID браузера и источник. Пользоваться программой очень просто – нужно просто выбрать пункт «IP защита» слева и нажать на желаемый адрес справа.

2.TOR

На втором месте нашего списка расположился более чем известный браузер под названием TOR.

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

3.

Это тоже очень простой инструмент. В нем нет абсолютно никаких дополнительных функций – только смена IP адреса. Это тоже браузер, но в данном случае нужно выбрать IP адрес, а не просто запустить его.

Использовать Chameleon очень легко. Нужно просто нажать на кнопку «Добавить VPN соединение», выбрать страну, из-под которой будете подключаться. Она появится в списке, после чего останется нажать кнопку «Соединить».

Стабильная работа гарантируется. Что немаловажно, программа полностью на русском языке. Кроме стандартной версии на Windows, есть также версии для Mac OS, Linux, iOS и Android.

4.

Главное преимущество Proxy Switcher состоит в просто огромной базе прокси-серверов. Пользователь может подключиться к абсолютно любому из них.

Также в программе есть огромное количество настроек. Для профессионалов этот инструмент – то, что нужно. Впрочем, и любителям он тоже понравится.

5.

А это устанавливаемая программа от одного из самых известных сайтов для скрытия IP адреса.

Работает она предельно просто – Вы запускаете ее, выбираете сервер, то есть просто страну, из которой якобы будете заходить в интернет и нажимаете кнопку «Подключиться».

Под полем выбора страны есть поле для выбора непосредственно адреса выбранного государства. Все предельно просто. HideMe.ru VPN хорошо подходит для Google Chrome и других браузеров.

6.

Это, опять же, целая система, целый инструментарий для защиты от хакеров и всевозможных атак, которые совершаются через интернет. А вместе с этим есть и инструмент для смены IP адреса.

Стоит сказать, что он также очень удобен – можно выбрать страну. Эта возможность есть в бесплатной версии. В платной же можно выбирать и непосредственно адрес, и еще великое множество других параметров.

Как бы там ни было, IP сменить с помощью Free Hide IP получается очень даже успешно. Интересно, что программа также позволяет поставить динамическую смену адреса и даже выбрать время, когда он будет меняться.

7.

Интерфейс Surf Anonymous чем-то похож на внешний вид Free Hide IP, только здесь все несколько проще.

Речь идет о том, что вверху отображается реальный и фальшивый IP адреса. Чтобы выбрать желаемый фэйковый адрес, нужно нажать на кнопку «Select Fake Location» и выбрать государство в открывшемся окне.

Чтобы прекратить работу программы, просто нажмите «Stop Hide». Никаких больше кнопок и настроек здесь попросту нет, так что не запутаетесь.

8.

А вот Auto Hide IP представляет собой, фактически, клон Free Hide IP, если говорить о внешнем виде, только принцип работы у них несколько разный.

Пользователь тоже может выбрать страну и адрес, из-под которого будет заходить во всемирную сеть с помощью кнопки «Choose IP Country» и запустить работу программы кнопкой «Hide IP». Также есть кнопка настроек.

Преимущество Auto Hide IP состоит в том, что здесь есть автоматическая настройка для разных браузеров, но она заставляет соединение работать немного медленнее, чем при использовании Free Hide IP.

9.

Это очень знакомый многим VPN клиент, который имеет версии для самых разных платформ. Проблема лишь в том, что далеко не всегда эта программа работает хорошо в бесплатной версии.

Конечно, если купить Elite Hotspot Shield, все будет работать прекрасно. В любом случае, функционал программы достаточно широкий, а интерфейс простой – Вам нужно только переставить переключатель в положение «Connected» и выбрать страну немного ниже.

Есть еще проблема, связанная с медленным соединением при работе с помощью Hotspot Shield, но она актуальна для всех VPN клиентов.

10.Hide My IP

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

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

Рис. №10. Hide My IP в браузере

Ниже можно видеть обзор одной из программ, представленных выше.

Под Windows? Ведь не всегда есть возможность использовать отдельный комп под pfSense или zeroshell, зато есть какой-нибудь виндовый сервер, через который можно организовать централизованный доступ в интернет. Оказывается, есть решение и в этом случае. Сегодня речь пойдет о маршрутизаторе RusRoute , который разработан нашим соотечественником - Андреем Моисеенко. Для некоммерческого использования программа бесплатна с учетом одного ограничения - максимальное количество пользователей или IP-адресов в вашей сети не больше 15.

Этот программный роутер наделен внушительным набором функций. Роутинг, фаервол, проброс портов, VPN, учет пользователей, биллинг, Captive Portal и пр. Одним словом - круто!

Установка

Чтобы раздавать интернет в локальную сеть, вам понадобится собственно сам комп с Windows и одну или две сетевых карты в нем. Одну если у вас интернет приходит по какому-нибудь модему а-ля 3G и/или с соединением по PPPoE, две - если у вас интернет по выделенке. В моем обзоре будет комп с двумя сетевухами.
В винде надо отключить Брандмауэр Windows, чтобы он не мешался. Сделать это лучше и в его настройках и в системных службах. Установку роутера, конечно, лучше производить из учетной записи с правами администратора. Кстати, в мануале к программе об этом почему-то говорится только когда вы доберетесь до 11-го пункта.
Итак, заходим на официальный сайт проекта, скачиваем exe-файл и начинаем установку. На момент написания обзора была доступна версия 1.8.4. Нам рекомендуют устанавливать роутер в каталог C:RusRoute. Да пусть так и будет…

Жмем кнопку Install, после чего через пару мгновений перед нами появится новое окно с лицензионным согашением. В верхней части окна выбираем русский язык, затем принимаем само соглашение.

Затем перед нами появится вот такое сообщение:


Жмем Продолжить. Выскакивает следующее окно:


Жмем ОК. Затем появляется вот это окно:

Жмем Да и только после этого начинается процесс настройки. Многовато сообщений, однако.
Кстати, пока я делал скриншоты всех этих окон, установщик зачем-то два раза определял архитектуру моего процессора… То ли баг, то ли установщик действительно думает, что в процессе инсталляции я могу успеть сменить начинку ПК? 🙂

Во время установки перед вами появится еще несколько окон, которые будут то появляться, то исчезать и в конце-концов процесс будет завершен. Жмем кнопку Готово.

В системном трее появится вот такой значок:

Если по нему кликнуть, то развернется основное окно всех настроек, однако, если нажать по крестику в верхне-правом углу окна, то программа настройки закроется совсем. На мой взгляд этот момент не до конца продуман. Если нажимаем по крестику, то нас должны спросить: закрыть или свернуть. Ну да ладно, ведь сам роутер при этом будет продолжать работать, т.к. он в системе регистрируется как сервис. Запустить заново программу настройки можно из меню ПускПрограммы или через ярлык на рабочем столе.

Настройка

Итак, вот мы открыли основное окно…

Первое, что бросается в глаза это Demo-режим работы роутера, который скажет вам до свидания через 30 дней. Как заставить это дело работать в бесплатном некоммерческом режиме не совсем понятно, пришлось залезть в мануал к программе. Оказывается, надо по табличке нажать правой кнопкой мыши и выбрать нужный пункт. Во как!

Я нажал пункт «Опционально: переключиться в режим бесплатной версии» после чего вылезло окно, в котором нам сообщают, что максимальное число клиентов = 8.


Отвечаем Да. Затем нам отдельным окном сообщат, что мы можем не активировать бесплатную версию.

В итоге у нас должно получиться примерно вот это.


Тут пишется об ограничении = 15-и адресов. Не совсем понятно как именно они считаются, но по большому счету для нас это не столь важно.
Ладно. Итак, у меня в компе 2 сетевухи. Одна из них смотрит в интернет и получает IP-адрес и все остальное автоматически, а вторая смотрит в локальную сеть. На ней адрес настроен вручную. Еще RusRoute установил в моей системе виртуальный сетевой адаптер, правда, не знаю для чего. Итого три сетевухи. Как написано в мануале, нам нужно убедиться, что роутер правильно распознал наши сетевые адаптеры. Для этого идем в пункт Информация о сетиСетевые адаптеры. Тут нам нужно просто посмотреть что все так.

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

Вот так выглядит мастер. Здесь жмем Далее.

Первым делом надо указать, какая сетевуха у нас смотрит в локальную сеть. Почему-то в правом списке уже присутствует две позиции под названием «Some network» и «VPN».

Зачем они тут - непонятно. Я все это убрал и добавил только одну сетевую карту, которая у меня смотрит в локалку. После этого жмем Далее.

Теперь выбираем подключение к интернету. В правом списке уже присутствуют два пункта pppoe и dialup (я так понял, это на тот случай, если интернет приходит по модему) и я добавил туда одну сетевуху, которая у меня смотрит в интернет. Жмем Далее, после чего нам предложат выбрать сетевой адаптер для подключения через спутник. Мы таким не пользуемся поэтому смело кликаем Далее. Затем нас спросят про спутниковый pptp подключения. Я тоже это пропустил.
Следующий этап - определяем те сервисы, которым разрешен доступ из локальной сети в интернет. Нам будет уже предложен стандартный список разрешенных протоколов, но если промотать этот список до конца, то можно обнаружить небольшой прикол - ALL TCP и ALL UDP. Действительно, весь трафик будет пропускаться без ограничений, а перечисления остальных протоколов нужны, например, для подсвечивания в журнале.

Пока согласимся с настройками по умолчанию и продолжим. Теперь нас попросят определить все разрешенные сервисы для компа с RusRoute в интернет. Я просто нажал Далее. Потом нас спросят про разрешенные сервисы из локалки к роутеру. Тоже согласился с настройкам по умолчанию. И последнее - нужно определить разрешенные сервисы для доступа из интернета к роутеру. Жму Далее.
Следующий этап - «Отображение портов для внешних адресов в адреса и порты локальной сети». Бррр. Из этой фразы новичек точно ничего не поймет, а специалист подумает что за ересь. По-моему это называется форвардинг портов (port forwarding) или просто проброс портов. Мы ничего пробрасывать не будем. Жмем Далее.
Следующий пункт - «Сервисы для маршрутизации между локальными сетями и другими сетями». Просто жмем Далее.
Последним пунктом нас спросят про перенаправление CaptivePortal. Здесь остановлюсь чуть подробнее. Если вы хотите ограничить доступ в интернет с помощью паролей для отдельных пользователей, то галку Captive Portal снимать не нужно. Если нужно просто выпустить всю локальную сеть в интернет, то снимите галку. На IPTV multicast пока заострять внимание не будем.
Последнее диалоговое окно мастера порадовало, где сказано «нажми конец для установки правил..» и кнопка «Конец» внизу формы. 🙂 Как говорится, лучше ужасный конец, чем ужас без конца. На мой взгляд кнопка должна называться «Завершение», «Готово» или «Применить»! Я не видел ни одной программы, где мастер заканчивался бы кнопкой «Конец».

Теперь, когда основные правила фаервола созданы, необходимо нажать кнопку «Применить» в основном окне программы.

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

Важное замечание: на компьютерах в сетевых настройках шлюз по умолчанию (gateway) и DNS сервер должен быть указан IP-адрес компа с RusRoute.
Простой доступ в интернет
Если мы хотим пользоваться только базовыми настройками роутера без всяких паролей на интернет, то во-первых, как я уже отмечал выше нам нужно снять галку Captive Portal в мастере, а во-вторых - отредактировать руками одно правило на фаерволе. Идем в раздел «Правила фаервола», находим в списке правило 6.1 и в колонке Пользователи нажимаем правой кнопкой мыши. В появившемся меню выбираем пункт Редактировать.

В появившемся окне выставляем все галки, как показано на скриншоте ниже, нажимаем ОК и в основном окне программы нажимаем Применить.

Всё, после этих действий вся наша локальная сеть получит беспрепятственный доступ в интернет.

Доступ в интернет по паролям
Для этого сценария в мастере должна быть установлена галка Captive Portal и всё что нам потребуется сделать - создать нужное количество пользователей с нужными параметрами. Идем в меню Пользователи. Где нибудь в пустом месте нажимаем правой кнопкой мыши и в меню выбираем «Добавить пользователя».


Появится окно добавления пользователя:

Здесь есть поля, которые не вызывают никаких вопросов, например, имя (это логин), пароль, комметарий. Но есть настройки, по которым хотелось бы получить некое пояснение. Было бы здорово, если при наведении курсора мыши на некоторые поля и галки появлялась всплывающая подсказка. Самое главное, добавьте «денег» на баланс пользователю, в противном случае интернет ему будет недоступен. Можно сделать вход пользователя без пароля, а по MAC-адресу сетевой карты в его компьютере. Тут есть поле для ввода MAC-адреса и галка «Автоматический вход». Главное, после создания пользователя не забудьте нажать кнопку Применить в основном окне программы.

В процессе изучения роутера нашел еще один ньанс. Созданного ранее универсального пользователя можно отключить только обнулив его баланс. Галка «Отключен» в его настройках почему-то не срабатывает.

Итог

По мере свободного времени мы расскажем об остальных функциях RusRoute, а пока подведем промежуточный итог.
Идея и функционал, надо сказать, выше всяческих похвал, но реализация именно по части удобства не самая лучшая. Это небольшой недостаток, если вы будете использовать RusRoute в самом простом режиме «настроил и забыл». Но если вы каждый день будете в него лазить по несколько раз, например, администрируя пользователей, то удобство управления имеет значение.
Спасибо Андрею за RusRoute. Надеюсь, что этот продукт будет совершенствоваться и дальше.

PS: После выхода обзора мы связались с Андреем и получили от него некоторые комментарии. Материал был существенно дополнен и отредактирован.

Модернизированный скрипт для переключения каналов интернет FreeBSD, с небольшими доработками или возможно даже без них должен работать и на Linux.

Эпопея с каналами интернет продолжается. До сих пор в операционных системах нет простого и удобного штатного способа переключения шлюза по-умолчанию интернет.

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

Один из простых вариантов — скрипт для переключения каналов интернет путем переключения шлюза по-умолчанию операционной системы сервера роутера.

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

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

Консольный скрипт переключения провайдеров интернет (работает в FreeBSD)

cat inet_change.sh #!/bin/sh LANG =ru_RU.KOI8-R; export LANG MM_CHARSET =KOI8-R; export MM_CHARSET # Основной оптика GW1 =10.0.0.2 # Резервный Радио GW2 =10.0.0.3 # Устанавливаем в переменную время и дату в нужном нам формате DT =` date +"%T %d.%m.%Y" ` # Для проверки каналов интернет на работоспособность используем пинг на сервисы Yandex, разные IP для разных каналов # вы можете использовать свои эталонные адреса для проверки # Проверяем добавлены ли маршруты на эталонные IP для проверки, если нет, то добавляем check_node =` netstat -rn | grep "77.88.8.1" | awk "{print $1}" ` if [ "$check_node " ! = "77.88.8.1" ] ; then # добавляем маршрут для Яндекса через оптику для проверки / sbin/ route add 77.88.8.8 $GW1 # через Радио / sbin/ route add 77.88.8.1 $GW2 else fi # Проверяем, если включен основной интернет и файл состояния установлен на резервный канал, то стираем файл состояния # Такая ситуация может возникнуть, например, если сервер был на резервном и потом его резко выключили, # А после включения опять включился основной канал (маршрут по-умолчанию) check_gw =` netstat -rn | grep default | awk "{print $2}" ` if [ "$check_gw " = "10.0.0.2" ] ; then if [ -f / tmp/ .inet_reserv_work ] ; then / bin/ rm / tmp/ .inet_reserv_work / bin/ echo Стираем файл.inet_reserv_work $DT , так как шлюз $GW1 , а не резервный $GW2 ! >> / data/ scripts/ inet_change.log else fi else fi # Проверяем работает ли основной канал is =`/ sbin/ ping -c 7 77.88.8.8 | grep -c "64 bytes" ` if (/ bin/ test $is -gt "4" ) then # Если основной канал работает и файл состояния резервного канала существует, то стираем файл состояния и переключаемся # на основной канал, пишем запись в лог и отправляем письмо администратору о переключении if [ -f / tmp/ .inet_reserv_work ] ; then / sbin/ route change default $GW1 / bin/ rm / tmp/ .inet_reserv_work / bin/ echo Основной канал [ Оптика] включен $DT >>$DT Переключились на Оптику" | mail -s "Интернет переключился" admin@ admin.com -f root@ admin.com else exit fi else # Если основной не работает, то проверяем резервный и переключаемся на него is2 =`/ sbin/ ping -c 7 77.88.8.1 | grep -c "64 bytes" ` if (/ bin/ test $is -gt "4" || / bin/ test $is2 -gt "4" ) then if ! [ -f / tmp/ .inet_reserv_work ] ; then / sbin/ route change default $GW2 / usr/ bin/ touch / tmp/ .inet_reserv_work / bin/ echo Резервный канал [ Радио] включен $DT >> / data/ scripts/ inet_change.log echo "$DT Переключились на Радио" | mail -s "Интернет переключился" admin@ admin.com -f root@ admin.com fi fi

cat inet_change.sh #!/bin/sh LANG=ru_RU.KOI8-R; export LANG MM_CHARSET=KOI8-R; export MM_CHARSET # Основной оптика GW1=10.0.0.2 # Резервный Радио GW2=10.0.0.3 # Устанавливаем в переменную время и дату в нужном нам формате DT=`date +"%T %d.%m.%Y"` # Для проверки каналов интернет на работоспособность используем пинг на сервисы Yandex, разные IP для разных каналов # вы можете использовать свои эталонные адреса для проверки # Проверяем добавлены ли маршруты на эталонные IP для проверки, если нет, то добавляем check_node=`netstat -rn | grep "77.88.8.1" | awk "{print $1}"` if [ "$check_node" != "77.88.8.1" ]; then # добавляем маршрут для Яндекса через оптику для проверки /sbin/route add 77.88.8.8 $GW1 # через Радио /sbin/route add 77.88.8.1 $GW2 else fi # Проверяем, если включен основной интернет и файл состояния установлен на резервный канал, то стираем файл состояния # Такая ситуация может возникнуть, например, если сервер был на резервном и потом его резко выключили, # А после включения опять включился основной канал (маршрут по-умолчанию) check_gw=`netstat -rn | grep default | awk "{print $2}"` if [ "$check_gw" = "10.0.0.2" ]; then if [ -f /tmp/.inet_reserv_work ]; then /bin/rm /tmp/.inet_reserv_work /bin/echo Стираем файл.inet_reserv_work $DT, так как шлюз $GW1, а не резервный $GW2! >> /data/scripts/inet_change.log else fi else fi # Проверяем работает ли основной канал is=`/sbin/ping -c 7 77.88.8.8 | grep -c "64 bytes"` if (/bin/test $is -gt "4") then # Если основной канал работает и файл состояния резервного канала существует, то стираем файл состояния и переключаемся # на основной канал, пишем запись в лог и отправляем письмо администратору о переключении if [ -f /tmp/.inet_reserv_work ]; then /sbin/route change default $GW1 /bin/rm /tmp/.inet_reserv_work /bin/echo Основной канал [Оптика] включен $DT >> /data/scripts/inet_change.log echo "$DT Переключились на Оптику" | mail -s "Интернет переключился" [email protected] -f [email protected] else exit fi else # Если основной не работает, то проверяем резервный и переключаемся на него is2=`/sbin/ping -c 7 77.88.8.1 | grep -c "64 bytes"` if (/bin/test $is -gt "4" || /bin/test $is2 -gt "4") then if ! [ -f /tmp/.inet_reserv_work ]; then /sbin/route change default $GW2 /usr/bin/touch /tmp/.inet_reserv_work /bin/echo Резервный канал [Радио] включен $DT >> /data/scripts/inet_change.log echo "$DT Переключились на Радио" | mail -s "Интернет переключился" [email protected] -f [email protected] fi fi

Скрипт запускается по крону каждую минуту, выполняет описанные процедуры и останавливается до следующей минуты.

Добавляем выполнение в крон.

*/ 1 * * * * root / data/ scripts/ inet_change.sh > / dev/ null 2 >& 1

*/1 * * * * root /data/scripts/inet_change.sh > /dev/null 2>&1

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

Недостатки такого метода переключения.
1. Один из недостатков предыдущих версий — это пинг шлюза провайдера, он устранен, раньше обычно пинговали шлюз и если он недоступен, то переключались. Однако много раз бывало, что шлюз провайдера пингуется, а интернета все равно нет (поломка у провайдера). В данном случае мы пингуем сторонние ресурсы и зависим от надежности и настроек этих ресурсов, ведь если эталонный сервер перестанет отвечать, то скрипт будет переключать интернет, даже если он работает нормально. И если оба сервера не будут отвечать, то вообще не хорошо.

2. Очень давно как-то на одном из провайдеров была такая ситуация — пинг есть, а интернет зафильтрован. В таком случае скрипт тоже не переключит канал. Получается нужно переделывать скрипт на проверку не пингом, а сканировать порт, например 80-й

3. Небольшая задержка до переключения каналов (в пределах 1 минуты).

4. Я не вынес все изменяемые параметры в переменные, это сделаю при очередной доработке, чтобы сразу все оттестировать.

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

6. В данной версии возможность переключаться только между 2 каналами интернет.

Плюсы такого метода.
1. Простота.
2. Не нужно никакого стороннего программного обеспечения.
3. Отправка на почту уведомлений о переключении (для статистики).
4. Скрипт при проверке (пинге) считает количество успешно пройденных «пингов» и если количество больше 4-х из 7, то считается что интернет работает. Необходимое количество «успешных» пингов можно менять.

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


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

Менять созданные профили в NetSetMan (сокращенно от Network Settings Manager) очень легко - достаточно всего лишь выбрать вкладку с нужными настройкам и нажать кнопку "Применить".

Вы заранее вносите нужные установки в отдельные профили, а потом просто переключаетесь на нужный при смене способа соединения!

Основные возможности

NetSetMan позволяет менять:

IP - адрес компьютера в Интернете.

DNS - система, связывающая домены с IP-адресами.

Hosts - текстовый файл с инструкциями для переадресации.

  • IP-адреса;
  • DNS-, WINS- и SMTP-сервера;
  • имя и рабочую группу компьютера;
  • настройки Wi-Fi;
  • сетевые принтеры;
  • записи в файле Hosts;
  • некоторые свойства системы (режим работы монитора, звуковых устройств и конфигурации электропитания).

Кроме того, NetSetMan может выполнять любые BAT, JS или VB-скрипты, что позволяет изменять практически любые настройки, доступные из командной строки и/или благодаря сторонним программам!

Сравнение с аналогом

У NetSetMan существует платная PRO-версия, однако отличия между ними - минимальны. Фактически, заплатив €18, Вы получите:

Proxy - промежуточный сервер между компьютером и Интернетом.
  • право использовать NetSetMan на рабочем ПК ;
  • активируете неограниченное количество профилей настроек;
  • функции смены proxy-сервера, сетевого домена и стартовой страницы браузера.

Поэтому, мне кажется, что более удачно будет сравнить NetSetMan с приложением сторонних разработчиков, под названием WinAgents HyperConf:

По сути, программа WinAgents HyperConf - своеобразный аналог NetSetMan для сисадминов, поскольку предназначена не только для автоматизированной смены настроек сети, но и для поддержания этих настроек в работоспособном состоянии.

Да и лицензия на нее продается минимум на 10 машин. Поэтому для обычного пользователя работать с NetSetMan будет предпочтительнее.

Установка программы

NetSetMan устанавливается, как и все программы: Вы скачиваете архив, открываете его и запускаете инсталлятор, а далее следуете подсказкам мастера.

На первых этапах установки Вам потребуется выбрать язык приложения и принять условия лицензионного соглашения , после чего перед Вами встанет следующий выбор:

Здесь есть три возможных варианта установки:

  1. Стандартная установка - это способ, при котором NetSetMan будет внедрен в систему, как и все обычные приложения. То есть в папке Program Files (по умолчанию) будет создана директория с программой, в которой будут находиться все нужные для работы файлы. При этом настройки утилиты будут сохраняться в реестре системы.
  2. Обновление - позволяет установить более новую копию программы поверх уже установленной у Вас. Данный способ будет доступен только в том случае, если Вы уже раньше пользовались NetSetMan.
  3. Извлечь файлы. Данный способ позволяет просто распаковать все файлы программы в указанную Вами директорию. При этом в реестр ничего не пишется, и Вы можете использовать NetSetMan в качестве portable-приложения.

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

Создание первого профиля

После завершения установки программы перед нами появится ее рабочее окно:

Оно состоит из панели меню (вверху), ряда кнопок (справа от названия программы) и шести вкладок, на которых, собственно, и собраны все возможные настройки.

Для того, чтобы создать первый профиль настроек нужно вызвать контекстное меню требуемой вкладки (например, Set 1):

Первым делом переименуем нашу вкладку во что-нибудь удобное и понятное. Для этого нажмем «Переименовать» и в открывшемся окошке введем подходящее название, например, назовем вкладку - «Дома»:).

После этого нам потребуется еще раз зайти в контекстное меню вкладки и активировать там пункт «Получить все текущие настройки».

Данное действие автоматически заполнит все поля настройками, которые применены у Вас для подключения к Интернету в данный момент:

Помимо того, автоматически заполнить нужные поля Вы можете, нажимая кнопку со стрелочкой, находящуюся справа от нужного поля (см. скриншот выше).

Работа с программой

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

У меня дома подключение от городской локальной сети, поэтому в качестве примера я приведу настройки, которые мне приходится использовать, если я хочу подключиться к Сети у своих родителей:

DNS-сервер - программа, обрабатывающая DNS-запросы.

Как видите, для работы Интернета нам обычно достаточно знать свой IP-адрес и IP нашего DNS-сервера (которым в данном случае выступает модем). Однако случаются и более сложные случаи, с которыми NetSetMan поможет нам справиться.

MAC-адрес (англ. Media Access Control ) - уникальный номер устройства в сети.

Первым таким случаем является проблема смены MAC-адреса сетевой карты.

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

Официально в NetSetMan пока такой возможности нет (хотя автор заявил ее реализацию в ближайшей бета-версии), но зато есть возможность выполнять практически любые скрипты, что существенно повышает функционал программы!

Скрипт можно создать заранее (и потом просто открыть), а можно написать прямо в окне специального встроенного редактора, для доступа к которому нужно активировать галочкой пункт «Скрипт» в нужной вкладке программы и нажать на кнопку справа от названия пункта:

Рассмотрим работу со скриптами на конкретном примере. По умолчанию в Командной строке нет функции смены MAC-адреса, но ее можно реализовать при помощи сторонней консольной программки - macshift .

Данную утилиту Вы найдете в архиве с программой NetSetMan. Все, что Вам потребуется сделать - это распаковать файлы «validmacs.h» и «macshift.exe» (третий файл - необязательно) в корень диска C:\ или в папку C:\Windows .

Консоль (англ. console ) - окно для ввода текстовых команд.

Таким образом, у Вас появилась возможность менять МАС-адрес сетевой карты через консоль. Теперь дело за малым - нужно написать скрипты.

Синтаксис команд macshift - очень прост: macshift -i "Название подключения" 2889-82-002B (нужный адрес).

Вбиваем строку (с измененным на нужный Вам МАС-адрес) в любой редактор типа Блокнота и сохраняем как BAT-файл.

Теперь осталось только открыть созданный файл в редакторе скриптов NetSetMan (см. скриншот выше). Причем время выполнения скрипта можно установить как «До» изменения настроек, так и «После».

Управление файлом Hosts

Рядом с пунктом «Скрипт» находится пункт «Hosts». Его активация позволяет нам вносить изменения в одноименный системный файл, который отвечает за разрешение и переадресацию указанных в нем адресов.

Одним из вариантов использования функции правки данного файла может быть ограничение доступа к некоторым сайтам с Вашего ПК.

Для примера, предлагаю «забанить» сайт vk.com :).

Добиться этого можно, прописав сайту адрес локального хоста (по умолчанию 127.0.0.1 ). Активируем пункт «Hosts» в NetSetMan и при помощи кнопки справа (с изображением многоточия) вызовем окно правки системного хост-файла:

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

После формирования списка нажимаем кнопку «Готово».

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

Таким образом, Вы можете создать профиль, например, для своих детей, в котором ограничить их возможности доступа к определенным сайтам!

Управление свойствами системы

Последняя функция, на которую хотелось бы обратить Ваше внимание - «Свойства системы». Активировав данный пункт в окне NetSetMan, Вы получите возможность, применяя профиль, менять не только сетевые настройки, но и некоторые установки монитора, звука и электропитания:

С возможностями NetSetMan мы разобрались, поэтому пришло время попробовать применить созданные нами профили. Для этого достаточно перейти на нужную вкладку (профиль) и нажать кнопку «Примен.» в верхней правой части окна программы:

При этом откроется окно, в котором будут отображаться все действия, выполненные программой.

Над списком действий находится строка прогресса применения новых установок, а над ней кнопка «Отмена», которая по завершению конфигурирования сети сменится на кнопку «Готово».

Нажимаем последнюю и получаем в свое распоряжение полностью перенастроенное подключение к Интернет!

Дополнительные инструменты и настройки программы

Итак, выше мы уже разобрались с принципом работы программы NetSetMan и рассмотрели подробно некоторые ее возможности. Теперь пришло время познакомиться с некоторыми неосновными, но иногда нужными функциями. Речь пойдет о кнопках на панели инструментов. Их там всего три:

  1. Профили. Данная кнопка вызывает окно управления профилями. К сожалению, в бесплатной версии мы не можем удалить ни один из шести профилей, но зато можем переименовывать их.
  2. Заметка. Эта кнопка позволяет оставлять короткие записи (до 256 символов) с комментариями к активному профилю. Сюда вы, например, можете вставить текст скрипта, чтобы иметь возможность его восстановить в случае потери файла (см. скриншот выше).
  3. Автопереключение. Данная кнопка открывает окно, в котором мы можем настроить автоматическое переключение на Wi-Fi-профиль при обнаружении сигнала открытой сети.

Без должного внимания у нас осталась только строка меню.

Первый пункт - «Профиль» - активирует меню аналогичное контекстному меню, описанному в начале раздела про создание первого профиля. Поэтому описывать его отдельно нет смысла, и мы переходим ко второму пункту - «Опции»:

Здесь у нас имеется три подпункта:

  • импорт;
  • экспорт профилей;
  • и собственно сами «Настройки».

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

Также обратите свое внимание на вкладку «Администрирование». С ее помощью Вы сможете активировать шифрование всех хранящихся в программе данных!

В третьем пункте меню - «Инструменты» - собраны некоторые стандартные ссылки на встроенные в системы средства управления сетевыми подключениями и не только:

Последнее, о чем мне хочется рассказать, - это возможность работы с NetSetMan в «Компактном режиме»:

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

Достоинства и недостатки программы

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

Недостатки:

  • нет встроенной функции смены МАС-адреса сетевой карты;
  • нет встроенного планировщика заданий.

Выводы

Если Вы - современный владелец ноутбука и часто используете его в поездках для выхода в Интернет, то NetSetMan - это незаменимый для Вас инструмент, который позволит навсегда забыть о неудобствах, связанных с изменениями настроек сети.

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

Послесловие

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

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

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

Допустим, Вы используете ноутбук в качестве рабочей машины дома, в офисе и у знакомых. При этом дома Вы «сидите» на ADSL-подключении, на работе в «локалке», а у друзей на «выделенке». А еще в Вашем ноутбуке есть и Wi-Fi, который можно использовать для серфинга в открытых сетях…

И для каждого случая Вам приходится каждый раз лезть в Сетевые подключения и шаманить с настройками! Страшно? Еще бы:) Но сегодня мы узнали, как избавить себя раз и навсегда от этого кошмара при помощи достаточно простой, но практически незаменимой утилитки NetSetMan.

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.