Содержание
Автор(ы) статьи | Поддерживаемые версии Ubuntu |
---|---|
peabody | Все версии |
Краткое описание
Данный скрипт позволяет значительно упростить процесс создания vpn-подключения.
Использование скрипта
1. Скачать архив со скриптом можно отсюда. Например так:1)
ubuntu@ubuntu:~$ wget http://help.ubuntu.ru/_media/wiki/vpn_script.tar.gz
2. Распаковать архив в домашнюю папку. Например так:
ubuntu@ubuntu:~$ tar -xvvf vpn_script.tar.gz
3. Запустить на выполнение скрипт vpn.sh Например, так:
ubuntu@ubuntu:~$ sudo bash ~/vpn_prj/vpn.sh
Использование скрипта в домашних сетях различных провайдеров
Многие провайдеры, использующие VPN, предоставляют пользователям возможность подключения к внутренним сетевым ресурсам без использования VPN. Таким образом, если Вы не можете получить доступ в интернет из-за того, что у Вас не настроен VPN, Вы можете обратиться к внутресетевому ресурсу, на котором доступен данный скрипт. Ниже приведен список провайдеров, на внутренних ресурсах которых расположен данный скрипт, а также все необходимые инструкции по настройке.
Corbina Telecom
Абонентам Corbina Telecom достаточно пройти по этой ссылке: http://help.corbina.ru/internet/install/linux/
Листинг скрипта
На самом деле это не один скрипт, а несколько.
vpn.sh
#!/bin/bash printf "Выберите язык установки / Choose installation language (1 - русский/2 - English): " read i_install if [ $i_install = "1" ]; then bash "$PWD"/vpn_rus.sh elif [ $i_install = "2" ]; then bash "$PWD"/vpn_eng.sh fi exit 0
vpn_rus.sh
#!/bin/bash #path to ppp ppp=/etc/ppp if [[ $(id) != 'uid=0'* ]]; then echo "Только пользователь с правами root может настраивать VPN. Также вы можете воспользоваться командой 'sudo'" exit 1 fi echo "Вас приветствует скрипт для настройки VPN-соединений! Вам будет задано несколько вопросов, и если Вы корректно и точно на них ответите - то получите рабочее VPN-соединение с настроенными маршрутами! Помните - причина 99% ошибок и неудач при настройке VPN с помощью этого скрипта - это банальная невнимательность! Будьте внимательны и успехов Вам!" echo "Итак, приступим!" echo "------------------------" printf "Введите название VPN-соединения (например, corbina или vpn_corbina): " read i_vpn_name echo "------------------------" echo "Выберите пожалуйста, своего провайдера:" echo " 1. Корбина-Телеком" echo " 2. Билайн" echo " 3. Другой" printf "Ваш провайдер? (1/2/3)? " read provider if [ $provider = "1" ]; then prov="Корбина-Телеком" vpn_address="vpn.corbina.net" elif [ $provider = "2" ]; then prov="Билайн" vpn_address="vpn.internet.beeline.ru" elif [ $provider = "3" ]; then prov="Другой" echo "ВНИМАНИЕ! Вы должны отредактировать файл 'route' (он скачивается, как правило, в домашнюю папку, либо лежит в папке vpn_prj, если вы распаковывали архив со скачанным скриптом) т.к. он настроен для работы в Корбине и Билайн. Маршруты для вашего провайдера уточняйте в службе поддержки. Остановите скрипт командой Ctrl+C для завершения скрипта, отредактируйте файл 'route' и запустите скрипт заново из вашей домашней директории." echo "------------------------" printf "Введите свой адрес VPN: " read vpn_address else echo "Вы ввели неправильный вариант ответа. Пожалуйста, запустите скрипт заново." exit 1 fi if [ $provider = "3" ]; then region="3" routes="route" else echo "------------------------" echo "Выберите пожалуйста, ваш регион:" echo " 1. Москва и МО" echo " 2. Санкт-Петербург и ЛО" echo " 3. Другой" printf "Ваш регион? (1/2/3)? " read region if [ $region = "1" ]; then region_name="Москва и МО" routes="route.msk" elif [ $region = "2" ]; then region_name="Санкт-Петербург и ЛО" routes="route.piter" elif [ $region = "3" ]; then region_name="Другой" routes="route" else echo "Вы ввели неправильный вариант ответа. Пожалуйста, запустите скрипт заново." exit 1 fi fi echo "------------------------" printf "Введите ваш логин для доступа в интернет: " read i_login echo "------------------------" printf "Введите ваш пароль для доступа в интернет: " read i_password echo "------------------------" echo "Автоматически определяется адрес вашего шлюза..." i_gw=$(route|grep default|awk '{print $2}') echo "Определено!" echo "IP вашего районного шлюза: $i_gw" if [ $provider = "3" ]; then printf "Районный шлюз определён правильно: (y/n) ? " read i_yn if [ $i_yn = "n" ]; then printf "Введите IP-адрес вашего шлюза: " read i_gw fi else if [[ $i_gw != '10.'* ]]; then echo "К сожалению, IP-адрес шлюза определился неправильно. Он должен иметь вид 10.x.x.x, поэтому Вам нужно ввести его вручную." printf "Введите IP-адрес вашего шлюза: " read i_gw fi fi if [ $region = "2" ]; then routing="Преднастроенные маршруты в файле 'route', т.к. в Санкт-Петербург и ЛО нет поддержки DHCP-маршрутов" i_dhcp="n" else echo "------------------------" echo "Теперь вы должны выбрать метод получения маршрутов. Вы можете выбрать автополучение маршрутов по DHCP или предустановленный набор в файле 'route'" echo "------------------------" printf "Вы хотите получать маршруты через DHCP? ([y]/n)? " read i_dhcp if [ $i_dhcp = "y" ]; then routing="Получение через DHCP" elif [ $i_dhcp = "n" ]; then routing="Преднастроенные маршруты в файле 'route'" if [ $provider = "3" ]; then echo "ВНИМАНИЕ! Вы должны отредактировать файл 'route' (он скачивается, как правило, в домашнюю папку, либо лежит в папке vpn_prj, если вы распаковывали архив со скачанным скриптом) т.к. он настроен для работы в Корбине и Билайн. Маршруты для вашего провайдера уточняйте в службе поддержки. Остановите скрипт командой Ctrl+C для завершения скрипта, отредактируйте файл 'route' и запустите скрипт заново из вашей домашней директории." fi else echo "Вы ввели неправильный вариант ответа. Пожалуйста, запустите скрипт заново." exit 1 fi fi echo "------------------------" printf "Хотите автоматически установить пакет pptp-linux? Отвечайте 'n' если он уже установлен в системе, или у вас устаревший дистрибутив (Debian Etch, Xandros, установленный на Eee PC и т.п.) (y/n): " read i_install if [ $i_install = "y" ]; then pptp_linux="Да" else pptp_linux="Нет" fi echo "------------------------" echo "Проверка введённых данных:" echo " Имя соединения: $i_vpn_name" echo " Провайдер: $prov" if [[ $provider != "3" ]]; then echo " Регион: $region_name" fi echo " Логин: $i_login" echo " Пароль: $i_password" echo " Адрес VPN-сервера: $vpn_address" echo " Шлюз: $i_gw" echo " Настройка маршрутов: $routing" echo " Установка пакета pptp-linux: $pptp_linux" printf "Вся информация верна? (y/n)? " read i_correct if [ $i_correct = "n" ]; then echo "------------------------" echo "Уточните данные и запустите скрипт заново." exit 1 fi if [ $i_install = "y" ]; then echo "Определяется тип вашей системы..." bit=$(uname -m) echo "Тип вашей системы определён как: $bit" echo "Устанавливается $bit версия pptp-linux..." if [ $bit = "i686" ]; then dpkg -i "$PWD"/pptp-linux_1.7.0-2ubuntu2_i386.deb elif [ $bit = "x86_64" ]; then dpkg -i "$PWD"/pptp-linux_1.7.0-2ubuntu2_amd64.deb fi fi if [ $i_dhcp = "y" ]; then cp "$PWD"/rfc3442-classless-static-routes /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-static-routes mv /etc/dhcp3/dhclient.conf /etc/dhcp3/dhclient.conf_bak cp "$PWD"/dhclient.conf /etc/dhcp3/dhclient.conf echo "------------------------" echo "Автонастройка маршрутов через DHCP установлена." fi echo "------------------------" echo "Создаются VPN-параметры..." echo "${i_login} PPTP ${i_password} *" > $ppp/chap-secrets cp "$PWD"/ip $ppp/ip-up > /dev/null printf "${ppp}/ip-up.d/\$6 \$1 \$2 \$3 \$4 \$5 \$6" >> $ppp/ip-up chmod a+x $ppp/ip-up cp "$PWD"/ip $ppp/ip-down > /dev/null printf "${ppp}/ip-down.d/\$6 \$1 \$2 \$3 \$4 \$5 \$6" >> $ppp/ip-down chmod a+x $ppp/ip-down cp "$PWD"/$routes $ppp/ip-up.d/$i_vpn_name printf "route del \$4 dev \$1\n" >> $ppp/ip-up.d/$i_vpn_name printf "route add -host \$4 gw ${i_gw}\n" >> $ppp/ip-up.d/$i_vpn_name printf "do_route add ${i_gw} \n" >> $ppp/ip-up.d/$i_vpn_name printf "route del default \n" >> $ppp/ip-up.d/$i_vpn_name printf "route add default dev \$1 \n" >> $ppp/ip-up.d/$i_vpn_name chmod a+x $ppp/ip-up.d/$i_vpn_name cp "$PWD"/$routes $ppp/ip-down.d/$i_vpn_name printf "do_route del ${i_gw} \n" >> $ppp/ip-down.d/$i_vpn_name printf "route del default \n" >> $ppp/ip-down.d/$i_vpn_name printf "route add default gw ${i_gw}\n" >> $ppp/ip-down.d/$i_vpn_name chmod a+x $ppp/ip-down.d/$i_vpn_name printf "nodeflate\nnobsdcomp\nnoauth\n" > $ppp/options.$i_vpn_name printf "pty \"pptp $vpn_address --nolaunchpppd --nobuffer --loglevel 0\"\n" > $ppp/peers/$i_vpn_name printf "connect /bin/true\n" >> $ppp/peers/$i_vpn_name printf "name ${i_login}\n" >> $ppp/peers/$i_vpn_name printf "remotename PPTP\n" >> $ppp/peers/$i_vpn_name printf "file ${ppp}/options.$i_vpn_name\n" >> $ppp/peers/$i_vpn_name printf "ipparam $i_vpn_name\n" >> $ppp/peers/$i_vpn_name printf "persist\n" >> $ppp/peers/$i_vpn_name printf "maxfail 0\n" >> $ppp/peers/$i_vpn_name printf "lcp-echo-interval 30\n" >> $ppp/peers/$i_vpn_name printf "lcp-echo-failure 4\n" >> $ppp/peers/$i_vpn_name printf "mtu 1460\n" >> $ppp/peers/$i_vpn_name echo "------------------------" echo "Оптимизация настроек соединения выполнена!" echo "------------------------" echo "Автоматическое восстановление соединения после разрыва настроено!" echo "------------------------" echo "Настройка параметров успешно завершена!" echo "------------------------" echo "Перезагрузка сетевых служб..." /etc/init.d/networking restart echo "Выполнено!" echo "------------------------" printf "Вы хотите создать VPN-соединение с интернетом сейчас? ([y]/n)? " read i_vpnstart if [ $i_vpnstart = "y" ]; then echo "------------------------" echo "Запускается VPN-соединение..." pon $i_vpn_name echo "VPN-соединение запущено. Если всё сделано правильно и на счёте есть деньги то Вы в интернете:)" echo "------------------------" echo "Чтобы подключиться к интернету, напечатайте в консоли: sudo pon $i_vpn_name" echo "Чтобы разорвать соединение, напечатайте в консоли: sudo poff" echo "------------------------" echo "Не забудьте сказать спасибо на форуме) По всем вопросам об этом скрипте - http://homenet.corbina.net/index.php?showtopic=199266" else echo "------------------------" echo "Чтобы подключиться к интернету, напечатайте в консоли: sudo pon $i_vpn_name" echo "Чтобы разорвать соединение, напечатайте в консоли: sudo poff" echo "------------------------" echo "Не забудьте сказать спасибо на форуме) По всем вопросам об этом скрипте - http://homenet.corbina.net/index.php?showtopic=199266" fi exit 0
vpn_eng.sh
#!/bin/bash #path to ppp ppp=/etc/ppp if [[ $(id) != 'uid=0'* ]]; then echo "Only root can set up VPN connections. Also you can use 'sudo'." exit 1 fi echo "Welcome to VPN connection setup wizard! You'll be asked a few questions, and if you answer right - you'll get a working VPN connection with correct routing. Remember that 99% mistakes during VPN connection setup using this script is banal inattention. Be attentive and have luck!" echo "So, let's begin!" echo "------------------------" printf "Enter your VPN connection name (e.g. corbina or vpn_corbina): " read i_vpn_name echo "------------------------" echo "Please choose your provider:" echo " 1. Corbina Telecom" echo " 2. Beeline" echo " 3. Other" printf "Your provider is ...? (1/2/3)? " read provider if [ $provider = "1" ]; then prov="Corbina Telecom" vpn_address="vpn.corbina.net" elif [ $provider = "2" ]; then prov="Beeline" vpn_address="vpn.internet.beeline.ru" elif [ $provider = "3" ]; then prov="Other" echo "WARNING! You have to edit 'route' file attached to this script manually as it's configured to work with Corbina and Beeline only. Check your routing settings at your provider's technical support. Stop this script with Ctrl+C, edit 'route' file and then restart script." echo "------------------------" printf "Enter your VPN address: " read vpn_address else echo "You've entered wrong answer. Please restart this script." exit 1 fi if [ $provider = "3" ]; then region="3" routes="route" else echo "------------------------" echo "Please choose your region:" echo " 1. Moscow region" echo " 2. St.Petersburg region" echo " 3. other" printf "Your region is ...? (1/2/3)? " read region if [ $region = "1" ]; then region_name="Moscow region" routes="route.msk" elif [ $region = "2" ]; then region_name="St.Petersburg region" routes="route.piter" elif [ $region = "3" ]; then region_name="other" routes="route" else echo "You've entered wrong answer. Please restart this script." exit 1 fi fi echo "------------------------" printf "Enter your internet login: " read i_login echo "------------------------" printf "Enter your internet password: " read i_password echo "------------------------" echo "Trying to detect your gateway IP automatically..." i_gw=$(route|grep default|awk '{print $2}') echo "Detected!" echo "Your local gateway IP is $i_gw" if [ $provider = "3" ]; then printf "Is this correct? (y/n)" read i_yn if [ $i_yn = "n" ]; then printf "Enter your gateway IP: " read i_gw fi else if [[ $i_gw != '10.'* ]]; then echo "Unfortunately, the gateway IP wasn't detected correctly. It must look like 10.x.x.x, so you have to enter it manually." printf "Enter your gateway IP: " read i_gw fi fi if [ $region = "2" ]; then routing="Pre-set routes are in 'route' file as St.Petersburg and it's region doesn't have DHCP-routing support." i_dhcp="n" else echo "------------------------" echo "Now you have to choose routing setup method. You can choose DHCP routing or pre-set routes in 'route' file." echo "------------------------" printf "Do you want to get routes via DHCP? ([y]/n)? " read i_dhcp if [ $i_dhcp = "y" ]; then routing="via DHCP" elif [ $i_dhcp = "n" ]; then routing="pre-set in 'route' file" if [ $provider = "3" ]; then echo "WARNING! You have to edit 'route' file attached to this script manually as it's configured to work with Corbina and Beeline only. Check your routing settings at your provider's technical support. Stop this script with Ctrl+C, edit 'route' file and then restart script." fi else echo "You've entered wrong answer. Please restart this script." exit 1 fi fi echo "------------------------" printf "Do you want to automatically install pptp-linux package? Answer 'n' if it's already installed or you have old distro (Debian Etch, Xandros on Eee PC etc.) (y/n): " read i_install if [ $i_install = "y" ]; then pptp_linux="Yes" else pptp_linux="No" fi echo "------------------------" echo "Checking gathered information :" echo " Connection name: $i_vpn_name" echo " Provider: $prov" if [[ $provider != "3" ]]; then echo " Region: $region_name" fi echo " Login: $i_login" echo " Password: $i_password" echo " VPN address: $vpn_address" echo " Gateway: $i_gw" echo " Routing setup: $routing" echo " pptp-linux package setup: $pptp_linux" printf "Is this correct? (y/n)? " read i_correct if [ $i_correct = "n" ]; then echo "------------------------" echo "Check the information and restart this script." exit 1 fi if [ $i_install = "y" ]; then echo "Detecting your system type..." bit=$(uname -m) echo "Your system is detected as: $bit" echo "Installing $bit version of pptp-linux..." if [ $bit = "i686" ]; then dpkg -i "$PWD"/pptp-linux_1.7.0-2ubuntu2_i386.deb elif [ $bit = "x86_64" ]; then dpkg -i "$PWD"/pptp-linux_1.7.0-2ubuntu2_amd64.deb fi fi if [ $i_dhcp = "y" ]; then cp "$PWD"/rfc3442-classless-static-routes /etc/dhcp3/dhclient-exit-hooks.d/rfc3442-classless-static-routes mv /etc/dhcp3/dhclient.conf /etc/dhcp3/dhclient.conf_bak cp "$PWD"/dhclient.conf /etc/dhcp3/dhclient.conf echo "------------------------" echo "Routing auto-setup via DHCP installed." fi echo "------------------------" echo "Writing parameters for VPN connection..." echo "${i_login} PPTP ${i_password} *" > $ppp/chap-secrets cp "$PWD"/ip $ppp/ip-up > /dev/null printf "${ppp}/ip-up.d/\$6 \$1 \$2 \$3 \$4 \$5 \$6" >> $ppp/ip-up chmod a+x $ppp/ip-up cp "$PWD"/ip $ppp/ip-down > /dev/null printf "${ppp}/ip-down.d/\$6 \$1 \$2 \$3 \$4 \$5 \$6" >> $ppp/ip-down chmod a+x $ppp/ip-down cp "$PWD"/$routes $ppp/ip-up.d/$i_vpn_name printf "route del \$4 dev \$1\n" >> $ppp/ip-up.d/$i_vpn_name printf "route add -host \$4 gw ${i_gw}\n" >> $ppp/ip-up.d/$i_vpn_name printf "do_route add ${i_gw} \n" >> $ppp/ip-up.d/$i_vpn_name printf "route del default \n" >> $ppp/ip-up.d/$i_vpn_name printf "route add default dev \$1 \n" >> $ppp/ip-up.d/$i_vpn_name chmod a+x $ppp/ip-up.d/$i_vpn_name cp "$PWD"/$routes $ppp/ip-down.d/$i_vpn_name printf "do_route del ${i_gw} \n" >> $ppp/ip-down.d/$i_vpn_name printf "route del default \n" >> $ppp/ip-down.d/$i_vpn_name printf "route add default gw ${i_gw}\n" >> $ppp/ip-down.d/$i_vpn_name chmod a+x $ppp/ip-down.d/$i_vpn_name printf "nodeflate\nnobsdcomp\nnoauth\n" > $ppp/options.$i_vpn_name printf "pty \"pptp $vpn_address --nolaunchpppd --nobuffer --loglevel 0\"\n" > $ppp/peers/$i_vpn_name printf "connect /bin/true\n" >> $ppp/peers/$i_vpn_name printf "name ${i_login}\n" >> $ppp/peers/$i_vpn_name printf "remotename PPTP\n" >> $ppp/peers/$i_vpn_name printf "file ${ppp}/options.$i_vpn_name\n" >> $ppp/peers/$i_vpn_name printf "ipparam $i_vpn_name\n" >> $ppp/peers/$i_vpn_name printf "persist\n" >> $ppp/peers/$i_vpn_name printf "maxfail 0\n" >> $ppp/peers/$i_vpn_name printf "lcp-echo-interval 30\n" >> $ppp/peers/$i_vpn_name printf "lcp-echo-failure 4\n" >> $ppp/peers/$i_vpn_name printf "mtu 1460\n" >> $ppp/peers/$i_vpn_name echo "------------------------" echo "Settings optimization is done!" echo "------------------------" echo "Auto reconnect is set up!" echo "------------------------" echo "Parameters setup succeeded!" echo "------------------------" echo "Restartint network services..." /etc/init.d/networking restart echo "Done!" echo "------------------------" printf "Do you want to establish your VPN connection now? ([y]/n)? " read i_vpnstart if [ $i_vpnstart = "y" ]; then echo "------------------------" echo "Starting VPN connection..." pon $i_vpn_name echo "VPN connection is set up and running. If it's all OK and you pay your internet bills then you're already using Internet :)" echo "------------------------" echo "To connect, type: sudo pon $i_vpn_name" echo "To disconnect: sudo poff" echo "------------------------" echo "Don't forget to thank us at forum) All questions about this script - http://homenet.corbina.net/index.php?showtopic=199266" else echo "------------------------" echo "To connect, type: sudo pon $i_vpn_name" echo "To disconnect: sudo poff" echo "------------------------" echo " Don't forget to thank us at forum) All questions about this script - http://homenet.corbina.net/index.php?showtopic=199266" fi exit 0
route.piter
#!/bin/bash #PATH PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH do_route () { act=$1 gw=$2 #!!Все нижеперечисленные маршруты указаны только для Корбина-Телеком и Билайн!! #-------Общие маршруты для всех регионов--------------: #Локальная сеть: route $act -net 10.0.0.0 netmask 255.0.0.0 gw $gw #corbina.ru, help.corbina.ru, home.corbina.ru route $act -host 89.179.135.67 gw $gw #Форум homenet.corbina.net route $act -host 85.21.72.83 gw $gw #ftp.corbina.net route $act -host 195.14.50.21 gw $gw #SIP-сервер route $act -host 195.14.50.93 gw $gw #Игровые сервера route $act -host 85.21.37.16 netmask 255.255.240.0 gw $gw #Сервер статистики route $act -host 195.14.50.26 gw $gw #Сервер точного времени (NTP) route $act -host 195.14.40.141 gw $gw #Corbina TV Москва+Питер route $act -host 85.21.138.208 netmask 255.255.255.240 gw $gw route $act -host 85.21.52.254 gw $gw route $act -host 85.21.88.130 gw $gw route $act -host 83.102.146.96 netmask 255.255.240.224 gw $gw route $act -net 78.107.23.0 netmask 255.255.255.0 gw $gw #Corbina TV Питер route $act -host 83.102.255.128 netmask 255.255.255.240 gw $gw }
route.msk
#!/bin/bash #PATH PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH iptv=(ifconfig eth0 | grep "inet addr" | sed "s#^\s*inet addr:##" | awk 'IFS=" " {print $1;}') do_route () { act=$1 gw=$2 #!!Все нижеперечисленные маршруты указаны только для Корбина-Телеком и Билайн!! #-------Общие маршруты для всех регионов--------------: #Локальная сеть: route $act -net 10.0.0.0 netmask 255.0.0.0 gw $gw #corbina.ru, help.corbina.ru, home.corbina.ru route $act -host 89.179.135.67 gw $gw #Форум homenet.corbina.net route $act -host 85.21.72.83 gw $gw #ftp.corbina.net route $act -host 195.14.50.21 gw $gw #SIP-сервер route $act -host 195.14.50.93 gw $gw #Игровые сервера route $act -host 85.21.37.16 netmask 255.255.240.0 gw $gw #Сервер статистики route $act -host 195.14.50.26 gw $gw #Сервер точного времени (NTP) route $act -host 195.14.40.141 gw $gw #------------Москва--------------: #Москва - Локальные ресурсы route $act -net 85.21.79.0 netmask 255.255.255.0 gw $gw route $act -net 85.21.90.0 netmask 255.255.255.0 gw $gw #Москва - Почтовый сервер route $act -host 195.14.50.16 gw $gw #Москва - Игровые сервера route $act -host 83.102.231.32 netmask 255.255.255.240 gw $gw route $act -host 85.21.108.16 netmask 255.255.255.240 gw $gw #Corbina TV Москва+Питер route $act -host 85.21.138.208 netmask 255.255.255.240 gw $gw route $act -host 85.21.52.254 gw $gw route $act -host 85.21.88.130 gw $gw route $act -host 83.102.146.96 netmask 255.255.240.224 gw $gw route $act -net 78.107.23.0 netmask 255.255.255.0 gw $gw #IP-TV через VLC route $act -net 233.32.240.0 netmask 255.255.255.0 gw $iptv }
route
#!/bin/bash #PATH PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH do_route () { act=$1 gw=$2 #!!Все нижеперечисленные маршруты указаны только для Корбина-Телеком и Билайн!! #-------Общие маршруты для всех регионов--------------: #Локальная сеть: route $act -net 10.0.0.0 netmask 255.0.0.0 gw $gw #corbina.ru, help.corbina.ru, home.corbina.ru route $act -host 89.179.135.67 gw $gw #Форум homenet.corbina.net route $act -host 85.21.72.83 gw $gw #ftp.corbina.net route $act -host 195.14.50.21 gw $gw #SIP-сервер route $act -host 195.14.50.93 gw $gw #Игровые сервера route $act -host 85.21.37.16 netmask 255.255.240.0 gw $gw #Сервер статистики route $act -host 195.14.50.26 gw $gw #Сервер точного времени (NTP) route $act -host 195.14.40.141 gw $gw }
rfc3442-classless-static-routes
RUN="yes" if [ "$RUN" = "yes" ]; then if [ x"$new_rfc3442_classless_static_routes" != x"" ]; then if [ x"$reason" == x"BOUND" ]; then rfc_routes=($new_rfc3442_classless_static_routes) for(( i=0; i < ${#rfc_routes[@]}; )); do net_length=${rfc_routes[$i]} ((i++)) net_address=(0 0 0 0) for(( j=0; j < $[$net_length / 8 + \ ($net_length % 8 ? 1 : 0)]; j++, i++)); do net_address[$j]=${rfc_routes[$i]} done gateway=(0 0 0 0) for (( j=0; j < 4; j++, i++ )); do gateway[$j]=${rfc_routes[$i]} done old_IFS="$IFS" IFS='.' if [ x"$net_length" == x"32" ]; then /sbin/route add -host "${net_address[*]}" gw "${gateway[*]}" else /sbin/route add -net "${net_address[*]}/$net_length" gw "${gateway[*]}" fi IFS="$old_IFS" done fi fi fi
ip
#!/bin/bash #PATH PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin export PATH #IP-*
dhclient.conf
# Configuration file for /sbin/dhclient, which is included in Debian's # dhcp3-client package. # # This is a sample configuration file for dhclient. See dhclient.conf's # man page for more information about the syntax of this file # and a more comprehensive list of the parameters understood by # dhclient. # # Normally, if the DHCP server provides reasonable information and does # not leave anything out (like the domain name, for example), then # few changes must be made to this file, if any. # send host-name "<hostname>"; #send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; #send dhcp-lease-time 3600; #supersede domain-name "fugue.com home.vix.com"; #prepend domain-name-servers 127.0.0.1; #request subnet-mask, broadcast-address, time-offset, routers, # domain-name, domain-name-servers, host-name, # netbios-name-servers, netbios-scope; #require subnet-mask, domain-name-servers; timeout 30; #retry 60; #reboot 10; #select-timeout 5; #initial-interval 2; #script "/etc/dhcp3/dhclient-script"; #media "-link0 -link1 -link2", "link0 link1"; #reject 192.33.137.209; #alias { # interface "eth0"; # fixed-address 192.5.5.213; # option subnet-mask 255.255.255.255; #} #lease { # interface "eth0"; # fixed-address 192.33.137.200; # medium "link0 link1"; # option host-name "andare.swiftmedia.com"; # option subnet-mask 255.255.255.0; # option broadcast-address 192.33.137.255; # option routers 192.33.137.250; # option domain-name-servers 127.0.0.1; # renew 2 2000/1/12 00:00:01; # rebind 2 2000/1/12 00:00:01; # expire 2 2000/1/12 00:00:01; #} option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes;
Дополнительно
Дополнительно, в архив входят пакеты pptp-linux_1.7.0-2ubuntu2_amd64 и pptp-linux_1.7.0-2ubuntu2_i386 .