44489

Канали зв’язку всучасних комп’ютерних мережах

Практическая работа

Информатика, кибернетика и программирование

Підтримка мереж в Debian`і є дуже схожою з класичними дистрибутивами Linux. Однак, якщо ви – новачок у Дебіені, деякі речі можуть бути вам невідомі. Короткий вступ до налаштування мережі у Debian GNU/Linux покаже вам, як усе це працює у даному дистрибутиві.

Украинкский

2014-03-25

56.11 KB

1 чел.

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

ТЕРНОПІЛЬСЬКИЙ НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ

ІМЕНІ ІВАНА ПУЛЮЯ

Кафедра комп’ютерних наук

Практична робота № 2

«Канали зв’язку всучасних комп’ютерних мережах»

 Виконала:                                                                                                     студентка групи

СНз- 61                                                                                                      Зозуля  Наталя

 Перевірив:

Шимчук Г.В.

Тернопіль 2013


Тема: Канали зв’язку всучасних комп’ютерних мережах.

Мета: Вивчення типів каналів зв’язку в сучасних комп’ютерних мережах

1 Налаштування мережі в Debian

Підтримка мереж в Debian`і є дуже схожою з класичними дистрибутивами Linux. Однак, якщо ви – новачок у Дебіені, деякі речі можуть бути вам невідомі. Короткий вступ до налаштування мережі у Debian GNU/Linux покаже вам, як усе це працює у даному дистрибутиві.

Є лише чотири речі, про налаштування яких ви піклуватиметеся:

–                  налаштування імені машини (hostname);

–                  налаштування DNS;

–                  налаштування вашої ІР-адреси;

–                  налаштування шлюзу за замовчуванням.

Налаштування імені машини (hostname)

Налаштування імені вузла в Debian`і є дуже простим процесом. Ви можете встановити його за допомогою команди hostname або внісши зміни до конфігураційного файлу /etc/hostname.

Для того, щоб дізнатися поточне ім’я машини, введіть команду:

sashko@debian3r:~$ hostname

debian3r

Змінити його за допомогою команди hostname можна ввівши під root`ом:

# hostname newname

Де newname – нове ім’я. Також ви можете просто змінити його у файлі /etc/hostname, який містить лише один рядок з цим іменем.

Для того, щоб нові налаштування вступили у дію, необхідно перезавантажити систему або просто запустити сценарій /etc/init.d/hostname.sh, який автоматично запускається при кожному старті системи.

Налаштування DNS

У плані налаштування DNS Дебіен також не відрізняється від більшості, у першу чергу, класичних дистрибутивів. Ви можете додати імена вузлів та ІР адреси DNS серверів до файлу /etc/hosts для статичного перетворення.

Щоб змусити вашу систему консультуватися зі спеціальними серверами для пошуку імен, ви просто додаєте їх адреси до /etc/resolv.conf.

Наприклад, машина, яка повинна запитувати імена за ІР-адресами та навпаки на сервері 192.168.1.1, матиме /etc/resolv.conf наступний вигляд:

search my.flat

nameserver 192.168.1.1

(Тут my.flat змушує додавати у кінець імені my.flat. Результат пошуку машини з іменем debian3r виглядатиме як lappy.my.flat)

Налаштування ІР-адреси

ІР-адреси пов’язані з мережевими картками читаються з файлу /etc/network/interfaces.

Приклад для машини зі статичною адресою:

# Мережевий інтерфейс loopback

auto lo

iface lo inet loopback

# Основний мережевий інтерфейс

auto eth0

iface eth0 inet static

address 192.168.1.90

gateway 192.168.1.1

netmask 255.255.255.0

network 192.168.1.0

broadcast 192.168.1.255

Встановлена ІР-адреса (192.168.1.90), шлюз за замовчуванням (192.168.1.1) та маска мережі.

Для машини, котра використовує DHCP, налаштування значно простіші:

# Мережевий інтерфейс loopback

auto lo

iface lo inet loopback

# Основний мережевий інтерфейс – використовуємо DHCP для отримання адреси

auto eth0

iface eth0 inet dhcp

(Якщо використовувати мережеве налаштування на основі DHCP, то повинен бути встановлений DHCP клієнт, зазвичай це pump or dhcp-client).

Після внесення змін до цього файлу потрібно ввести наступну команду для того, щоб вони вступили у дію:

/etc/init.d/networking restart

Налаштування шлюзу за замовчуванням

Якщо ви уважно читали попередню секцію, то зауважили, що маршрут за замовчуванням до хосту зі статичною ІР-адресою може бути вказаний у файлу /etc/network/interfaces.

Щоб дізнатись поточний маршрут за замовчуванням/шлюз, потрібно ввести команду:

lappy:~# netstat -nr

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

В якості альтернативи можете скористатися командою route:

lappy:~# /sbin/route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

default router 0.0.0.0 UG 0 0 0 eth0

(Тут ми бачимо маршрут замість IP-адреси 192.168.1.1, що дозволяє уникнути необхідності запускати “/sbin/route -n”).

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

/sbin/route del default gw 192.168.1.1

Після цього не буде можливості бачити інші “машини”.

Щоб мережа функціонувала знову, потрібно додати новий маршрут за допомогою:

/sbin/route add default gw 192.168.1.100

2 Робота з MAC-адресами

MAC-адреса (англ. Media Access Control – управління доступом до носія) – це унікальний ідентифікатор у вигляді шістнадцяткового серійного номера, який співставляється з різними типами устаткування для комп’ютерних мереж.

Існує чимало ситуацій, в яких адміністратору може знадобитися змінити цей унікальний ідентифікатор: тестування мережі, різні види хакерських атак тощо.

Для того, щоб дізнатися MAC-адресу мережевої картки, достатньо скористатися командою ifconfig з одним параметром – ідентифікатором мережевого інтерфейсу, котрий відповідає потрібній мережевій картці.

# ifconfig eth1

eth1 Link encap:Ethernet HWaddr 00:0F:87:3C:E2:8D

Відповідно МАС-адреса мережевої карточки буде: 00:0F:87:3C:E2:8D. Для того, щоб не шукати серед виданої ifconfig`ом інформації, можна скористатися наступною комбінацією команд:

ifconfig eth0 | grep HWaddr | awk ‘{print $5}’

 

Зміна МАС-адреси

Є два способи змінити МАС-адресу мережевого адаптера:

1. Прописати його у файлі /etc/network/interfaces, де він ховається під змінною hwaddress ether:

auto eth0 static

iface eth0 inet static

  address 1.2.3.4

  gateway ...

  broadcast ...

  hwaddress ether 02:01:02:03:04:08

2. Задати його динамічно за допомогою утиліти macchanger. За допомогою цієї утиліти можна:

–                  встановити конкретну МАС-адресу мережевого інтерфейсу;

–                  встановити випадкову МАС-адресу;

–                  встановити МАС-адресу конкретного виробника;

–                  вивести перелік МАС-адрес виробника (у базі біля 7000 адрес)…

 

Встановлення конкретної МАС-адреси:

# macchanger –mac=01:23:45:67:89:AB eth1

Current MAC: 00:40:96:43:87:65 [wireless]

(Cisco/Aironet 4800/340)

Faked MAC: 01:23:45:67:89:ab (unknown)

 

Встановлення випадкової МАС-адреси того ж виробника мережевих адаптерів:

# macchanger –endding eth1

Current MAC: 00:09:a5:eb:23:f8 (Hansung Eletronic Industries Development Co., Ltd)

Faked MAC: 00:09:a5:6f:31:23 (Hansung Eletronic Industries Development Co., Ltd)

Встановлення випадкової МАС-адреси іншого виробника:

# macchanger –another eth1

Current MAC: 00:09:a5:6f:31:23 (Hansung Eletronic Industries Development Co., Ltd)

Faked MAC: 00:11:18:5b:3a:1f (Blx Ic Design Corp., Ltd.)

 

Виведення переліку виробників:

# ./macchanger –list=Cray

Misc MACs:

Num MAC Vendor

– – ––

065 – 00:00:7d – Cray Research Superservers,Inc

068 – 00:00:80 – Cray Communications (formerly Dowty Network Services)

317 – 00:40:a6 – Cray Research Inc.

3 .Зміна MTU мережевого інтерфейсу

MTU (Maximum Transmission Unit) – максимальний розмір фізичного пакета, котрий може передаватися по мережі, вказується у байтах. Усі повідомлення, розмір яких перевищує MTU, перед відправленням поділяються на частини.

Default MTU Size for Different Network Topology

   Network                       MTU(Bytes)

  ------------------------------------------

16 Mbit/Sec Token Ring     17914

4 Mbits/Sec Token Ring     4464

FDDI                       4352

Ethernet                   1500

IEEE 802.3/802.2           1492

X.25                       576

Для зміни MTU мережевого інтерфейсу в лінуксі необхідно дати ifconfig відповідну вказівку.

Наприклад: # ifconfig eth0 mtu 1492

Для того, щоб зробити це значення постійним, його необхідно записати у файлі /etc/network/interfaces, де знаходиться більшість параметрів. Наприклад:

iface eth0 inet static

                address 192.168.0.1

                network 192.168.0.0

                gateway 192.168.0.254

                netmask 255.255.255.0

                mtu 1492

Однак є одне обмеження.

Warning: the following is mostly obsolete in Sid and Etch

Це означає, що dhcp клієнт не налаштований таким чином, щоб робити те ж для динамічних конфігурацій. Тому нам потрібно його налаштувати. Для цього ми використаємо pre-up можливість /etc/network/interfaces:

iface eth0 inet dhcp

hostname "mymachine"

name LAN Interface

pre-up /sbin/ifconfig $IFACE mtu 1492

4.    Налаштування мережевих інтерфейсів за допомогою ifconfig

Ви можете налаштовувати мережні інтерфейси з командного рядка використовуючи класичні лінуксові мережні утиліти. Найчастіше для цього використовуються команди ifconfig та route; netstat виводить інформацію про мережні з’єднання.

 

Команда ifconfig

Утиліта ifconfig призначена спеціально для гнучкого налаштування мережевих інтерфейсів.

Наприклад, щоб дізнатись свою поточну ІР-адресу, потрібно ввести наступну команду:

# ifconfig

Вихідна інформація матиме приблизно наступний вигляд:

eth0 Link encap:Ethernet HWaddr 00:0F:EA:B2:53:85

inet addr:192.168.2.5 Bcast:192.168.2.255 Mask:255.255.255.0

inet6 addr: fe80::20f:eaff:feb2:5385/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:471 errors:0 dropped:0 overruns:0 frame:0

TX packets:695 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:160637 (156.8 KiB) TX bytes:86193 (84.1 KiB)

Interrupt:185 Base address:0×6000

Створення нового пседовоніму для мережевої картки (NIC)

# ifconfig eth0:1 172.30.49.4

Зміна IP адреси

# ifconfig eth0 172.30.49.13

Зміна мережевої маски

# ifconfig eth0 netmask 255.255.255.0

Зміна адреси трансляції (broadcast)

# ifconfig eth0 broadcast 172.30.49.1

Підняття інтерфейсу

# ifconfig eth0 172.30.49.13 up

або

# ifup eth0

Вимкнути інтерфейс

# ifconfig eth0 down

або

# ifdown eth0

 

Команда route

Route використовується для побудови таблиць роутингу (у пам’яті) implemented for routing packets as well as displaying the routing information. It is used after ifconfig has initialized the interface. route is normally used to set up static routes to other networks via the gateway or to other hosts.

Синтаксис

# route [опції] [команди] [параметри]

         Наприклад, для виведення таблиці маршрутизації, скористайтеся командою route без будь яких параметрів.

# route

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.2.0 * 255.255.255.0 U 0 0 0 eth0

default . 0.0.0.0 UG 0 0 0 eth0

Використаємо опцію -n, щоб команда route вивела деяку додаткову інформацію, замінюючи IP-адреси іменами і зірочками (*). Виглядає це наступним чином:

# route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth0

Додавання нового маршруту за замовчуванням

# route add default gw ІР-адреса інтерфейс

Наприклад:

# route add default gw 172.30.49.1

5 Відновлення видаленого /etc/passwd та /etc/shadow

Інколи (в основному початківці) випадково видаляють файл /etc/passwd. У принципі, це не проблема, оскільки Debian регулярно робить резервні копії важливих системних файлів до /var/backups/, тому панікувати не слід.

Ясна річ, спершу нам потрібно скопіювати цей файл до /etc, де йому і місце:

# cp /var/backups/passwd.bak /etc/passwd

Після цього нам залишається тільки змінити на нього права доступу:

# chmod 644 /etc/passwd

 

Відновлення інших системних файлів

Власне, у цій же теці містяться резервні копії й інших системних файлів: infodir, group, shadow, gshadow…

 6 sshfs

SSHFS – клієнт для роботи з файловою системою через протокол SSH File Transfer Protocol. Він дозволяє змонтувати віддалену файлову систему до вашої й користуватися нею так, ніби вона є локальною папкою. Крім того, даний протокол є безпечним і дуже простим у встановленні та налаштуванні. Для роботи sshfs необхідно лише дві речі:

–                  на локальній системі повинен бути завантажений модуль ядра FUSE;

–                  на віддаленій машині повинен бути завантажений ssh-сервер, який розуміє протокол sshfs.

Підготовка

Перш за все ми повинні встановити SSHFS на локальній системі:

# apt-get install sshfs

Архів міститься у дистрибутивах Дебіена та Убунту.

Після встановлення sshfs, потрібно завантажити модуль ядра fuse, якщо він ще не завантажений. Під root`ом введіть

# modprobe fuse

Після того, як модуль завантажено, sshfs може робити з ним чимало різних операцій з такими файловими системами, як BitTorrent file system, Bluetooth file system, User-level versioning file system, CryptoFS, Compressed read-only file system та багатьма іншими.

Згідно з другою умовою, OpenSSH сервер має бути запущений на віддаленій системі.

Використання

sshfs дуже простий у використанні. Використаємо наступну команду:

# sshfs user@host: mountpoint

За допомогою цієї команди змонтуємо локальну папку облікового запису user@host до локальної теки mountpoint. Ясна річ, припускається, що папка mountpoint вже існує з відповідними правами доступу.

Якщо ви бажаєте змонтувати іншу папку, можете вказати її після двокрапки. Очевидно, отримана команда буде схожою на

# sshfs [user@]host:[dir] mountpoint [options]

 

Альтернативи

Класичними альтернативами для доступу до віддалених файлових систем є NFS та SMBFS, однак вони не є на стільки простими у встановленні та використанні, до того ж серйозно поступаються sshfs у питаннях безпеки.

Якщо ви робите свої файли загальними (зашарюєте) між користувачами Microsoft Windows, можливо SMBFS буде для вас найкращим вибором. Якщо ж ви не піклуєтесь про безпеку і вам необхідна швидка альтернатива, NFS – для вас.

7  Відновлення (скидання) пароля root

Бувають ситуації, коли після тривалого невикористання або ж з іншої причини забувається пароль root`а, який потрібен для виконання багатьох важливих дій. Багато початківців у такій ситуації просто губляться, і перевстановлюють систему. Робити такого не потрібно, адже пароль користувача – це лише кілька символів в одному з файлів, до яких нам власне і потрібно добратися.

Є кілька методів для скидання/зміни паролю root`а.

 

Спосіб №1

Коли з’явиться екран завантаження lilo, де необхідно вибрати ОС для завантаження, наберіть

boot: Linux init=/bin/sh

Ця команда вказує системі завантажити ядро, а тоді /bin/sh замість стандартного init. Тепер ви маєте привілеї користувача root і root shell. Однак кореневий розділ / поки що доступний лише для читання, що не дозволяє нам змінити пароль. Для отримання повноцінної системи зробіть наступне:

# mount -n -o remount,rw /

# mount -avt nonfs,noproc,nosmbfs

# cd /etc

# vi passwd

# vi shadow

(Якщо друге поле у файлі /etc/passwd – “x”, ваша система використовує тіньові паролі і вам необхідно перейти до редагування файлу /etc/shadow). Для скидання пароля, потрібно відредагувати друге поле у файлі /etc/shadow таким чином, щоб воно було пустим. Тепер можете перезавантажити систему і зайти під користувачем root без пароля.

Потрібно знайти простий текстовий редактор у /bin на випадок, якщо /usr буде недоступною. Також бажано встановити архів sash. Якщо система стане нездатною завантажитися, просто наберіть

boot: Linux init=/bin/sash

sash є інтерактивною заміною для sh навіть якщо /bin/sh недоступний. Він статично пов’язаний (злінкований) і включає у себе багато корисних утиліт.

 

Спосіб №2

Завантажтесь із будь-якої аварійної дискетки. Якщо

/dev/sda3

– кореневий розділ, наступні команди дозволять так само легко, як і в попередньому випадку, скинути пароль root`а:

# mkdir recovery

# mount /dev/hda3 recovery

# cd recovery/etc

# vi shadow

# vi passwd

Опустіть курсор до рядка з інформацією про користувача root, котрий має приблизно наступний вигляд:

root:weeWRSF!sfDFs:12581:0:99999:7:::

Видаліть усі символи у другій колонці, щоб рядок виглядав наступним чином:

root::12581:0:99999:7:::

Збережіть файл і закрийте текстовий редактор. Перейдіть до домашньої папки.

Демонтуйте розділ /dev/sda3:

# unmount /dev/hda3 recovery

Після цього перезавантажте систему.

Перевага даного методу над попереднім полягає у тому, що нам не потрібно знати пароль на завантажувач (lilo/grub, etc). Але користувач повинен уміти налаштувати BIOS таким чином, щоб він спершу пробував завантажити систему з дискети або компакт-диску.

 

Спосіб №3

Третій спосіб полягає у тому, щоб під’єднати свій жорсткий диск до іншого ПК і повторити дії, описані у способі №1. УВАГА! Не забувайте правила поведінки із жорсткими дисками.

 

Спосіб №4

Суть способу у завантаженні з CD-приводу (Live CD) і під’єднання кореневого розділу в якості chroot`ного середовища та заміни наявного пароля за допомогою команди passwd:

# mkdir /recovery

# mount /dev/hda3 /recovery

# chroot /recovery

# passwd

Введіть новий пароль і перезавантажте систему.

8 Налаштування NTP-сервера і клієнта в Debian

Network Time Protocol (NTP) – протокол для синхронізації годинників комп’ютерних систем. NTP використовує UDP`шний порт 123.

Використання NTP є добрим способом підтримування коректності налаштувань системного годинника. Він дозволяє працювати з великою кількістю серверів, розташованих по всьому світу, і “підганяти” час під вказаний вами часовий пояс.

Встановлення NTP-сервера і клієнта в Debian`і:

# apt-get install ntp ntpdate ntp-server

 

Ця команда встановить усі необхідні для роботи з NTP архіви.

 

Налаштування NTP-сервера

За замовчуванням головним конфігураційним файлом є /etc/ntp.conf. Виглядає він приблизно наступним чином:

driftfile /var/lib/ntp/ntp.drift

statsdir /var/log/ntpstats/

statistics loopstats peerstats clockstats

filegen loopstats file loopstats type day enable

filegen peerstats file peerstats type day enable

filegen clockstats file clockstats type day enable

# Можна використовати кілька NTP-серверів:

#server ntp.your-provider.example

# pool.ntp.org є попою для понад 300 NTP-серверів.

server 0.debian.pool.ntp.org iburst

server 1.debian.pool.ntp.org iburst

server 2.debian.pool.ntp.org iburst

server 3.debian.pool.ntp.org iburst

# За замовчуванням змінити системний час може будь-хто.

# Дивіться /usr/share/doc/ntp-doc/html/accopt.html для більш детальної конфігурації.

restrict -4 default kod notrap nomodify nopeer noquery

restrict -6 default kod notrap nomodify nopeer noquery

# Якщо локальні користувачі забажають звертатися до локального сервера.

restrict 127.0.0.1

restrict ::1

# Клієнт з цієї (це лише приклад!) підмережі має безлімітний доступ,

# але тільки за умови створення шифрованого з'єднання

#restrict 192.168.123.0 mask 255.255.255.0 notrust

# Якщо бажаєте дозволити синхронізувати час лише клієнтам з вашої підмережі, використовуйте наступний рядок:

#broadcast 192.168.123.255

Перевіримо, чи синхронізується NTP належним чином.

Використовуйте команду ntpq для того, щоб дізнатися перелік серверів, з якими ви синхронізовані. Вона також виведе таку важливу інформацію, як час доступу ntp-клієнта до сервера (jitter), який для підвищення точності часу не повинен бути високим.

# ntpq -p

Отримаємо наступне:

Зірочка (*) перед адресою одного із серверів означає, що системний годинник синхронізується з годинником NTP-сервера. Якщо її немає, це означає, що сервер не доступний або має надто тривалий час синхронізації.

 

Налаштування міжмережевого екрана для NTP.

NTP-сервери спілкуються між собою через UDP і порт 123. Для цього доведеться дозволити трафік за протоколом UDP через порт 123 (отримувач і відправник).

Налаштування NTP-клієнта

Для того, щоб вказатати власні ІР-адреси серверів, потрібно відредагувати конфігураційний файл /etc/ntp.conf.

server 192.168.1.1

Обмежте спосіб доступу до серверів. У даному прикладі серверам не дозволяється динамічно змінювати конфігурацію або поставити під сумнів ваш Linux NTP-сервер.

restrict default notrust nomodify nopeer

 

Налаштування на локальний сервер

restrict 192.168.1.1

У даному випадку маска була розширена до увімкнення усіх 255 можливих ІР-адрес локальної мережі.

Нам також необхідно переконатися, що localhost (універсальне доменне ім’я, котре застосовується в Linux для прив’язки до самої себе) має повний доступ без будь-яких обмежуючих ключових слів:

restrict 127.0.0.1

Збережіть зміни у файлі і закрийте його.

Тепер знову запустіть команду ntpdate вказавши їй в якості параметра ІР-адресу свого сервера:

# ntpdate 192.168.1.1

Для того, щоб перезапустити ntp-сервіс, скористайтеся наступною командою:

# /etc/init.d/ntp restart

Якщо для зміни часу використовуєте команду date, варто змінити час на системному годиннику. Інакше зміни не збережуться після перезавантаження системи. Після того, як годинник операційної системи синхронізувався з NTP-сервером високоточного атомного годинника, синхронізуйте його з апаратним годинником наступним чином:

# hwclock –systohc

Використовуйте команду ntpq для перегляду серверів, з якими ви синхронізуєте час:

# ntpq

# ntpdc –p

 

9 Перевантаження системи Debian/Ubuntu при її «зависанні»

Інколи виникають ситуації на кшталт: впав GNOME, а чарівна комбінація CTRL-ALT-BKSPC не дає ніяких результатів. ALT-CTRL-F1 не відправляє вас до термінала, де ви можете спокійно перезапустити gdm.

На щастя, є ще два способи, про які не знає дуже велика кількість користувачів.

Перший полягає у тому, щоб примусово завершити усі процеси в системі, що є значно кращим варіантом, аніж її гаряча зупинка. Для того, щоб це зробити, скористайтеся наступною комбінацією:

ALT + SysReq + k

SysReq означає, що вам необхідно знайти на клавіатурі клавішу PrtSc (Print Screen). Клавіша “k” означає “Kill” – вбити.

А тепер комбінації клавіш, які можуть допомогти вам зробити деякі правильні дії перед заваршенням роботи системи:

ALT + SysReq + r

Переводить у режим Raw keyboard:

ALT + SysReq + s

Синхронізація диску:

ALT + SysReq + e

Ця комбінація клавіш вбиває усі процеси:

ALT + SysReq + i

Вбиваємо усі усі процеси, які не захотіли завершитися:

ALT + SysReq + u

Перемонтувати усі файлові системи лише для читання:

ALT + SysReq + b

10 Керування init-сценаріями в Debian

Init-скрипти – це маленькі сценарії командного процесора (shell), які контролюють сервіси, також відомі як демони. Також вони можуть контролювати стан деякого програмного забезпечення, на кшталт, hdparm, iptables (завантаження правил міжмережевого екрана в ядро) та setserial (налаштування COM-порта). Усі вони містяться в папці /etc/init.d, і запускаються/зупиняються init`ом при завантаженні системи та переході на інший рівень виконання.

Init-сцерарії виконують важливу роль при запусканні та зупинці системи (у *nix-системах просто змінюється рівень виконання (runlevel). Якщо  подивитися на перелік запущених на системі процесів (команда # ps auwx), то, імовірно, процес з найменшим PID буде мати назву “init”. Це батько усіх процесів, перша програма, яку ядро запускає при завантаженні. Іnit, котрий можна знайти в /sbin/init, відповідає за завантаження системи й керування усіма процесами під час її роботи.

Найпростіші (і, мабуть, найкращі) утиліти для керування init-сценаріями:

rcconf;

update-rc.d;

file-rc.

Тепер розглянемо кожну з них, використовуючи реальні приклади.

Rcconf

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

Ця утиліта налаштовує системні сервіси, пов’язані з рівнем виконання системи. Вона вмикає/вимикає сервіси, використовуючи сценарії у папці /etc/init.d/. Rcconf працює з System-V стилем init. Це – псевдографічна надбудова для іншої утиліти – update-rc.d.

Rcconf отримує перелік сервісів з /etc/init.d і дивиться у папки /etc/rc?.d, щоб дізнатися, який демон працює, а який ні.

Якщо номер (NN /etc/rc?.d/NN імя) не 20 (за замовчуванням), rcconf зберігає ім’я сервісу і номер у /var/lib/rcconf/services, щоб пізніше можна було “відкатати” зміни.

Встановлюємо rcconf:

# apt-get install rcconf

Після цього потрібно запустити rcconf:

# rcconf

Ось яке вікно ви побачите перед собою:

Важливі файли:

/var/lib/rcconf/services - The service number data file.

/var/lib/rcconf/lock – Lock файл.

/var/lib/rcconf/guide.default – Guide File update-rcconf-guide generates.

/var/lib/rcconf/guide – Guide File user (Administrator) can define.

Встановлення і видалення init-сценаріїв стилю System-V style. update-rc.d автоматично оновлює посилання на init-сценарії стилю у /etc/rcRUNLEVEL.d/NNname до /etc/init.d/name. Вони запускаються init`ом під час зміни рівня виконання і, зазвичай, використовуються для запуску і зупинки демонів. Підтримуються наступні рівні виконання: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, S та NN.

Синтаксис update-rc.d:

update-rc.d [-n] [-f] ім’я remove

update-rc.d [-n] ім’я defaults [NN | NN-start NN-stop]

update-rc.d [-n] ім’я start|stop NN рівень – виконання

runlevel start|stop NN рівень – виконання рівень – виконання

Якщо запустити її зі звичайними параметрами для старту або зупинки демона, update-rc.d робить посилання /etc/rcrunlevel.d/[SK]NNім’я на сценарій в /etc/init.d/name. Якщо будь-які файли /etc/rcrunlevel.d/[SK]??ім’я вже наявні, то update-rc.d не робить нічого.

Додаткові опції:

-n – Нічого не робити, просто вивести перелік того, що ми маємо.

-f – Видалення лінків, навіть якщо вони й досі присутні у /etc/init.d/name.

Приклиди використання update-rc.d:

Встановити симлінк з defaults:

# update-rc.d samba defaults

Еквівалентна команда, яка використовує явний набір аргументів:

# update-rc.d samba start 20 2 3 4 5 | stop 20 0 1 6

Для того, щоб вилучити сценарій з автозавантаження, потрібно скористатися наступною командою:

# update-rc.d -f samba remove

file-rc

Є альтернативний механізм завантаження, в якому використовується єдиний конфігураційний файл. Цей архів призначений для керування альтернативним механізмом завантаження системи, завершенням її роботи і зміни рівня виконання. Посилання у /etc/rc?.d/* конвертуються в єдиний конфігураційний файл /etc/runlevel.conf, який дозволяє значно простіше і гнучкіше керувати демонами. Архів автоматично конвертує наявні симлінки в один файл і повертає усе при його видаленні з системи. Обидва механізми сумісні через /etc/init.d/rc, /etc/ init.d/rcS, /usr/sbin/update-rc.d та /usr/sbin/invoke-rc.d сценарії.

Приклади:

#

05 - 0 /etc/init.d/halt

05 - 1 /etc/init.d/single

05 - 6 /etc/init.d/reboot

10 0,1,6 2,3,4,5 /etc/init.d/sysklogd

12 0,1,6 2,3,4,5 /etc/init.d/kerneld

[…]

89 0,1,6 2,3,4,5 /etc/init.d/cron

99 - 2,3,4,5 /etc/init.d/rmnologin

99 0,1,6 2,3,4,5 /etc/init.d/xdm

11 Створення системної дискети

Встановлювач Debian`а дозволяє ще у процесі завантаження створити дуже корисну і часто просто необхідну для адміністратора системну дискетку.

Однак можна створити її у будь-який момент вже у встановленій і робочій системі Debian GNU/Linux. Для цього потрібно вставити чисту дискету до приводо, увійти як root і ввести наступні команди:

# mkboot

# kernel

Замість kernel необхідно вказати ім’я файлу ядра, котре необхідно використати для створення дискети, зазвичай – це vmlinuz.

 

 


 

А также другие работы, которые могут Вас заинтересовать

55437. ВМІННЯ ПРОЩАТИ 43 KB
  Завдання Обери колір пелюстки і дай відповідь на запитання Що таке любов Що означає любити Бога Кого може любити людина Що таке жертовність З якими чеснотами повязана любов У чому проявилася любов Бога до людей Якою є найбільша любов ...
55438. Паралельність прямих і площин у просторі 59.5 KB
  Інтерактивна гра: Незакінчене речення Властивості основних геометричних фігур виражаються Основними фігурами стереометрії є Якщо дві прямі не мають спільних точок і не лежать на одній площині то вони Через дві мимобіжні прямі можна провести площину...
55439. Protection of nature 40 KB
  Objectives: to extend students’ knowledge about ecological problems; to develop students’ creative imagination in communicative activity; to improve listening comprehension and oral speech skills; to stimulate students’ thinking.