Translate

неділя, 15 березня 2009 р.

Налаштування VPN (PPTP) для операційної системи Ubuntu Linux

Власне, розглядаємо підключення до провайдера КПІ-телеком (http://kpitelecom.ntu-kpi.kiev.ua), маючи підключення до мережі KPI-IX.

1) В консолі виконумо команду від суперкористувача:

sudo aptitude install pptp-linux

PPTP - це протокол, за допомогою якого буде проходити підключення до провайдера. В вас перед цим повинна бути налаштована мережа та мережеві репозиторії, адже саме з них і буде встановлюватись вищезгаданий програмний пакет.

Слід зауважити, що в Убунту 10.04 і в 10.10 програмний пакет pptp-linux є по замовчуванню.

2) Cтворюємо файл за таким зразком:

sudo nano /etc/ppp/peers/kpitelecom

Туди копіюємо:

name ваш_логін (це не ваш номер до веб інтерфейсу, а логін типу vasya чи як там у вас )
remotename PPTP
lock
deflate 0
defaultroute
lcp-echo-interval 60
lcp-echo-failure 4
lcp-echo-interval 15
pty "/usr/sbin/pptp vpn2.ntu-kpi.kiev.ua --nolaunchpppd"


Зберігаємо написане - ctrl+O, виходимо - ctrl+X . Аналогічно зберігаємось далі.
3) Додаємо до файлу /etc/ppp/chap-secrets запис з вашим логіном та паролем:

ваш_логін(вищезгаданий) PPTP ваш_пароль

Не забуваймо зберегти написане.

4) Для налаштування маршрутизації потрібно виконати:

sudo route add -net 10.0.0.0/8 gw 10.xxx.yyy.zzz

Де 10.xxx.yyy.zzz – IP-адреса шлюзу у Вашій підмережі.

Маршрутизація потрібна для правильного розпізнавання системою понятть мережа Політеха та Інтернет.

Якщо є дефолтний шлюз – видаляємо його (а він таки є):

sudo route del default

Отже, до конекту до кпі-телекому таблиця роутів має виглядати приблизно так:


Звертаю увагу на відсутність дефолтного роуту, котрий мав би бути на початку (до налаштування впн-у) та на роут 10.0.0.0, гейтвей якого в моєму випадку floor3-gw.top7 (тобто 10.107.3.1). Коли ж вони до контакту з впн-ом відсутні, зрозуміло, що конекту не буде. Це по-суті, одна з найголовніших речей...

5) І нарешті:

sudo pon kpitelecom - підключення до свого аккаунту провайдера.

Для відконекчування використовуйте:

sudo poff

Часом говорять, що такі команди працюють не всіх лінуксових дистрах, тож можна конектитись ще так:

sudo pppd call kpitelecom

sudo killall pppd - ну це зрозуміло, я думаю.

6) Перевіримо чи з'явився інтерфейс підключення:

ifconfig ppp0

Реакція командного рядка:

ppp0 Link encap:Point-to-Point Protocol
inet addr:172.16.9.51 P-t-P:172.16.0.0 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1450 Metric:1
RX packets:7 errors:0 dropped:0 overruns:0 frame:0
TX packets:7 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:55 (55.0 b) TX bytes:61 (61.0 b)


Це дуже добре, коли в Вас вийшло аналогічне.

7) А ну ж бо, спробуємо чи пінгуються сервери:

ping ukr.net

PING ukr.net (212.42.64.8) 56(84) bytes of data.
64 bytes from kaena.ukr.net (212.42.64.8): icmp_seq=1 ttl=60 time=1.64 ms
64 bytes from kaena.ukr.net (212.42.64.8): icmp_seq=2 ttl=60 time=2.31 ms
64 bytes from kaena.ukr.net (212.42.64.8): icmp_seq=3 ttl=60 time=2.05 ms

Невже....невже воно обмінюється пакетами??? :) Яке щастя...Нарешті, нарешті...!!!

8) Так як Убунта перезаписує роути при кожному перевантаженні, то буде корисно додати route add -net 10.0.0.0/8 gw 10.xxx.yyy.zzz та route del defaulв /etc/rc.local. Отже файл /etc/rc.local буде виглядати наступним чином:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
route add -net 10.0.0.0/8 gw 10.xxx.yyy.zzz
route del default
exit 0

Останнім часом, після появи dhcp-сервера адрес, скрипт /etc/rc.local виконується раніше, ніж серевер присвоїть вам айпі (він в мене присвоються через 30-60 сек після ввімкнення), тобто запрацює мережа. Тож виходить що видаляються роути, яких ще не існує , бо /etc/rc.local не чекає увімкнення мережі і запускається одразу.  Тож , як непоганий варіант вирішення проблеми - додати в  /etc/network/interfaces команду що виконає одразу скрипт при підключенні:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp
up sh /etc/inet.sh


Скрипт /etc/inet.sh має виглядати так:

#! /bin/bash
route del default
route add -net 10.0.0.0/8 gw 10.XXX.X.X

Можна трохи про конект до кпітелекому прочитати тут

Ну це все.) Па-па.

1 коментар:

  1. Kacher
    А всё таки как сделать автоматическое подключение?

    ВідповістиВидалити