Як підключити Linux до Internet

Валерій Коржов, Журнал "Світ ПК",
www.osp.ru

Якщо ви встановили на свій комп'ютер операційну систему Linux, то рано чи пізно у вас виникне бажання використовувати її для підключення до Internet. Давайте спробуємо разом зробити це.

Все досить просто, оскільки в останніх дистрибутивах Linux передбачена можливість централізованного налаштування різних компонент операційної системи, які відповідають за підключення до Мережі. Вам не потрібно буде вивчати формати різних файлі і конфігурувати кожен компонент системи окремо. Централізоване настроювання з'явилася в дистрибутиві Linux Red Hat 6.0, про який і піде мова надалі.

Розробники Red Hat 6.0 включили в нову версію дистрибутиву єдиний конфігуратор linuxconf. Він працює як в текстовому, так і в графічному режимах, що дозволить вам застосовувати його практично в будь-який конфігурації системи. Творці linuxconf прагнули зробити налаштування компонент Linux більш зрозумілою і зручною, і в більшості випадків це їм вдалося.

Ядро Linux

За підключення до Internet в будь-якого різновиду операційної системи UNIX відповідає декілька компонент: ядро ОС, яке має підтримувати стек протоколів TCP / IP; програма реалізації протоколу фізичного рівня (для телефонного з'єднання це протоколи PPP або SLIP); підсистема налаштування модема – chat-сценарій або AT-команди (пряме спілкування з модемом). Крім того, потрібно налаштувати DNS для дозволу використання імен віддалених серверів і програму обслуговування стеку протоколів TCP / IP inetd. Втім, питання налаштування DNS і inetd виходять за рамки цієї статті.

Раніше, щоб ядро ОС Linux підтримувало протокол TCP / IP, його потрібно було перекомпілювати, але в останній версії дистрибутиву Red Hat ця проблема була вирішена за допомогою модулів, які завантажуються в ядро. Підтримка завантажувальних модулів існувала і раніше, однак в новому дистрибутиві вона використовується найбільш активно, що дозволяє змінювати конфігурацію ядра без перезавантаження комп'ютера і зупинки обчислень. У дистрибутиві Red Hat 6.0 поставляється ядро, відкомпільоване з підтримкою всіх можливих модулів, в тому числі і TCP / IP, тому цілком достатньо завантажити відповідний модуль командою insmod. Причому саму команду викликати не варто – для завантаження в ядро модуля підтримки TCP / IP краще задіювати файл конфігурації мережі network в каталозі / etc / sysconfig /. Для підтримки мережевих протоколів у ньому повинна бути такий рядок:

NETWORKING=yes.

Якщо такого рядка немає, то потрібно її додати або змінити.

Слід зазначити, що файли з каталогу / etc / sysconfig проглядають сценарії початкового завантаження системи, які розташовуються в каталозі / etc / rc.d. Вони написані на мові оболонки UNIX, і тому можна зрозуміти, як саме і в якому порядку відбувається завантаження Linux. Щоб ОС відповідала зазначеній у файлі конфігурації, необхідно або її перевантажити, або перезапустити відповідний сценарій (це можна зробити за допомогою сценаріїв з каталогів / etc / rc.d / init.d /, викликавши їх з ключем restart). Сценарій для роботи з мережею традиційно називається * network (замість * може стояти код, який вказує завантажувачу, коли цей сценарій потрібно запускати). Після того як буде встановлена підтримка TCP / IP в ядрі, можна переходити до налаштування самого телефонного з'єднання.

Робота з linuxconf

Програмна оболонка linuxconf зроблена спеціально для того, щоб користувачі могли легко налаштувати ОС відповідно своїм потребам. Фактично це централізований редактор різних конфігураційних файлів з поясненнями значень для кожного поля. У випадку телефонного з'єднання важливо правильно налаштувати програму pppd, яка організує передачу даних по телефонній лінії, і написати сценарій для програми chat, що ініціює телефонний дзвінок і вашу авторизацію у провайдера. При налаштуванні телефонного з'єднання linuxconf створює для нього chat-сценарій і конфігурує програму реалізації протоколу PPP, причому linuxconf працює як з графічною оболонкою, так і в текстовому режимі.

Рис. 1. Первісний вигляд вікна конфігуратора

Щоб приступити до створення конфігураційних файлів для з'єднання з Internet, потрібно запустити конфігуратор командою linuxconf або вибрати відповідний пункт меню в графічній оболонці. Зовнішній вигляд вікна linuxconf після запуску показано на рис. 1. Для конфігурування модемного підключення необхідно вибрати розділ Config.Networking.Client Tasks.PPP / SLIP / PLIP. Після цього в правій частині вікна відкриється список існуючих конфігурацій для протоколів PPP, SLIP або PLIP. Оскільки протокол PPP найбільш популярний серед провайдерів, то саме його налаштування ми і будемо розглядати в подальшому, хоча інші протоколи телефонного з'єднання налаштовуються аналогічно.

При першому запуску конфігуратора список з'єднання пустий. Щоб створити нову конфігурацію з'єднання, слід натиснути кнопку Add, після чого відкриється закладка з переліком типів протоколів. Вибираємо протокол PPP і натискаємо на кнопку Accept. Виникає наступна закладка, в якій потрібно вказати телефон провайдера, своє реєстраційне ім'я і пароль. Потім натискаємо Accept і знову повертаємося до початкового списку конфігурацій, але в ньому вже з'явився новий пункт, відповідний тільки що створеному з'єднанню.

Рис. 2. Закладка для конфігурування модема

Тепер, при правильному налаштуванні і роботі обладнання, вже можна спробувати підключитися до Internet. Для цього досить двічі клацнути мишкою на відповідному пункті в списку з'єднань. Відкриється закладка, що містить всю інформацію про з'єднання: налаштування обладнання (закладка Hardware, рис. 2), конфігурацію chat-сценарію (закладка Communication, рис. 3) і різні додаткові мережні опції (Закладки Networking і PAP). У цій "загальній" закладці можна спробувати встановити з'єднання за допомогою кнопки Connect. Роботу згенерованих сценаріїв можна перевірити і з командного рядка, перейшовши в каталог / Etc / sysconfig / network-scripts і набравши команду. / Ifup ifcfg-"ім'я з'єднання".

Підключення

На рис. 2 ми бачимо параметри запуску програми pppd, яка реалізує протокол фізичного рівня при встановленні зв'язку по телефонній лінії. Її основними параметрами є ім'я драйвера для модему, швидкість з'єднання між модемом і комп'ютером та деякі інші. В Linux драйвери пристроїв представлені у вигляді файлів із спеціальними атрибутами, які знаходяться, як правило, в каталозі / dev. Причому файл / dev / modem зазвичай, є посиланням на конкретний порт комп'ютера, до якого підключений модем (наприклад, / dev/ttyS1, тобто перший COM-порт). Якщо модем буде підключено до іншого порту, можна просто змінити цю посилання, не змінюючи решту налаштувань.

Рис. 3. Закладка для конфігурування зєднання

Вся інформація, яка міститься на закладці Hardware, записується у файл ifcfg-"ім'я з'єднання", розташований у каталозі / etc / sysconfig / network-scripts. Формат його дуже простий – ім'я і значення параметра відділяються знаком =. Сценарій організації з'єднання аналізує цей файл і конфігурує pppd у відповідності зі значеннями параметрів. Опція defaultroute для програми pppd говорить про те, що маршрутизація з'єднання покладається на сервер провайдера, тому саме таке значення і має бути вписане в поле PPP option.

Закладка Communication містить інформацію по chat-сценарію. Програма chat – це стандартна UNIX-програма, яка дозволяє автоматизувати процес набору номера провайдера і вашу авторизацію у нього. Втім, вона універсальна, і з її допомогою можна виконувати і інші дії. Chat слідкує за потоком вводу і порівнює його вмістиме із своєю базою правил. Правила відображають зв'язок ключ – значення, і як тільки з потоку вводу поступає послідовність символів, що позначає один з ключів, програма посилає в потік виводу відповідну йому значення. Таким чином, chat-сценарій представляє собою набір ключів з їх значеннями.

Спілкування з модемом розпочинається з тестової команди atz (у верхньому полі закладки), на яку він повинен відповісти OK. Програма chat, одержавши ці два символи, посилає у відповідь команду для набору номера atpd (At – команда модема, p – імпульсний режим набору номера, а d – вказівка набрати номер, наступний за командою). Параметри цієї команди знаходяться в другому і третьому полях закладки. Пізніше модем набирає номер і встановлює з'єднання з провайдером.

Як тільки встановлюється зв'язок, сервер постачальника послуг Internet запрошує ім'я користувача. Зазвичай у запрошенні "набрати ім'я" міститься стрічка login:. Саме це значення і чекає програма chat, яка видає у відповідь iм'я користувача. Аналогічно передається і пароль. Сценарій можна продовжити і далі – все залежить від того, що запрошує сервер провайдера. Параметр timeout не є ключем, а використовується самою програмою chat для визначення часу очікування відповідей модему і серверу провайдера.

Коли сервер провайдера перейде в режим ppp, chat припинить свою роботу і передасть контроль над з'єднанням програмі pppd, яка і забезпечить двонаправлену зв'язок. При цьому linuxconf згенерує chat-сценарій, необхідний для встановлення модемного з'єднання в каталозі / etc / sysconfig / network-scripts /, і сам файл, який отримає назву chat-"ім'я з'єднання". Його можна використовувати і без посередництва linuxconf і сценарію / etc / sysconfig / network-scripts / ifup, який зазвичай задіюється конфігуратором для встановлення з'єднання організації зв'язку. Це можна зробити, наприклад, за допомогою команди:

# /usr/sbin/pppd /dev/modem
38400 defaultroute connect
"/usr/sbin/chat -f /etc/ sysconfig/network-scripts/
chat-ppp0 > /dev/null &

Потрібно сказати, що в chat-сценарії міститься конфіденційна інформація – ваше ім'я і пароль для доступу до провайдера. Тому необхідно правильно встановити права доступу до цього файлу, наприклад командою:

# chmod 600 /etc/sysconfig/
network-scripts/chat-ppp0

Це дозволить уникнути розкриття паролю користувачами системи, які, припустімо, можуть підключитися до комп'ютера по модемному з'єднанню. Якщо ви не хочете, щоб ваше ім'я і пароль стали доступними хакерам, то краще захистити їх. Крім того, рекомендую також заборонити віддалений доступ для користувача root. Ця опція встановлюється в конфігурації програми обслуговування мережних з'єднань inetd.

Інші способи встановлення з'єднання

У ранніх версіях дистрибутивів Linux chat-сценарії доводилося писати самостійно. У принципі це не дуже складно – потрібно тільки познайомитися з форматом відповідного файла (команда man chat). Втім, можна було обійтися і взагалі без утиліти chat, набираючи команди вручну за допомогою програми спілкування з модемом minicom або аналогічною.

Цей спосіб доступний і зараз, оскільки до складу Red Hat включено minicom. Ним можна скористатися в тому випадку, коли щось не виходить, а перевірка роботи системи вручну, як правило, дозволяє знайти помилки в налаштуванні. Слід додати, що крім linuxconf можна застосовувати і інші програми для організації телефонного з'єднання, наприклад оболонку Seyon, яка також поставляється в стандартному дистрибутиві Red Hat 6.0.

Можна задіяти і спеціалізовану утиліту для автоматичного встановлення телефонного з'єднання diald, яка підключається до провайдера, коли користувач генерує запит до зовнішньої мережі. Ця програма підходить для організації доступу до Internet з невеликої мережі, в якій Linux працює як маршрутизатор.

Таким чином, в Linux передбачено багато варіантів встановлення телефонного з'єднання. Вибирайте найбільш підходящий для вас, і – за справу!

Про автора

Валерій Коржов – оглядач тижневика ComputerWorld Russia.
Контактний телефон: (095) 253-92-06, e-mail: oskar@osp.ru.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*