[sisyphus] Новый инитскрипт для pptp-client

Sergey Plyukhin =?iso-8859-1?q?sergey_=CE=C1_sergey=2Eiks=2Eru?=
Вс Июн 1 06:00:09 MSD 2003


On 14:52 Sat 31 May     , Yura Zotov wrote:
> > > 3. теперь этот скрипт НЕ устанавливает HOSTNAME, так что если, вам
> > >    нужно менять имя машины после старта туннеля, делайте это из
> > >    /etc/ppp/ip-up.local
> > опять получается "слишком глобальное" изменение для dial-up
> > >
> 
> Лично я пользуюсь и диалапом, и PPTP совершенно свободно и
> независимо, поэтому никаких проблем не вижу. Вероятно, надо
> просто похитрее написать скрипты ip-up.*
> 
> Я делаю так:
> 
> /etc/ppp/peers/tunnel_name:
> ...
> ipparam "tunnel_name"
> ...
получается "ссылка сам на себя"
нужное слово уже есть в имени файла
> 
> ============/etc/ppp/ip-up.local=======================
> #!/bin/sh
> 
> SCRIPT=/etc/ppp/ip-down.$6
здесь не опечатка?
> 
> [ -x $SCRIPT ] && $SCRIPT $@
> 
> всё, в этом файле больше ничего нету.
> 
> ============/etc/ppp/ip-up.tunnel_name==================
> #!/bin/bash
> 
> interface_name=$1
> local_IP_address=$3 
> remote_IP_address=$4
> ipparam=$5
> 
> #echo -e "$interface_name\n$tty_name\n$speed\n$local_IP_address\n$remote_IP_address\n$ipparam"> /ip-up.pptp.out
> 
> emails_file=/etc/ppp/email.list
> MAX_RETRIES=10
> 
> restart_service()
> {
> 	/sbin/service $1 restart &> /dev/null
а не получится тут разрыв связи модемом?
> }
> 
> ip2mail()
> {
> 	for mail_address in `cat $emails_file`
> 	do
> 		echo -e "Name: $HOSTNAME\nIP: $local_IP_address" | mail -s "New IP" "$mail_address"
> 	done
> }
> 
> i=0
> while [ $i -le $MAX_RETRIES ]
> do
> 	i=$((i+1))
> 	HOSTNAME=`host $local_IP_address | awk '/domain name pointer/ { sub(/\.$/, ""); print $5 }'`
> 	if [ "x$HOSTNAME" != "x" ]; then
> 		hostname $HOSTNAME
> 		initlog -s "Hostname set to $HOSTNAME" -n "ip-up.pptp"
> 		restart_service ntpd
> 		restart_service postfix
> 		ip2mail
> 		exit 0
> 	else
> 		ERROR_MSG="Hostname lookup failed "
> 		mail -s "ip-up.pptp: $ERROR_MSG" root на localhost
> 		sleep 2
> 	fi
> done
> 
> Соответственно, в ip-up.tunnl_name можно и route делать и всё,
> что хочешь. А все остальные соединения остаются как есть, так как
> в /etc/ppp/ip-up.local идёт выбор скрипта по ipparam.
в примере как-то "обще" и нет ничего об удалении маршрутов 
после опускания туннеля. Но это, конечно, поправимо :-)
> Единственное что нужно делать -- это использовать ipparam. 
> 
> Т.о. получается, что PPTP-туннель легко делается независимым и не
> влияющим на остальные PPP-соединения.
именно этого и надо :-)
> 
> Ваши замечания?
получается "новый" /etc/ppp/ip-up.tunnel_name  "почти калька" с 
существующего /etc/ppp/peers/__default. Может просто в этот файл и
добавить необходимые изменения?
Или существует какая-то иная причина и необходимо отказаться именно от
/etc/ppp/peers ?

В принципе все-равно откуда ставить маршруты из /etc/ppp/peers/__default
или /etc/ppp/ip-up.tunnel_name :-)
Это не первая и не последняя "переделка"
В любом случае спасибо за разьяснения.

> 
> По вопросам какие параметры передаются скриптам и в каком порядке
> man pppd.
> --
> Юрий А. Зотов




Подробная информация о списке рассылки Sisyphus