Скрипт для настройки доступа в интернет(pptp)
Собрал себе LiveCD. Чтобы не править каждый раз конфиги для выхода в интернет(а сразу при создании образа вписывать свои настройки не хочу, пусть диск будет хоть в чём-то универсальным), написал скрипт. Это ещё самый первый и черновой вариан, хотя и вполне работоспособный. Буду рад, если подскажете что можно написать по-другому, лучше. Повторюсь, это - черновой вариант, к тому же я не в ладах с английским, поэтому прошу, не смейтесь с комментариев!
Конечно же его можно использовать и на "настольной" системе.
Привожу код:
#!/bin/bash
# <options.pptp>
echo "Lock the port? If insure y"
read lock
if [ $lock == "y" ]
then
echo "lock" > /etc/ppp/options.pptp;
elif [ $lock == "n" ]
then
echo "#lock" > /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Use noauth option?"
read noauth
if [ $noauth == "y" ]
then
echo "noauth" >> /etc/ppp/options.pptp;
elif [ $noauth == "n" ]
then
echo "#noauth" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Refuse EAP?"
read eap
if [ $eap == "y" ]
then
echo "refuse-eap" >> /etc/ppp/options.pptp;
elif [ $eap == "n" ]
then
echo "#refuse-eap" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Refuse CHAP?"
read chap
if [ $chap == "y" ]
then
echo "refuse-chap" >> /etc/ppp/options.pptp;
elif [ $chap == "n" ]
then
echo "#refuse-chap" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Refuse MSCHAP?"
read mschap
if [ $mschap == "y" ]
then
echo "refuse-mschap" >> /etc/ppp/options.pptp;
elif [ $mschap == "n" ]
then
echo "#refuse-mschap" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Use BSD compression?"
read bsd
if [ $bsd == "y" ]
then
echo "#nobsdcomp" >> /etc/ppp/options.pptp;
elif [ $bsd == "n" ]
then
echo "nobsdcomp" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Use deflate compression?"
read defl
if [ $defl == "y" ]
then
echo "#nodeflate" >> /etc/ppp/options.pptp;
elif [ $defl == "n" ]
then
echo "nodeflate" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Require MPPE 128-bit encryption?"
read mppe
if [ $mppe == "y" ]
then
echo "require-mppe-128" >> /etc/ppp/options.pptp;
elif [ $mppe == "n" ]
then
echo "#require-mppe-128" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
# </options.pptp>
# <peer>
echo "Connection name"
read name
touch /etc/ppp/peers/$name
echo "IP to connect"
read ip
echo 'pty "pptp '$ip' --nolaunchpppd"' >> /etc/ppp/peers/$name
echo "Login"
read login
echo "user $login" >> /etc/ppp/peers/$name
echo "Password"
read pass
echo password '"'$pass'"' >> /etc/ppp/peers/$name
echo "defaultroute" >> /etc/ppp/peers/$name
# </peer>
# <connection>
echo "Default gateway"
read gtw
touch /tmp/firstcon
echo "Please, wait 5-10 seconds, then press Control+C"
pppd call $name debug nodetach > /tmp/firstcon
remip=`cat /tmp/firstcon | grep remote | cut -d ' ' -f4`
touch ~/$name.sh
echo "#!/bin/bash
route add -host $ip gw $gtw
route add -host $remip gw $gtw
pppd call $name
sleep '3'
route add default dev ppp0
" > ~/$name.sh
touch ~/dis_$name.sh
echo "#!/bin/bash
killall pppd
route add default gw $gtw
" > ~/dis_$name.sh
# </connection>
clear
echo "Now you can connect to internet"
echo "Type:"
echo "sh ~/$name.sh"
echo "to connect"
echo "and"
echo "sh ~/dis_$name.sh"
echo "to disconnect"
# <options.pptp>
echo "Lock the port? If insure y"
read lock
if [ $lock == "y" ]
then
echo "lock" > /etc/ppp/options.pptp;
elif [ $lock == "n" ]
then
echo "#lock" > /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Use noauth option?"
read noauth
if [ $noauth == "y" ]
then
echo "noauth" >> /etc/ppp/options.pptp;
elif [ $noauth == "n" ]
then
echo "#noauth" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Refuse EAP?"
read eap
if [ $eap == "y" ]
then
echo "refuse-eap" >> /etc/ppp/options.pptp;
elif [ $eap == "n" ]
then
echo "#refuse-eap" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Refuse CHAP?"
read chap
if [ $chap == "y" ]
then
echo "refuse-chap" >> /etc/ppp/options.pptp;
elif [ $chap == "n" ]
then
echo "#refuse-chap" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Refuse MSCHAP?"
read mschap
if [ $mschap == "y" ]
then
echo "refuse-mschap" >> /etc/ppp/options.pptp;
elif [ $mschap == "n" ]
then
echo "#refuse-mschap" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Use BSD compression?"
read bsd
if [ $bsd == "y" ]
then
echo "#nobsdcomp" >> /etc/ppp/options.pptp;
elif [ $bsd == "n" ]
then
echo "nobsdcomp" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Use deflate compression?"
read defl
if [ $defl == "y" ]
then
echo "#nodeflate" >> /etc/ppp/options.pptp;
elif [ $defl == "n" ]
then
echo "nodeflate" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
echo "Require MPPE 128-bit encryption?"
read mppe
if [ $mppe == "y" ]
then
echo "require-mppe-128" >> /etc/ppp/options.pptp;
elif [ $mppe == "n" ]
then
echo "#require-mppe-128" >> /etc/ppp/options.pptp;
else
echo "Please, type y or n"
fi
# </options.pptp>
# <peer>
echo "Connection name"
read name
touch /etc/ppp/peers/$name
echo "IP to connect"
read ip
echo 'pty "pptp '$ip' --nolaunchpppd"' >> /etc/ppp/peers/$name
echo "Login"
read login
echo "user $login" >> /etc/ppp/peers/$name
echo "Password"
read pass
echo password '"'$pass'"' >> /etc/ppp/peers/$name
echo "defaultroute" >> /etc/ppp/peers/$name
# </peer>
# <connection>
echo "Default gateway"
read gtw
touch /tmp/firstcon
echo "Please, wait 5-10 seconds, then press Control+C"
pppd call $name debug nodetach > /tmp/firstcon
remip=`cat /tmp/firstcon | grep remote | cut -d ' ' -f4`
touch ~/$name.sh
echo "#!/bin/bash
route add -host $ip gw $gtw
route add -host $remip gw $gtw
pppd call $name
sleep '3'
route add default dev ppp0
" > ~/$name.sh
touch ~/dis_$name.sh
echo "#!/bin/bash
killall pppd
route add default gw $gtw
" > ~/dis_$name.sh
# </connection>
clear
echo "Now you can connect to internet"
echo "Type:"
echo "sh ~/$name.sh"
echo "to connect"
echo "and"
echo "sh ~/dis_$name.sh"
echo "to disconnect"
06.08.2008 - 22:37 - создать комментарий
[10.08.2008 - 00:03] Anonymous : Мама дорогая (с)...
[04.10.2008 - 14:25] Anonymous : М-да..раньше думал поставить эту ОС. Но теперь вижу, что она придумана для детей, которым нечем заняться. Это для доступа в инет мне нужно будет такой код писать?? Пусть кто придумал эту ОС, тот и пишет...Меня вполне Windows устраивает. Сорри, что не в тему =)
[04.10.2008 - 16:45] vitek : Внимательно читаем то, что было написано выше приведённого кода.
Читаем до просветления.
Это скрипт для настройки выхода в инет с LiveCD, чтобы при каждой загрузки с него не лезть по конфигам, а ответить всего на пару вопросов.
А почему нужно будет лезть по конфигам, если всё настроить можно через гуи? А потому, что мой LiveCD идёт без иксов. А почему он идёт без иксов? А потому, что в таком LiveCd они мне просто не нужны.
Хотите чтобы было всё красиво и через графический конфигуратор - берите debian/ubuntu/mandriva/opensuse/pclinuxos/linuxmint и т.д.
Возможно вы не знаете, что такое LiveCd:
http://ru.wikipedia.org/wiki/LiveCD
Редактировал vitek в 04.10.2008 16:47
[14.10.2008 - 01:00] серж : толком тут добавить нечего, ибо скрипт и впрямь прост как трамвайная ручка. Такие вещи обычно для рутинной работы и применяются - просто и надежно. Для сокращения кода можно исп-ть функцию внесения конкретного параметра в конкретный файл, но это несколько запутает сценарий в целом, зато поспособствует мозговой деятельности )
[17.10.2008 - 12:30] vitek : А можно чуть подробнее о такой функции, то есть о том как она должна работать, осуществить попробую сам уже =). Я несколько чайник в программировании, поэтому интересно всё.
Создание комментария
| Следующая страница | 2 из 40 | Предыдущая страница |
