poligraf писал(а):
может кто даст правилно настроенный файл ifcfg-pptp0.
Настройка VPN соединения под Linux семейства RedHat
Данные настройки подходят для дистрибутивов Linux, произошедших от RedHat Linux (RedHat, Fedora, Mandriva, ASP и др.)
Прежде всего установите пакет pptp-linux (pptp, pptp-client, с вариациями). Домашняя страница проекта -
http://pptpclient.sf.net/.
Также установите пакет ppp (
http://ppp.samba.org/).
Необходимо также включить поддержку ppp в ядре (если Вы используете ядро из дистрибутива, то она уже включена).
Создайте файл
/etc/sysconfig/network-scripts/ifcfg-pptp0 следующего содержания:
Код:
PEERDNS="no"
DEVICE="pptp0"
ONBOOT="no"
USERCTL="yes"
PERSIST="no"
DEBUG="yes"
DEFROUTE="yes"
MRU=""
MTU=""
IDLETIMEOUT=""
VPN_HOST="<vpn_server>"
VPN_USER="<vpn_user>"
ROUTES=""
Конечно, вместо <vpn_server> укажите IP VPN-сервера из Вашей подсети, а вместо <vpn_user> - Ваш логин.
VPN-сервера: 192.168.6.1, 192.168.0.1; выберите тот, который находится в Вашей подсети или спросите в техотделе
Обратите внимание на параметр ONBOOT, указывающий, что соединяться нужно при загрузке. Часто бывает, что компьютер не может загрузиться, если нет локальной сети и он не может подключиться к интернет. Мы советуем этот параметр оставить в значении "no".
Параметр USERCTL указывает, может ли обыкновенный пользователь (без прав root'а) устанавливать и завершать соединение.
В
/etc/ppp/options добавьте
Код:
lock
nodeflate
nobsdcomp
novjcomp
logfile /var/log/ppp.log
в
/etc/ppp/chap-secrets и
/etc/ppp/pap-secrets по строчке
Код:
<vpn_user> * <vpn_pass> *
где <vpn_user> - Ваш логин, а <vpn_pass> - Ваш пароль к Интернет.
Теперь для подключения к интернет используйте команду
/sbin/ifup pptp0, для отключения -
/sbin/ifdown pptp0Если Вы хотите, чтобы интернет был подключен постоянно, создайте файл
/etc/ppp/inetcheck.pl следующего содержания:
Код:
#!/usr/bin/perl
$res=`/sbin/ifconfig | grep ppp0`;
if ($res) {
print "Inet is up !\n";
}
else {
print "Inet is down !\n";
system("/sbin/ifdown pptp0");
system("/sbin/ifup pptp0");
exit 1;
}
$res1=`/bin/ping 193.108.38.13 -c 4 | grep "64 by"`;
if(length($res1)<1) {
system("/sbin/ifdown pptp0");
system("/sbin/ifup pptp0");
}
exit 0;
добавьте в
/etc/crontab:
Код:
*/5 * * * *
root /etc/ppp/inetcheck.pl
> /dev/null 2>&1
После этого перезапустите Cron: /etc/init.d/crond restart либо /sbin/service crond restart (или вообще как раньше делали: kill -SIGHUP `pidof crond`)
Теперь соединение с интернет проверяется каждые 5 минут и, в случае обрыва, восстанавливается.
Внимание! Т.к. используемые нами файлы - системные, а в /etc/ppp/*-secrets пароль к интернет хранится в открытом виде, необходимо выставить правильные права, владельца и группу на эти файлы:
Код:
chown root:root /etc/sysconfig/network-scripts/ifcfg-pptp0
chmod 0644 /etc/sysconfig/network-scripts/ifcfg-pptp0
chown root:root /etc/ppp/options
chmod 0644 /etc/ppp/options
chown root:root /etc/ppp/chap-secrets
chmod 0600 /etc/ppp/chap-secrets
chown root:root /etc/ppp/pap-secrets
chmod 0600 /etc/ppp/pap-secrets
chown root:root /etc/ppp/inetcheck.pl
chmod 0755 /etc/ppp/inetcheck.pl
всё
