Процитировано сообщение: Vulzscht от 21.03.06 :: 23:26:07:думаю, что я уже добрался до этого этапа
если есть желание, объясни плз про VPN соединение)
оки.
Для выполнения всех нижеописанных действий нужно получить доступ к системе с правами суперпользователя (root).
Надеюсь, ты не используешь root в качестве своей основной учётной записи?!
Рекомендую создать свою учётную запись и в случае необходимости получения прав администратора использовать комманду su (или sudo -- но это уже отдельный разговор).
Код:su
Password: #вводишь пароль root'а
Для создания VPN-соединения используем PPTP (Point-To-Point Tunnel Protocol).
Если он у тебя не установлен, установи его.
Код:apt-get install pptp-client
APT установит его с разрешением всех зависимостей (доустановит PPP, если такового у тебя не стоит).
...млин чичаз заглянул в дистриб ALT Linux Compact 3.0 и обнаружил, что ALT изменил имя и содержание перлового скрипта, производящего конфигурацию pptp.
Поэтому в случае возникновения какой-либо ошибки скачаешь с меня проверенный скрипт и все действия (см. ниже), которые ты должен выполнить с /usr/sbin/pptp-config (установится вместе с pptp-client-1.6.0-alt1.i586.rpm) выполнишь с /usr/sbin/pptp-command (кот. в случае неудачи ты скачаешь с меня).
После установки pptp вызываешь диалог настройки pptp.
Код:/usr/sbin/pptp-config
Должен вывалиться диалог
Код:1.) start
2.) stop
3.) setup
4.) quit
Выбираешь 3 (setup).
Код:1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete a PPTP Tunnel
6.) Configure resolf.conf
7.) Select a default tunnel
8.) Quit
Выбираешь 4 (Add a NEW PPTP Tunnel).
Код:1.) Other
Естесственно жмёшь 1.
Код:Tunnel Name:
Вводишь имя туннеля, например, udomlya_vpn.
Код:Server IP:
Вводишь 10.0.0.1.
Код:What route(s) would you like to add when the tunnel Comes up?
This is a usally a route to your internal network behind the PPTP server.
route:
Жмёшь ENTER, поскольку все маршруты вручную ты будешь вводить до следующего месяца.
Код:Local Name:
Вводишь свой логин
Код:Remote Name:
Вводишь свой логин (для подключения к инету).
Код:1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete a PPTP Tunnel
6.) Configure resolf.conf
7.) Select a default tunnel
8.) Quit
Выбираешь 1 (Manage CHAP secrets).
Код:1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) Quit
Выбираешь 2 (Add a New CHAP secret).
Код:Local Name:
Вводишь свой логин.
Код:Remote Name [PPTP]:
Вводишь свой логин для поключения к инету.
Код:Password:
Вводишь свой пароль для подключения к инету.
Код:1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete a PPTP Tunnel
6.) Configure resolf.conf
7.) Select a default tunnel
8.) Quit
Выбираешь 7 (Select a default tunnel) и выбираешь там тот, что ты создал.
Затем выходишь из этого диалога, проверяешь всё ли ты правильно ввёл в файле /etc/ppp/chap-secrets, смотришь есть ли файл /etc/ppp/peers/имя_твоего_туннеля и является ли симлинк /etc/ppp/peers/@__default ссылкой на данный файл.
Далее пробуешь открыть туннель.
Код:/usr/sbin/pptp-config start
Если всё получилось должен увидеть что-то типа
Код:Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
CHAP authentication succeeded: Access granted
...
local IP address 192.168.XXX.XXX
remote IP address 192.168.199.1
Tunnel имя_твоего_туннеля is active on ppp0. Local IP address 192.168.XXX.XXX
Туннель создан и открыт. Но никуда выйти ты пока не сможешь, поскольку система пока ещё не знает куда направлять твои запросы (по умолчанию -- на 10.0.0.1, если сеть настроена правильно).
Запиши свой local IP и закрой туннель.
Код:/usr/sbin/pptp-config stop
Возьмём небольшой скрипт, основной задачей которого является настройка маршрутизации для инета и немного его модифицируем:
Код:#!/bin/bash
# Start/stop/restart PPTP VPN client.
# My VPN address
my_vpn_ip=192.168.XXX.XXX #твой local IP
# My PPTP device
my_pptp_dev=ppp0
# Start VPN
vpn_start() {
# Starting PPTP VPN client
/usr/sbin/pptp-config start
# Route inet connections to PPTP device
n=1
while [ $n -lt 255 ]
do
case "$n" in
192)
m=1
while [ $m -lt 255 ]
do
if [ $m -ne 168 ]
then
/sbin/route add -net $n.$m.0.0 netmask 255.255.0.0 gw $my_vpn_ip dev $my_pptp_dev
fi
m=`expr $m + 1`
done
;;
172)
m=1
while [ $m -lt 255 ]
do
if [ $m -lt 16 ] || [ $m -gt 31 ]
then
/sbin/route add -net $n.$m.0.0 netmask 255.255.0.0 gw $my_vpn_ip dev $my_pptp_dev
fi
m=`expr $m + 1`
done
;;
127)
;;
10)
;;
*)
/sbin/route add -net $n.0.0.0/8 gw $my_vpn_ip dev $my_pptp_dev
esac
n=`expr $n + 1`
done
echo "PPTP VPN client is started!"
}
# Stop VPN
vpn_stop() {
/usr/sbin/pptp-config stop
echo "PPTP VPN client is stopped!"
}
# Restart vpn
vpn_restart() {
vpn_stop
vpn_start
}
case "$1" in
start)
vpn_start
;;
stop)
vpn_stop
;;
restart)
vpn_restart
;;
*)
echo "Usage: ${0##*/} {start|stop|restart}"
esac
Помещаешь его в /etc/init.d/ с именем vpn и делаешь его исполняемым.
Код:chmod u+x /etc/init.d/vpn