http://city.is74.ru/forum/showpost.php?p=2...mp;postcount=23
Подключение к интернету с использованием PPTP
1) Редактируем файл(если его нет создаем) /etc/ppp/peers/pptp, заменив <your_login> на выданный ИС:
PHP код:
Код: Выделить всё
persist
noauth
pty "/usr/sbin/pptp vpn.chelcom.ru --nolaunchpppd"
user <your_login>2) В /usr/local/sbin создаем файл visconn со следующим содержанием:
PHP код:
Код: Выделить всё
#! /bin/sh
[ -x /usr/sbin/pppd ] && /usr/sbin/pppd call pptp &&
echo
echo Connecting to Internet via VPN...
sleep 10
INET_IP=`ifconfig ppp0 | grep inet | cut -d : -f 2 | cut -d ' ' -f 1`
route add default gw $INET_IP ppp0
route add 83.142.161.17 gw $INET_IP ppp0
rm /etc/resolv.conf
echo "nameserver 83.142.161.17" >>/etc/resolv.conf
echo "nameserver 83.142.161.19" >>/etc/resolv.conf
INET_IP=`ifconfig ppp0 | grep inet | cut -d : -f 2 | cut -d ' ' -f 1`
echo Successfully connected!
echo3) Устанавливаем права на файл командой: chmod 755 visconn
4) Все! Теперь можете подключаться к интернету используя команду visconn
(Обновлено) Еще один важный момент:
У многих интерфейс ppp0 поднимается но ненадолго, из-за зацикливания GRE пакетов.
Чтобы при установке соединенеия не происходило зацикливания GRE пакетов, нужно сделать следующее. Либо дописать в скрипт установки соединения, либо в исполняемый при старте системы (например rc.local) необходимые маршруты для решения проблемы. Как это сделать?
1) Выполняем команду
PHP код:
Код: Выделить всё
host -t A vpn.chelcom.ruи т.п.
2) Далее либо в скрипт "автозапуска" rc.local (для установки маршрутов при загрузке компьютера) или в скрипт установки соединения visconn (для установки маршрутов при установке соединения, например после строки echo Connecting to Internet via VPN...) дописываем:
PHP код:
Код: Выделить всё
route add <адрес_который_вы_получили_командой_host> eth0В зависимости от того сколько адресов вы получили в пункте один, столько раз пишем эту строчку, в каждой из которых будет прописан уникальный адрес. (ну и конечно, если вы используете интерфейс отличный eth0 пишите его, вместо eth0).
3) Таким образом проблема должна быть устранена, пакеты не должны зацикливаться.
II Отключение от интернета
1) В /usr/local/sbin создаем файл disconn со следующим содержанием:
PHP код:
Код: Выделить всё
#!/bin/sh
killall pppd
rm /etc/resolv.conf
echo "nameserver 83.142.161.17" >>/etc/resolv.conf
route add default eth02) Устанавливаем права на файл командой: chmod 755 disconn
3) Для отключения от интернета используем команду disconn
P.S. Спасибо alx за описание способа подключения, через PPPoE в общем виде, и WinAlien за помощь в решении проблем с маршрутами, Mironov Ivan за помощь с решением проблемы зацикливания GRE пакетов, ну и ИС(в способе с PPTP использовался кусочек их инструкции).
(Обновлено) P.P.S.
Но все таки хотелось бы заметить, что в некоторых дистрибутивах в их дефолтном исполнении могут проявляться некоторые тонкости. Например возможна необходимость предварительного создания /dev/ppp с помощью mknod.
После пробую подключиться, на что получаю ответ:
Код: Выделить всё
nikolon@pc:~$ visconn
Connecting to Internet via VPN...
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
SIOCADDRT: Operation not permitted
ppp0: error fetching interface information: Устройство не обнаружено
ppp0: Unknown host
ppp0: Unknown host
rm: удалить защищенный от записи обычный файл `/etc/resolv.conf'? ^CЕстественно не удаляю...
После этого локалка какое-то время не работает...
Подскажите пожалуйста, это я что-то делаю неправильно или в инструкции допущена ошибка?