Работа в мрежа в Linux
Linux първоначално е проектиран за работа в мрежа, така че работата в мрежа е една от силните страни на Linux.
Linux поддържа популярни мрежови протоколи като TCP/IP и SMB (NetBIOS) и разполага с разширени инструменти за наблюдение и филтриране на мрежов трафик. Linux предоставя услуги като FTP, уеб сървър, Windows файлов и печатен сървър. Linux дори предоставя възможност за централно управление на услуги, виртуална частна мрежа (VPN) и извиквания на отдалечени процедури.
Linux може да работи с всеки мрежов хардуер, за който има драйвер. Linux драйверите са или вградени в ядрото, или компилирани като зареждаеми модули. Много общи мрежови карти се поддържат от ядрото на Linux по подразбиране. Когато избирате мрежово оборудване, трябва да използвате устройства, изброени в „Списък за съвместимост на хардуера“. Използвайте най-новите 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.255.255.0 UP ИЗПЪЛНЕНИЕ НА МНОГО AST MTU:1 500 Metric:1 RX пакети:47255 грешки:0 отпаднали:0 превишавания:0 рамка:0 TX пакети:32949 грешки:0 отпаднали:0 превишавания:0 превозвач:0 сблъсъци:0 txqueuelen:100 RX байтове:22140365 (21,1 Mb) TX байтове:135 19623 (12.8 Mb) Прекъсване:11 Базов адрес: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 packets:1308081 errors:0 dropped:0 overruns: 0 превозвач:0 сблъсъци:0 txqueuelen:0 RX байтове:183376967 (174,8 Mb) TX байтове:183376967 (174,8 Mb)
В горния пример има само един NIC в системата, идентифициран като eth0. Адаптерът lo е адаптерът за обратна връзка, използван от системата, за да се позовава на себе си.
По време на процеса на конфигуриране мрежовите устройства на 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 има пряка връзка между името на устройството и I/O порта на паралелния порт, докато в по-късните ядра имената на устройствата се присвояват последователно по точно същия начин, както при SLIP и PPPустройства.
- ax0, ax1 . Това са AX.25 интерфейси. AX.25 е основният протокол, използван за любителски радиокомуникации. AX.25 интерфейсите се разпространяват и картографират подобно на SLIP интерфейсите.
Мрежова настройка
Настройката на мрежата се извършва по време на инсталирането на вашата Linux дистрибуция. В първоначалната конфигурация вероятно вече ще имате активно устройство eth0. можете да го преконфигурирате, докато работите.
Всяка дистрибуция идва със собствен набор от мрежови инструменти. За да разберете кои точно помощни програми съдържа вашата дистрибуция, вижте нейната документация. Като алтернатива можете да настроите мрежата ръчно, но този проблем изисква внимателно разглеждане. За информация относно ръчната мрежова конфигурация вижте документацията на вашата дистрибуция.
Инструменти за наблюдение
Linux предоставя много инструменти за наблюдение на мрежови задачи.
ifconfig Командата ifconfig се използва не само за показване на информация за устройствата, но и за тяхното конфигуриране. Да приемем, че искате да настроите някаква временна конфигурация за тестови цели. Можете да редактирате настройките с помощта на вградените инструменти на дистрибуцията, но ще трябва да запомните всички оригинални настройки, за да ги възстановите в края. С помощта на командата ifconfig можете бързо да конфигурирате картата, без да засягате запазените настройки:
ifconfig eth0 192.168.13.13 мрежова маска 255.255.255.0 нагоре
ipconfig eth0 надолу
Командата по-горе деактивира устройството eth0. Пълно описание на командата ifconfig може да бъде намерено на информационната страница на ifconfig.
ifup/ifdown Командите ifup и ifdown се използват за активиране и деактивиране на мрежови устройства, като се използват техните съхраненинастройки.
# Активиране на eth0 чрез запазени настройки ifup eth0 # Деактивиране на eth0 ifdown eth0
netstat Конзолната команда netstat се използва за показване на мрежови връзки, таблици за маршрутизиране, статистика на интерфейса, маскиране и въвеждане на мултикаст. Няколко превключвателя на командния ред се използват за управление на командата netstat.
Най-често използвам командата netstat, за да видя връзки, които са в състояние LISTEN или ESTABLISHED. LISTEN означава, че във вашата система има услуги, които чакат връзки от други машини. ESTABLISHED е активна връзка между вашата машина и други машини. Уверете се, че знаете всички програми, които се изпълняват чрез връзката LISTEN. Ако видите нещо непознато, това може да е опасно събитие. netstat има много опции. За повече информация въведете info netstat в командния ред.
route С помощта на командата route console можете да показвате и манипулирате таблицата за IP маршрутизиране.
Ако route се извика без ключове, текущата таблица за маршрутизиране ще бъде отразена. Използвайки route, можете да направите много фини промени в съдържанието на таблицата за маршрутизиране.
маршрут добавяне по подразбиране gw 10.10.10.1
Горната команда добавя маршрут по подразбиране (маршрутът, който ще се използва, ако всички други посочени маршрути не успеят). Всички пакети, използващи маршрута по подразбиране, ще бъдат маршрутизирани през шлюз "10.10.10.1". Устройството, което действително ще се използва за този маршрут, зависи от това как можем да достигнем до "10.10.10.1" - така че статичният маршрут "10.10.10.1" трябва да бъде конфигуриран първо.
route add -net 192.56.76.0 мрежова маска 255.255.255.0 dev eth0
Завършеноинформация за опциите за маршрут може да бъде получена чрез въвеждане на info route.
Изводи