Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лабораторна робота № 8






 

Технологія передачі PPP через Ethernet (PPPoE), налаштування PPPoE сервера на базі ОС Linux і клієнта на базі ОС Windows XP

зі встановленням з'єднання до сервера

Мета роботи. Вивчення та налаштування PPPoE сервера на базі ОС Linux для встановлення з'єднання з клієнтами на базі ОС Windows XP.

 

Ключові положення

1. Метод передачі PPP через Ethernet (PPPoE)

 

Протоколом передачі даних типу точка-точка (Point - to - Point Protocol, PPP) є стандартний метод передачі мультипротокольних дейтаграм через двоточкові лінії передачі даних. У цій лабораторній роботі вивчається, як забезпечити РРР сесію та інкапсулювати пакети РРР через Ethernet.

Технологія використання стека PPP в мережі Ethernet є відносно новою, але вже отримала достатнє поширення. На даний момент, вона визначається документом RFC 2516. Родоначальниками розробки цього документа стали компанії RedBack Networks, RouterWare, UUNET і інші. Використання цієї технології надає провайдерам Інтернет послуг нові можливості в організації і обліку доступу користувачів до мережі. Це особливо актуально для тих провайдерів, які планують або вже пропонують своїм користувачам доступ до Інтернету за допомогою мережі Ethernet, наприклад, в сучасних житлових комплексах, де кабельна розводка витою парою вже є первинним методом доступу.

Заслуговує на особливу увагу той факт, що для налаштування маршрутизатора провайдера, установки концентратора в під'їзді житлової будівлі, мережевої карти і невеликого програмного забезпечення в комп'ютер користувача не потрібний модем, немає необхідності займати єдину телефонну лінію, оскільки провайдер послуг тепер може організовувати, обмежувати доступ і облік трафіка користувачів таким чином, немов користувач працює за звичайним модемним каналом. Така реалізація стала можливою завдяки технології PPPoE, яка запускає сесію PPP, але не поверх модемного з'єднання, а поверх мережі Ethernet.

При цьому, підтримуватиметься автентифікація користувачів за протоколами PAP і CHAP, динамічне виділення IP -адресов користувачам, призначення адреси шлюзу, DNS -сервера і так далі. Також протокол PPP надає додаткові можливості – стискування і шифрування трафіка.

Технологія PPPoE на даний момент є однією з найдешевших при наданні користувачам доступу до послуг Інтернет в житлових комплексах на базі Ethernet і при використанні технології DSL. Зокрема, відомий оператор Укртелеком використовує цю технологію в послузі «ОГО».

Оскільки, принципом роботи PPPoE є встановлення з'єднання " точка-точка" поверх загального середовища Ethernet, то процес функціонування PPPoE має бути розділений на дві стадії. У першій стадії два пристрої повинні повідомити один одному свої адреси і встановити початкове з'єднання, а в другій стадії запустити сесію PPP.

Стадія встановлення з'єднання між клієнтом (комп'ютером користувача) і сервером (концентратором доступу провайдера) ділиться на декілька етапів.

На першому етапі клієнт посилає широкомовний запит PADI (PPPoE Active Discovery Initiation) на пошук сервера із службою PPPoE. Цей запит отримують усі користувачі мережі, але відповість на нього тільки той, у кого є підтримка служби PPPoE. Пакет у відповідь від концентратора доступу PADO (PPPoE Active Discovery Offer) посилається у відповідь клієнтові, але якщо в мережі є багато пристроїв із службою PPPoE, то клієнт отримає багато пакетів PADO. В цьому випадку, програмне забезпечення клієнта вибирає необхідний йому концентратор доступу і посилає йому пакет PADR (PPPoE Active Discovery Request) з інформацією про необхідну службу (необхідний клас обслуговування залежить від послуг провайдера), ім'я провайдера і так далі. Після отримання запиту, концентратор доступу готується до початку PPP сесії і посилає клієнтові пакет PADS (PPPoE Active Discovery Session - confirmation). Якщо усі запрошені клієнтом служби доступні (до складу цього пакета входить унікальний номер сесії, присвоєний концентратором), то починається другий етап - стадія встановленої сесії. Якщо потрібні клієнту послуги не можуть бути надані, клієнт отримує пакет PADS із вказівкою помилки в запиті послуги.

Сесія починається з використанням пакетів PPP. При встановленні PPP - сесії користувач може бути автентифікований за допомогою RADIUS (Remote Authentication Dial In User Service), і його трафік враховуватиметься як при звичайному модемному доступі. Йому можна призначити динамічно IP - адресу з пулу адрес концентратора, встановити налаштування шлюзу і DNS -сервера. При цьому на концентраторі доступу клієнтові відповідно ставиться віртуальний інтерфейс. Бажано, щоб концентратор доступу посилав періодичні запити клієнтові для визначення його стану. Ця операція потрібна для того, щоб клієнт, який з якої-небудь причини не обірвав сесію коректним чином, не вважався існуючим і для нього не резервувалися ресурси концентратора доступу.

Завершення з'єднання PPPoE відбувається за ініціативою клієнта або концентратора доступу за допомогою посилки пакета PADT (PPPoE Active Discovery Terminate).

У протоколі PPPoE передбачені деякі додаткові функції, наприклад, такі як захист від DoS атак (Denial of Service). Захист від деяких типів DoS атака реалізована шляхом додавання в пакети PADI спеціального поля AC - Cookie, яке дозволяє концентратору доступу обмежувати кількість одночасних сесій PPPoE на одного клієнта.

2. Хід роботи

2.1. Налаштування PPPoE –сервера на базі ОС Linux

 

У цій лабораторній роботі використовується rp - pppoe - Roaring Penguin PPPoE Server and Client v.3.8 (https://www.roaringpenguin.com/products/rp-pppoe/) [1], що доставляється у складі багатьох дистрибутивів ОС Linux.

Для запуску сервера необхідно виконати команду:

pppoe-server [options]

Параметри:

-I interface – Вказує, який Ethernet – інтерфейс використовувати (eth0, eth1.).

-C ac_name - Ім'я концентратора доступу (access concentrator).

-S name - Ім'я пропонованої служби (service name). Може бути вказано кілька разів.

-L Np - Локальна IP -адреса (IP -адреса сервера).

-R Np - Встановлює стартову виділену IP -адресу. Після встановлення ppp- сесії, IP -адреси клієнтів призначаються, починаючи із стартового IP -адресу.

-N num - Максимальна кількість сесій.

-k - Запуск сервера в kernel - режимі. Сервер використовуватиме вбудовану в ядро підтримку PPPoE.

 

Приклад:

pppoe-server -I eth1 -C pppoe-test-ac -L 192.168.1.100 -R 192.168.1.200

 

PPPoE сервер прослуховує вказаний мережевий інтерфейс і відповідає на discovery - запити клієнтів. Після встановлення pppoe - сесії, сервер виділяє з пулу IP-адресу для клієнта і запускає pppd з необхідними параметрами. Додаткові параметри для pppd беруться з файла /etc/ppp/options.

Деякі додаткові параметри для pppd:

require-pap – Потрібна автентифікація клієнта методом PAP.

require-chap – Потрібна автентифікація клієнта методом CHAP.

login – Обліковий запис користувача перевіряється за системною базою даних.

ms-dns ip – Сервер передаватиме клієнтові вказану адресу DNS -сервера.

noproxyarp – Не додавати в системну ARP - таблицю IP і MAC адреси клієнтів.

ktune – Дозволити pppd змінювати деякі опції ОС з потреби.

Якщо не вказаний параметр login, база цих облікових записів користувачів повинна знаходиться у файлах /etc/ppp/pap-secrets або /etc/ppp/chap-secrets залежно від методу автентифікації (PAP, CHAP). Перевірити ці файли на наявність прописаних імен і паролів для встановлення з'єднань.

 

2.2. Налаштування PPPoE – клієнта на базі ОС Linux

 

PPPoE клієнт, також як і сервер, може функціонувати в двох режимах - user - mode і kernel - mode. У user - режимі транспортним рівнем для pppd служить pppoe - Roaring Penguin PPPoE Client. У kernel - режимі pppoe - сесія встановлюється через спеціальний плагін (rp-pppoe.so), який викликає необхідні функції ядра ОС. Для використання kernel - режимі ядро Linux має бути зібране з підтримкою PPPoE. Звичайно, драйвери PPPoE збираються у вигляді модулів ядра - pppox.ko і pppoe.ko.

Для запуску клієнта в user- режимі необхідно виконати:

pppd pty 'pppoe [pppoe - options]' [pppd - options]

Параметри pppoe - клієнта:

-A - Виводить список доступних в мережі концентраторів доступу.

-I interface - Вказує, який Ethernet - інтерфейс використовувати (eth0, eth1.).

-C ac_name - Ім'я концентратора доступу, до якого необхідно підключитися.

-S name - Ім'я служби концентратора, яку необхідно використовувати.

Параметри для pppd можуть бути наступними:

defaultroute - встановити шлюз за замовчуванням (default route) на адресу сервера;

debug - виводити додаткові повідомлення про стан в системний журнал подій;

noipdefault pppd - повино використовувати IP -адресу, отриману з сервера;

persist - перетворювати з'єднання при втраті зв'язку;

usepeerdns - використовувати IP - адреси DNS - серверів, отримані з сервера;

user name – ім'я облікового запису, яке pppd використовуватиме при автентифікації на сервері. Усі параметри цього облікового запису повинні знаходиться у файлах /etc/ppp/pap-secrets або /etc/ppp/chap-secrets залежно від методу автентифікації [2].

Також можна використовувати параметри require-pap, require-chap, noproxyarp і ktune, описані вище.

Приклад [3]:

pppd pty 'pppoe -C pppoe-test-ac' user test

Для запуску клієнта в kernel - режимі необхідно виконати:

pppd plugin rp-pppoe.so [ethX] [plugin - options] [pppd - options]

де ethX - Ethernet інтерфейс (eth0, eth1.)

Опції плагіна:

rp_pppoe_ac ac_name Ім'я концентратора доступу.

rp_pppoe_service name Ім'я служби концентратора.

Приклад:

pppd plugin rp-pppoe.so eth0 rp_pppoe_ac pppoe-test-ac user test

 

2.3. Налаштування PPPoE клієнт в ОС Windows XP/2003 (вбудований в

ОС)

 

У лабораторній роботі 3 було розглянто створення pppoe з'єднання в ОС Windows XP/2003, але коротко повторимо основні кроки створення з'єднання.

1. Пуск -> Панель управління -> Мережні підключення -> Створення нового підключення.

2. Вибираємо підключення через високошвидкісне підключення.

3. Далі вказати назву підключення «pppое».

4. Далі «Не набирати номер для попереднього підключення».

5. Далі вказати IP адреси запущеного PPPОЕ сервера.

6. Ввести логін, пароль вказаний у файлах авторизації сервера (pap-secrets або chap-secrets).

7. З'єднання готове.

 

Рисунок 1 Схема створення pppoe з'єднання в ОС Windows XP/2003

 

2.4. Захоплення пакетів за допомогою Tcpdump

 

Для захоплення пакетів і їх аналізу в ОС Linux є безліч пакетів, але одним з перших є tcpdump.

Параметри запуску tcpdump. Tcpdump [параметр] – деякі з них:

– c count – вийти після отримання певної кількості пакетів;

– C file_size – перед записом пакета у файл, відбувається перевірка на перевищення розміру файла ліміту, вказаного в file_size;

– w, з числом, що стоїть у кінці, 2, яке збільшуватиметься в наступних іменах файлів. file_size визначає розмір в мільйонах байт (1, 000, 000), а не мегабайтах (1, 048, 576);

– F file – використовувати file для введення вираження, що фільтрує. Вираження, вказане в командному рядку, ігноруватиметься;

– i interface – збирати пакети тільки на певному інтерфейсі. Якщо не вказаний – береться мінімальний за номером інтерфейсу (виключаючи loopback). Для Linux -ядер 2.2 і новіших, можливо вказати;

'any' – відбуватиметься збір на усіх інтерфейсах, але вони не будуть переведені в режим promiscuous;

– n – не перетворювати адресу хоста в ім'я (може бути використано, якщо необхідно уникати DNS –запитів);

– nn – не перетворювати протокол і номер порту в їх імена;

– N – не виводити доменну частину імені хоста (наприклад, при цьому ключі буде виводиться " nic" замість " nic.ddn.mil");

– p – не переводити інтерфейс в режим promiscuous;

– r file – читати пакети з file (який, був створений з ключем – w);

– t – не виводити часовий штамп (timestamp) в кожному рядку дампа (dump);

– tt – виводить не форматований часовий штамп в кожному рядку дампа;

– ttt – виводити різницю (у мікросекундах) між поточними і попередніми рядками дампу;

– tttt – виводити часовий штамп разом з датою у форматі в кожному рядку дампа;

– v – детальніший вивід. Для ще детальнішого виводу використовуються: - vv і – vvv;

– w file – писати пакети в file перш ніж зробити їх розбір і вивести. Вони можуть бути пізніше виведені з ключем – r. Якщо file вказаний як " –", то використовується стандартний вивід.

– x – друкувати кожного пакета (без заголовків рівня з'єднання) в шістнадцятковому вигляді;

– X – окрім шістнадцятковому вигляду виводити їх ASCII -значения.

 

Фільтр у tcpdump вибирає, які пакети будуть захоплюватися із загального потоку. Якщо не вказаний фільтр, то вибиратимуться і виводиться усі пакети йдуть через інтерфейс. Інакше, будуть оброблені тільки ті пакети, для яких перевірка з вираженням видасть значення " істина" (true).

Вираження складається з одного або більше за примітиви. Примітиви складаються з ID (ім'я або номер) що йде за одним або більше класифікаторами. Розрізняють три види класифікаторів:

– type – говорять до якого виду відносити ID. Можливе значення host, net або port. Приклад: 'host foo ', 'net 128.3 ', 'port 20'. Якщо класифікатор type не вказаний, то мається на увазі host;

– dir – визначає конкретний напрям передачі " к" і/або " від" ID. Можливі значення src, dst, src or dst and src and dst. Приклад, 'src foo ', 'dst net 128.3 ', 'src or dst port ftp - data'. Якщо не вказаний, то мається на увазі src or dst. Для з'єднань нульового ('null') рівня (приміром, протокол точка-точка, такий як slip) вказівкою напряму можуть бути класифікатори inbound і outbound;

– proto – oбмежує збіг конкретним протоколом. Можливі протоколи: ether, fddi, tr, ip, ip6, arp, rarp, decnet, tcp і udp.

Приклад, 'ether src foo ', 'arp net 128.3 ', 'tcp port 21'. Якщо класифікатор proto не вказаний, то маються на увазі усі перераховані типи протоколів. Наприклад, 'src foo означає '(ip or arp or rarp) src foo ', 'net bar' означає '(ip or arp or rarp) net bar ', а 'port 53' означає '(tcp or udp) port 53'.

 

Простий приклад запуску tcpdump c перенаправленням даних у файл lab6.txt:

tcpdump -i eth0 – n – nn – ttt > lab6.txt

3. Ключові питання

1) Що таке PADI і для чого призначено?

2) Які методи авторизації можливі в pppoe?

3) Чи можливе шифрування даних в pppoe і який метод шифрування?

4) Що означає параметр - L 192.168.0.1 в налаштуваннях pppoe - server?

5) Що означає параметр persist pppoe -клієнте?

 

4. Домашнє завдання

1. Вивчити протокол РРРоЕ. Основні можливості РРРоЕ та переваги застосування.

2. Визначити, які основні алгоритми авторизації у протоколі РРРоЕ.

3. З’ясувати, які основні програмні продукти будуть застосовуватися у лабораторній роботі.

4. Відповісти на ключові питання.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.