Робота з мережею в Linux
Linux спочатку створювався для роботи з мережею, тому робота з мережею - це одна з сильних сторін Linux.
Linux підтримує популярні мережеві протоколи, такі як TCP/IP і SMB (NetBIOS), має вдосконалені інструменти для моніторингу та фільтрації мережного трафіку. У Linux доступні такі служби як FTP, web-сервер, Windows-файл і принтсервер. Linux навіть надає можливість централізованого управління службами, Virtual Private Networking (VPN) та віддаленого виклику процедур.
Linux може працювати з будь-яким мережним обладнанням, для якого він має драйвер. Драйвера Linux або вбудовуються в ядро, або компілюються як модулі, що завантажуються. Багато поширених мережних карт за замовчуванням підтримуються ядром Linux. При виборі мережного обладнання слід використовувати пристрої, перелічені у списку сумісних пристроїв Hardware Compatibility List. Використовуйте останні версії дистрибутивів Linux.
Як правило, якщо ви використовуєте сумісне мережеве обладнання, ваша картка буде автоматично розпізнана під час інсталяції системи. Ви можете перевірити мережеве обладнання, виявлене системою, використовуючи команду ifconfig. За умовчанням ifconfig демонструє активні мережеві пристрої. Щоб побачити всі мережеві пристрої, додайте ключ -a:
[root@cmw-t30 root]# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:09:6B:60:8B:1E inet addr:9.41.209.160 Bcast:9.41.209.255 Mask:255.2 255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:47255 errors:0 dropped:0 overruns:0 frame:0 TX packets:32949 errors:0 dropped:0 overruns:0 carrier :0 collisions:0 txqueuelen:100 RX bytes:22140365 (21.1 Mb) TX bytes:13519623 (12.8 Mb) Interrupt:11 Base address:0xf000 lo Linkencap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:1308081 errors:0 dropped:0 overruns:0 frame:0 TX пакети:1308081 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:183376967 (174.8 Mb) TX bytes:183376967 (174.8 Mb
У наведеному вище прикладі в системі є тільки одна мережева карта, ідентифікована як eth0. Адаптер lo - це loopback (адаптер зворотного зв'язку), який використовується системою для звернення до самої себе.
У процесі конфігурації мережним пристроям Linux надаються імена, що складаються з наочної абревіатури та номера. Перший пристрій цього типу має номер 0, інші нумеруються 1, 2, 3 і т.д.
- eth0, eth1. Це інтерфейси Ethernet-карт. Використовуються для більшості Ethernet-карт, включаючи багато Ethernet-карт, що підключаються через паралельний порт.
- tr0, tr1 . Це інтерфейси карток Token Ring. Використовуються для більшості карток Token Ring, включаючи картки, вироблені не компанією IBM.
- s10, s11 . Це SLIP інтерфейси. SLIP інтерфейси пов'язані з послідовними портами у порядку, у якому вони призначаються для SLIP.
- ppp0, ppp1 . Це інтерфейси PPP. Подібно до SLIP інтерфейсів, PPP інтерфейс зв'язується з послідовним портом, як тільки він переходить в PPP-режим.
- plip0. plip1 . Це інтерфейси PLIP. PLIP передає IP датаграм через паралельні порти. Інтерфейси розподіляються драйвером PLIP під час завантаження системи та зв'язуються з паралельними портами. У ядрах версій 2.0x існує прямий зв'язок між іменем пристрою і портом введення-виведення паралельного порту, а в ядрах пізніших версій імена пристроїв призначаються послідовно так само, як для SLIP та PPPпристроїв.
- ax0, ax1 . Це інтерфейси AX.25. AX.25 - основний протокол, що використовується для аматорського радіозв'язку. AX.25 інтерфейси розподіляються та відображаються аналогічно інтерфейсам SLIP.
Налаштування мережі
Налаштування мережі здійснюється в процесі інсталяції дистрибутива Linux. У вихідній конфігурації у вас вже, мабуть, буде активний пристрій eth0. у процесі роботи ви зможете переналаштувати його.
Кожен дистрибутив містить власний набір інструментів налаштування мережі. Щоб дізнатися, які утиліти містить ваш дистрибутив, зверніться до його документації. Крім того, ви можете налаштувати мережу вручну, проте це питання вимагає ретельного опрацювання. Інформацію щодо ручної конфігурації мережі ви знайдете в документації до вашого дистрибутива.
Кошти моніторингу
У Linux передбачено багато засобів моніторингу мережевих завдань.
ifconfig Команда ifconfig служить не тільки для виведення інформації про пристрої, але також і для їх налаштування. Припустимо, ви хочете налаштувати певну тимчасову конфігурацію для тестування. Ви можете відредагувати налаштування, використовуючи вбудовані в дистрибутив інструменти, однак вам доведеться запам'ятати всі вихідні установки, щоб відновити їх в кінці. Використовуючи команду ifconfig, ви можете швидко налаштувати карту, не торкаючись збережених налаштувань:
ifconfig eth0 192.168.13.13 netmask 255.255.255.0 up
ipconfig eth0 down
Команда вище відключає пристрій eth0. Повний опис команди ifconfig можна знайти на сторінці info ifconfig.
ifup/ifdown Команди ifup та ifdown служать для того, щоб активувати та дезактивувати мережеві пристрої, використовуючи їх збереженіналаштування.
# Активує eth0, використовуючи збережені налаштування ifup eth0 # Вимикає eth0 ifdown eth0
netstat Консольна команда netstat використовується для виведення мережевих підключень, таблиць маршрутизації, статистики інтерфейсів, маскарадингу та входження до multicast. Для керування командою netstat служать кілька ключів командного рядка.
Найчастіше я використовую команду netstat, щоб побачити з'єднання, які перебувають у стані LISTEN або ESTABLISHED. LISTEN означає, що у вашій системі є служби, які чекають на з'єднання від інших машин. ESTABLISHED – це активне з'єднання між вашою та іншими машинами. Переконайтеся, що ви знаєте всі програми, які використовують з'єднання LISTEN. Якщо ви бачите щось невідоме, то це може бути небезпечним явищем. netstat має велику кількість опцій. Для отримання докладної інформації наберіть у командному рядку info netstat.
route За допомогою консольної команди route можна вивести на екран таблицю маршрутизації IP та оперувати з нею.
При виклику route без ключів буде відображено поточну таблицю маршрутизації. Використовуючи route, ви можете вносити дуже тонкі зміни вмісту таблиці маршрутизації.
route add default gw 10.10.10.1
Наведена вище команда додає маршрут за промовчанням (маршрут, який буде використаний, якщо всі інші маршрути не підходять). Усі пакети, які використовують маршрут за промовчанням, будуть надіслані через шлюз "10.10.10.1". Пристрій, який фактично використовуватиметься для цього маршруту, залежить від того, як ми можемо досягти "10.10.10.1" - тому статичний маршрут "10.10.10.1" має бути налаштований насамперед.
route add-net 192.56.76.0 netmask 255.255.255.0 dev eth0
Повнуінформацію про опції route можна отримати, набравши info route.
Висновки