Настройка VPN клиента в linux, есть предложение сделать универсальный скрипт |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
Настройка VPN клиента в linux, есть предложение сделать универсальный скрипт |
May 12 2006, 17:15
Сообщение
#1
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
Читал тут разные ветки по теме, все всё делают по разному
Поэтому хочется собрать тут OS-независимые наработки в плане проверки разных корбиновских сервисов и затем написать правильный скрипт, который и канал поднимет и роутинг пропишет и если чего отвалится, сам сделает разные проверки, переопределит интерфейсы и шлюзы и заново всё поднимет. Неужели нам слабо?! |
|
|
|
May 12 2006, 17:33
Сообщение
#2
|
|
|
Житель форума ![]() ![]() ![]() Группа: Посетитель Сообщений: 314 Регистрация: 15-April 06 Из: Москва - Дмитровский район Пол: Мужской |
Пожалуй, не нужно.
-------------------- БК (НЕ бойцовский клуб) - моё счастливое детство
|
|
|
|
May 13 2006, 10:27
Сообщение
#3
|
|
![]() Местный ![]() ![]() Группа: Посетитель Сообщений: 143 Регистрация: 12-June 05 |
Если можешь, напиши...
Только вот подойдёт ли он к любому дистрибутиву? Где-то я уже видел подобный скрипт. -------------------- Прокладка между стулом и клавиатурой компьютера - вот причина большинства ошибок системы.........
|
|
|
|
May 13 2006, 11:01
Сообщение
#4
|
|
![]() Местный ![]() ![]() Группа: Посетитель Сообщений: 109 Регистрация: 20-November 05 Пол: Мужской |
Цитата(Wapr Old @ May 12 2006, 18:15) [snapback]771097[/snapback] Читал тут разные ветки по теме, все всё делают по разному Поэтому хочется собрать тут OS-независимые наработки в плане проверки разных корбиновских сервисов и затем написать правильный скрипт, который и канал поднимет и роутинг пропишет и если чего отвалится, сам сделает разные проверки, переопределит интерфейсы и шлюзы и заново всё поднимет. Неужели нам слабо?! Авто(пере)подключение с прописыванием маршрутов есть в Gentoo и SuSE точно (пользуюсь и тем и другим, см. ветку про "офиц." способ для Gentoo). -------------------- [center]"Две вещи действительно бесконечны: вселенная и человеческая глупость. Впрочем, про вселенную я ещё не уверен" (Альберт Эйнштейн)[/center]
|
|
|
|
May 14 2006, 23:08
Сообщение
#5
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
Цитата(wanderer_mg @ May 13 2006, 12:01) [snapback]773744[/snapback] Авто(пере)подключение с прописыванием маршрутов есть в Gentoo и SuSE точно (пользуюсь и тем и другим, см. ветку про "офиц." способ для Gentoo). И как этот "официальный" способ справляется с ошибкой vpn.corbina.net? Я пользую этого провайдера всего 2 месяца, а проблем наловил больше чем на стриме за 3 года. Поэтому если я отсюда не слиняю, скрип я конечно сделаю, но он получится только для меня и под мой конфиг. На этом позвольте откланяться, я хотел как лучше. |
|
|
|
May 19 2006, 20:17
Сообщение
#6
|
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Посетитель Сообщений: 2,383 Регистрация: 31-October 05 Пол: Мужской |
Aike написал уже такой bash скрипт под debian
|
|
|
|
May 20 2006, 15:17
Сообщение
#7
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
Цитата(TWINc @ May 19 2006, 21:17) [snapback]1056418861[/snapback] Aike написал уже такой bash скрипт под debian Это тот, который тут? Ну так он ничего такого не делает и автоматизирует только создание файлов, которые никогда и так не меняются. |
|
|
|
May 22 2006, 00:47
Сообщение
#8
|
|
![]() Профи ![]() ![]() ![]() ![]() Группа: Посетитель Сообщений: 2,383 Регистрация: 31-October 05 Пол: Мужской |
Wapr Old, ну да... а что еще надо?
|
|
|
|
May 22 2006, 14:14
Сообщение
#9
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
Многое. Ведь чем фиксированные файлы генерить скриптом, проще их выложить готовыми, разницы никакой. Тем более, что второй-же пост сообщает, что всё равно не получается
|
|
|
|
Jun 5 2006, 10:27
Сообщение
#10
|
|
|
пользователь Корбины ![]() ![]() ![]() ![]() ![]() Группа: Посетитель Сообщений: 5,074 Регистрация: 14-April 06 Из: Москва, ЦАО, Мещанский Пол: Мужской |
Wapr Old,
не знал что по доменному имени можно тупо стучаться до неработающего сервера, когда рядом есть работающий. я тут начал было автоматизировать ASPLinux11 & VPN но пока забросил, т.к. нет времени. Правда меня заботили другие проблемы, те которых в форточках у меня не возникает. Хотя в последнее время возникла еще проблема с тем что из-за глюков свича корбиновского у меня не восстанавливается нормально работа и самой сетевухи, поэтому скриптик думаю и для нее написать с проверкой линии. -------------------- [center] жизнь - это экзамен, сдай его на отлично :) [/center]
|
|
|
|
Jun 5 2006, 13:56
Сообщение
#11
|
|
![]() Житель форума ![]() ![]() ![]() Группа: Посетитель Сообщений: 612 Регистрация: 30-March 06 Пол: Мужской |
под каждую ос свой скрипт. к примеру под АСПом существует pptp (pptp-command иже с ним), а под слакой мне удалось поднять VPN только через pppd
-------------------- [center]http://skyfi.org.ru
скорость интернета - http://skyfi.org.ru/skorost.html[/center] |
|
|
|
Jun 5 2006, 17:45
Сообщение
#12
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
Цитата(skyfi @ Jun 5 2006, 14:56) [snapback]1056473953[/snapback] под каждую ос свой скрипт. к примеру под АСПом существует pptp (pptp-command иже с ним), а под слакой мне удалось поднять VPN только через pppd А его так и надо поднимать. Разве нет? Повторюсь ещё раз. Ни один стандартный ОСовый скрипт не решает проблем, описанных в первом посте. Тем более, что pptp это не скрипт а демон. А все скрипты автоматизации из альтов, дебиана и прочих джент так или иначе в результате запускают абсолютно стандартные линукс программы типа iptables, route, iproute2 и т.п. Потому я и надеялся, что можно сделать ОС-независимый скрипт. PS: мой скрипт уже сумел успешно пережить сегодняшнюю недоступность впн серверов Сообщение отредактировал Wapr Old - Jun 5 2006, 17:54 |
|
|
|
Jun 5 2006, 18:20
Сообщение
#13
|
|
|
пользователь Корбины ![]() ![]() ![]() ![]() ![]() Группа: Посетитель Сообщений: 5,074 Регистрация: 14-April 06 Из: Москва, ЦАО, Мещанский Пол: Мужской |
Wapr Old,
так делись скриптом, не жадничай -------------------- [center] жизнь - это экзамен, сдай его на отлично :) [/center]
|
|
|
|
Jun 5 2006, 19:17
Сообщение
#14
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
Цитата(desenix @ Jun 5 2006, 19:20) [snapback]1056474615[/snapback] Wapr Old, так делись скриптом, не жадничай Поделюсь когда/если отлажу по человечески, а не так как сейчас. Но повторю ещё раз - этот скрипт заточен под мою систему. И так и будет пока все будут делать только под себя. |
|
|
|
Jun 5 2006, 19:28
Сообщение
#15
|
|
|
пользователь Корбины ![]() ![]() ![]() ![]() ![]() Группа: Посетитель Сообщений: 5,074 Регистрация: 14-April 06 Из: Москва, ЦАО, Мещанский Пол: Мужской |
Wapr Old, я не против, но может я его под себя переделаю.
-------------------- [center] жизнь - это экзамен, сдай его на отлично :) [/center]
|
|
|
|
Jun 25 2006, 14:58
Сообщение
#16
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
ну ладно, буду постепенно выкладывать мои мысли, а там как получится...
Переменные: Код bc="/usr/bin/bc" # интерпретатор математических выражений pptp="/usr/sbin/pptp" rcroute="/etc/rc.d/rc.route" route="/sbin/route" gw="10.172.0.17" vpnlist="195.14.40.6 195.14.40.7 195.14.40.8 195.14.40.9 195.14.40.13 195.14.40.14 195.14. vpn="" gw_reserv="10.0.0.2" # резервный GW на случай отказа VPN count_novpn=0 # счётчик отсутствия VPN limit_novpn=5 # граница отсутствия основного канала tmin=100000 # ms found=1 pppstatus="/www/pppstatus" count=1 log="/var/log/pptp_corbina.log" BR="<br>\n" Главный цикл: Код while true; do pptp_num=`ps axw | grep "pptp:" | wc -l` # сколько процессов? if [ $pptp_num -lt 2 ]; then # pptp упал полностью или частично killall pptp 2>/dev/null # убиваем остатки sleep 5 ping_vpn # найдём и пропингуем VPN if [ "$found" -eq "0" ]; then # если удачно count_novpn=0 $rcroute restart >/dev/null 2>>$log # обновим роутинг $pptp $vpn remotename PPTP name waprold noauth else # подключим резервный GW ((count_novpn+=1)) $route add default gw $gw_reserv dev eth2 >>$log echo "count_novpn=$count_novpn" >> $log #debug if [ $count_novpn -gt $limit_novpn ]; then # туду: послать письмо send_msg waprold # сообщение админу, т.е. мне :) count_novpn=0 # сбросим счётчик fi fi fi sleep 60 done комментарии и указывание ляпов приветствуется (29.06 изменил главный цикл) Сообщение отредактировал Wapr Old - Jun 29 2006, 11:26 |
|
|
|
Jun 25 2006, 15:20
Сообщение
#17
|
|
|
пользователь Корбины ![]() ![]() ![]() ![]() ![]() Группа: Посетитель Сообщений: 5,074 Регистрация: 14-April 06 Из: Москва, ЦАО, Мещанский Пол: Мужской |
Wapr Old, если в ПН мне пончинят свич, то займусь твоим скриптом ))
кстати ВПН лист можно формировать через nslookup а шлюз брать из настроек или логов, как это реализовано у меня в скрипте, можешь пользовать А скриптик как фоновый процесс запускаешь ? -------------------- [center] жизнь - это экзамен, сдай его на отлично :) [/center]
|
|
|
|
Jun 25 2006, 18:52
Сообщение
#18
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
desenix Про nslookup, а также host и dig я знаю, но это список серверов по умолчанию, на случай падения корбиновского DNS
Код root@main:/etc/ppp# host vpn.corbina.ru vpn.corbina.ru has address 195.14.40.15 vpn.corbina.ru has address 195.14.40.6 vpn.corbina.ru has address 195.14.40.7 vpn.corbina.ru has address 195.14.40.8 vpn.corbina.ru has address 195.14.40.9 vpn.corbina.ru has address 195.14.40.13 vpn.corbina.ru has address 195.14.40.14 Да, запускается в фоне из стартового скрипта /etc/rc.d/rc.pptp Код #!/bin/sh # Start pppd over pptp wr_path="/etc/ppp" wr_name="corbina.sh" wrapper=$wr_path/$wr_name start() { echo -n "Starting pppd... " if [ -x $wrapper ]; then $wrapper & echo ' OK' fi } stop() { echo -n "Shutting down pppd... " killall "$wr_name" sleep 2 killall pppd echo ' OK' } Попробую воспользоваться твоим способом получения данных DHCP. Правда у меня отсутствет каталог "/var/lib/dhcp/", а заодно и файл "dhclient-$ifgw.leases", но зато есть файл "/etc/dhcpc/dhcpcd-eth0.info" простейшего формата name=value Сообщение отредактировал Wapr Old - Jun 25 2006, 19:21 |
|
|
|
Jun 25 2006, 19:17
Сообщение
#19
|
|
|
пользователь Корбины ![]() ![]() ![]() ![]() ![]() Группа: Посетитель Сообщений: 5,074 Регистрация: 14-April 06 Из: Москва, ЦАО, Мещанский Пол: Мужской |
Wapr Old, а как без DNS в нете лазить ?))
или используется еще альтернативный внешний DNS ? -------------------- [center] жизнь - это экзамен, сдай его на отлично :) [/center]
|
|
|
|
Jun 25 2006, 19:22
Сообщение
#20
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
разумеется. на корбиновских днс свет клином не сошёлся
|
|
|
|
Jun 25 2006, 19:55
Сообщение
#21
|
|
|
пользователь Корбины ![]() ![]() ![]() ![]() ![]() Группа: Посетитель Сообщений: 5,074 Регистрация: 14-April 06 Из: Москва, ЦАО, Мещанский Пол: Мужской |
Wapr Old, прям везде себе соломинку подстелил ))
-------------------- [center] жизнь - это экзамен, сдай его на отлично :) [/center]
|
|
|
|
Jun 25 2006, 21:53
Сообщение
#22
|
|
![]() Новичок ![]() Группа: Посетитель Сообщений: 73 Регистрация: 24-March 06 Из: Орехово-Борисово Южное Пол: Мужской |
Отнюдь нет. Пока я её заготавливаю только
Сообщение отредактировал Wapr Old - Jun 25 2006, 21:55 |
|
|
|
![]() ![]() |
| Текстовая версия | Сейчас: 3rd September 2010 - 05:06 |