Как да настроите и конфигурирате TCP/IP файлове в Linux (Настройки за TCP/IP за Linux)

Дори и хора, които не са отрепки, вероятно са чували за „ TCP/IP “, но всеки знае ли какво е това или как да го конфигурира на Linux сървър с помощта на командния ред(using the command line) ?

Помага първо да дефинирате основна терминология. Най-малкото ви позволява да разработите рамка, върху която да изградите своето разбиране. TCP/IP не е изключение. 

Този раздел за терминологията не е изчерпателен списък. Това ще ви даде основа, на която да започнете своето пътуване към разбирането на работата в мрежа и как да конфигурирате TCP/IP файлове в Linux

The *Nix World

Чудили ли сте се някога какво означава *nix ? Какво ще кажете за това как са свързани Unix и Linux(Unix and Linux are related) (да не говорим за всички различни версии на всеки)?

*nix е метод за препращане към Linux и/или Unix (или каквато и да е дистрибуция) с помощта на заместващ знак (звездичката), за да направите това. 

* Nix е разработен в края на 60-те години. AT& T Bell Labs разработи Unix приблизително по същото време. чрез различни итерации и разработки се ражда и Linux .

Резултатът от тези паралелни иновации е, че след като се научите как да извършвате инсталации на един сървър чрез командния ред, вие сте научили умение, което вероятно е съвместимо с много други задачи на различни Unix или Linux сървъри. 

Man Pages – Информация на една ръка разстояние(Man Pages – Information at Your Fingertips)

Подобно на Google , Linux има собствен набор от инструменти за търсене и изследване, които позволяват на потребителите да намерят необходимите им ресурси. Тези ресурси са известни като „man pages“. Когато сте влезли в Linux сървър (или Linux - базирана операционна система), можете да отворите приложението от командния ред и да въведете това, което искате да проучите, като например да въведете дума за търсене в интерактивен файл с документация.

Ако изберете тема, която искате да проучите, като помощна програма за Linux , инструмент, демон, скрипт(daemon, script) , можете да я потърсите, като напишете „man“ и след това думата. Ще научите как да направите това по-късно в тази статия.

Man страниците са лесни за използване. Просто(Just) започнете да пишете няколко думи и Linux OS ще започне да ви връща информацията. Ако няма man страница за конкретна тема , Linux ще ви каже това.

В по-голямата си част ман страниците са сравнително точни за версията на софтуера, на която се появяват. Например, ако сте влезли в Linux сървър, който е на 10 години, man страницата показва информация за тази версия (и възраст).

Man страниците са лесни за използване и точни, но има няколко предупреждения. Нека илюстрираме тези предупреждения чрез изображения. 

На изображението по-долу, man страницата за ARP показва, че ARP е остарял (под секцията „бележки“) и че вместо това трябва да потърсите ip neigh . По тази нотация изглежда, че може да искате да напишете „ man ip neigh “, за да получите достъп до информация за инструмента/протокола за подмяна. 

Въпреки това, въвеждането на “ man ip neigh ” не търси справочната страница за “ip neigh”. Вместо това, той ще търси две страници на справочник... едната за „ip“, а другата за „neigh“. 

Въпреки че е вярно, че ще получите man страница, ако напишете „man ip neigh“, освен ако не сте внимателни, може да пропуснете, че всъщност не е това, което търсите. 

Бихте могли да добавите тире (въпреки че това не е това, което се показва в man страницата при препратка към инструмента за подмяна)... Така че, ако добавите тире и напишете „man ip-neigh“, това също работи добре, но не е правилно или.

Може да опитате да напишете „ man ip-neighbour “ (обърнете внимание на британския правопис). Когато въведете тази конкретна фраза, ще видите правилната man страница за подмяна на ARP man страницата (или замяна на ARP протокола). Изводът е следният: Ако не можете да намерите това, от което се нуждаете, опитайте да използвате различни комбинации, докато не получите желаната man страница.

Като пример опитайте да потърсите man страницата за инструмента nslookup. Можете да направите това, като напишете „man nslookup“. Когато направите това, ще видите man страница, която изглежда подобна на изображението/екранната снимка по-долу. Ще научите всичко, което бихте искали да знаете за инструмента nslookup.

След като man страницата се появи на екрана ви, можете да превъртите надолу, да прочетете, приложите, тествате и дори да затворите man страницата (като напишете буквата „q“ и оставите страницата на man автоматично да се затвори).

Ако поискате несъществуваща man страница, Linux ще ви предостави обратна връзка, че няма вход за тази страница и да опитате друга.

IPv4 и IPv6(IPv4 and IPv6)

И IPv4 , и IPv6 са технически еднакви, но не изглеждат еднакви за нас, хората. Те са средство за идентифициране на машини или устройства в локална мрежа ( LAN ). Те са частни по начина, по който идентифицират устройствата в LAN .

IPv4 използва числа, разделени с точки/точки. Повечето от нас са запознати с типа IP адреси, които виждаме за компютри, свързани към нашите частни мрежи, използващи формата IPv4 .

Компютрите в мрежа също имат IPv6 адрес, но той изглежда различно. IPv6 се състои от буквено-цифрови знаци, разделени с двоеточия ( : ). 

И така, какви са разликите между IPv4 и IPv6 ? Мислете(Think) за това като за име на мрежа. Едното е като собственото име, а другото е фамилното име. И двете имена сочат към едно и също лице (или в този случай компютър). Точно както обикновено имаме различно собствено име в сравнение с нашето фамилно име, „името“ на IPv4(IPv4 “) ще бъде различно от „името“ на IPv6(IPv6 “) , въпреки че и двете сочат към една и съща машина.

Карла Шрьодер(Carla Schroeder) е написала лесна за четене и полезна статия за IPv4 и IPv6(useful article about IPv4 and IPv6) .

Root достъп на Linux сървър (и su и sudo)(Root Access on a Linux Server (and su and sudo))

За много от задачите, които трябва да бъдат завършени, е необходим root достъп (известен още като администратор или суперпотребител). Това е така, защото много от тези помощни програми и приложения са достатъчно чувствителни, че са ограничени от съображения за сигурност. 

Алтернативно решение за влизане като root или задействане на достъп на суперпотребител (su) е добавянето на команда с „sudo“, което казва на Linux машината, че тази конкретна команда трябва да се изпълнява като суперпотребител/root, но че следващите команди не го правят (освен ако също в началото с директивата „sudo“). 

В случаите, когато „sudo“ се използва и се добавя към командата, Linux ще поиска su паролата, за да удостовери самоличността и разрешенията на суперпотребител.

Мрежови протоколи(Networking Protocols)

има много различни протоколи, които трябва да имате предвид, когато обсъждате Linux . Двата протокола, които са основни за тази статия, са TCP и IP.

Протокол за управление на предаването (TCP)(Transmission Control Protocol (TCP))

Протоколът за управление(Transmission Control Protocol) на предаването , по-често наричан TCP , е протокол, използван за предаване на пакети, точно както описва името.

Вижте по-долу за обяснение на различни инструменти, включително инструмента на Linux , наречен Traffic Control (tc). 

TCP насочва операционната система Linux как трябва да се преместват пакетите от едно място на друго. Той също така контролира мрежовия трафик и насочва предаването на пакети информация (като папки с данни,(data) които се преместват от едно място на друго). 

Ето защо протоколът се нарича  протокол за управление(Transmission Control Protocol) на предаването (TCP). 

Интернет протокол (IP)(Internet Protocol (IP))

Интернет протоколът(Internet Protocol) обикновено се нарича със своя акроним IP.

В случай на IP имате по-широка област ( интернет(Internet) ) за предаване на пакети. Това е като да имате по-широка, по-дълга и по-пътувана супер магистрала... наречена интернет. Докато TCP контролира движението на пакети в мрежа, IP контролира движението на пакети в интернет.

ICMP протокол(ICMP Protocol)

ICMP е съкращение от Internet Control Messaging Protocol . Въпреки че това е протокол, който е наличен в повечето дистрибуции на Linux , той може да не е наличен във всички дистрибуции на Linux . Това се доказва от липсата на Man страница в текущата инсталация на Centos .

На пръв поглед може да не изглежда, че този конкретен протокол е толкова важен, но в действителност е така. ICMP е отговорен за предоставянето на съобщения за грешка, ако/когато пакетът не достигне правилно местоназначението си. ICMP е от съществено значение за получаване на актуализации на състоянието при доставката (или получаването) на пакетите с информация, която се предава.

Протокол за потребителска диаграма (UDP)(User Diagram Protocol (UDP))

Протоколът за потребителска диаграма(User Diagram Protocol) ( UDP ), подобно на протокола за управление(Transmission Control Protocol) на предаването ( TCP ), е протокол за предаване на пакети информация от една точка до друга. В случая на TCP , като част от процеса/предаване, има проверка за успешна доставка на пакета(ите), което го прави по-надежден от UDP .

В случай на UDP няма процес на проверка, така че няма да знаете дали пакетите са били предадени или получени успешно и без грешка. Като такъв, това е достатъчно лесен за използване протокол, но не може да се провери или удостовери. 

Linux конфигурация(Linux Configuration)

В операционната система  Linux има няколко конфигурационни файла.(Linux)

Например, ако използвате Apache сървър на вашата Linux машина, конфигурационните файлове на Apache са важни. Тези файлове позволяват на уеб сървъра на Apache да знае какво се случва с домейна и по-конкретно сайта, който се хоства на този сървър.

Понякога конфигурационният файл е обозначен като httpd.conf. Понякога е обозначен като apache.conf. Или може да е съвсем различен етикет/име. Може да намерите конфигурационните файлове на едно място на един сървър, а друг път те са на съвсем различно място на друг сървър.

За щастие има полезни команди, които могат да помогнат при намирането на конкретни конфигурационни файлове. Например, можете да въведете следното, за да намерите конфигурационния файл “ httpd.conf ”, ако съществува:

find / -name “httpd.conf”

Първата дума, “find”, позволява на Linux да знае каква команда/помощна програма използвате, която в този случай е помощната програма “find”. Вторият компонент на командния ред е „/“, който позволява на помощната програма find да знае, че трябва да търси пътя, започвайки от основното ниво на сървъра.

Ако търсите в по-конкретно място, може да имате нещо като „/etc“, за да уведомите Linux да започне в директорията etc и да следва този път. Като предоставите специфичен път/местоположение, можете потенциално да ускорите процеса, защото Linux не трябва да търси на места, които са излишни.

Опцията “ -name ” позволява на Linux да знае какво търсите в името на файла или директорията. Полезно е да включите името в кавички и можете също да използвате звездичка ( * ) като заместващ знак при търсене.

Някои примери за конфигурационни файлове и директории в директорията/пътя „/etc“ включват: 

  • pam.d – директория, която съдържа помощни програми, свързани с модули за удостоверяване. „Su“ и „sudo“ се намират там, като пример.
  • sysconfig – директория, която включва функции на компютъра, като управление на захранването, мишка и др. 
  • resolv.conf – файл, който подпомага функционалността на сървъра за имена на домейни, ако Linux машината се използва в това качество.
  • услуги(services) – този файл съдържа наличните връзки (т.е. отворени портове), налични на Linux машината.

Ако се чудите дали някои файлове, пътища или помощни програми са остарели или оттеглени, използвайте man страниците, за да проверите. Това е полезен начин да следите какво е актуално и какво се е променило.

Разбиране на файловата система на Linux(Understanding the Linux File System) 

В много дистрибуции на Linux(Linux distributions) конфигурационните файлове се намират в директорията на мрежовите скриптове под пътя „ etc/sysconfig ”. Ако те не се намират там, вероятно има подобно местоположение/пътека. Файловете, които присъстват в този конкретен случай, са показани на екранната снимка по-долу.

Както ще видите на екранната снимка по-долу, има два конфигурационни файла. Всеки от тях е етикетиран според съответните им интерфейси (т.е. ifcfg-eth0).

Конфигурационните файлове се предшестват от “ ifcfg ”, което замества командата ifconfig(ifconfig command) (както и става част от името на интерфейсния файл). Въпреки това, сега той също е донякъде заменен, тъй като ifcfg не е съвместим с IPv6 .

Двете препратки към интерфейса ( ifcfg-eth0 и ifcfg-lo ) се отнасят за специфични типове интерфейси. Разработчиците на Linux(Linux) бяха полезни в тази област, предоставяйки дефиниция и насока под формата на имена на файлове. В случай на интерфейс, завършващ на „ eth0 “, това е интерфейс, който е свързан чрез „ethernet“ или има възможност за ethernet.

Използването на буквите “ eth ” ви насочва в правилната посока. Числото, което следва „eth“, предоставя номера на устройството. И така, следващото ethernet устройство може да бъде нещо като „ ifcfg-eth1 “ и така нататък.

Името на файла, което завършва на "lo", се отнася до интерфейс "loopback". Също така се споменава като „ локален хост(localhost) “. Това е мрежова връзка, която технически не е истинска мрежова връзка. Той просто позволява на процесите да комуникират на устройството, без да комуникират през мрежата. Мислете за „виртуално“, когато мислите за този конкретен интерфейс.

Всички дистрибуции на Linux могат да имат loopback (или локален хост) и обикновено са настроени за такъв по подразбиране. Те използват интерфейс, който завършва на „-lo“. IP адресът за локалния хост обикновено е 127.0.0.1. В много случаи виртуалният интерфейс за обратна връзка може да се използва за тестване на връзки и за изключване на други потенциални проблеми с мрежата.

Файловете(The Files)

Има различни начини за редактиране на конфигурационни файлове (както и за прегледа им). Един от методите е да използвате “ vi editor ”, до който се осъществява достъп чрез командата “ vi ”, последвана от името на файла. В този случай, когато се въведе „ vi ifcfg-eth0 “ (без кавички), те могат да видят мрежовата информация за този конкретен интерфейс (eth0).

Все пак би било по-препоръчително да го направите по традиционния начин и да следвате инструкциите за мрежова конфигурация, които се намират в man страницата за ifcfg.

Това също може да бъде по-лесно за нетехническия човек. Използването на vi редактора изисква малко внимание към детайлите, така че ако сте ориентирани към детайлите (или вече сте програмист или системен администратор), vi редакторът може да бъде оптимално решение при работа с конфигурационни файлове на Linux .

При достъп до man страниците, ние можем да прегледаме информацията за скрипта ifcfg, който замени скрипта ifconfig (както е показано на горната екранна снимка на man страницата). Също така, когато разглеждаме списъка с интерфейси в дистрибуцията на Linux , забелязваме командите ifup и ifdown. Те също могат да бъдат прегледани в тяхната(ите) страница(и).

Екранна снимка на man страницата е показана на изображението по-долу. Както ще видите на страницата на ръководството, има допълнителни конфигурационни файлове на Linux (и пътищата за достигане до тези файлове), които могат да бъдат консултирани (и модифицирани) при настройката и конфигурирането на TCP/IP файловете в Linux .

Ако използвате текстов редактор от команден ред като редактора vi, за да видите конфигурационния файл, ще забележите някои опции, които са дефинирани. Например, когато разглеждате мрежовия интерфейс, може да видите думи с главни букви, последвани от знак за равенство (=), а след това друга дума. 

Например, може да има директива, която е “ ONBOOT ” и може да каже “ONBOOT=yes” като пример за опция за конфигурация. Има и няколко други конфигурационни точки и опции. Например, друг е NETMASK

Ако видите конфигурационната директива „ МРЕЖА(NETWORKING) “, тя трябва да бъде последвана от „да“. Ако е последвано от „не“, това може да представлява проблем, защото това би означавало, че мрежовият интерфейс не е активиран за работа в мрежа. 

Ето стъпка по стъпка процес за коригиране на току-що описаната ситуация:

  1. Направете копие на конфигурационния файл, за да сте в безопасност. Има няколко начина да направите това. Един от най-лесните е с командния прозорец.

    Напишете: cp ifcfg-eth0 ifcfg-eth0_20200101

    След това на следващия ред въведете: mv ifcfg-eth0_20200101 /home/mydirectory/ifcfg-eth0_20200101

    Това премества копието на файла, което току-що сте направили, в директория, която сте направили за резервно копие.
  2. След като сте направили резервно копие на конфигурационния файл, е време да направите промени в този конфигурационен файл. Ако използвате редактора vi, ще въведете следното:

    vi ifcfg-eth0

    След като направите това, файлът ще се отвори в терминалното/командното приложение (подобно на начина, по който се отваря man страница, когато го задействате).

    След като конфигурационният файл е отворен, ще потърсите реда, който включва „ NETWORKING=no “ и ще изтриете този ред или го промените на „NETWORKING=yes”. Това може да стане с „ cw” директива в редактора vi. Като напишете наклонена черта, вие казвате на редактора vi, че търсите нещо. В този случай уведомявате редактора, че търсите „МРЕЖА“ и когато бъде намерен (насочвайки мишката към това място), можете да използвате десния клавиш със стрелка, за да се придвижите до думата „не“.

    Когато стигнете до думата „не“, спрете на „n“ и напишете „ cw “, което ви позволява да промените „не“ на „да“. „cw“ означава промяна на думата и Linux ви позволява да промените цялата дума от една дума („не“) в друга („да“). Ако искате да промените само една буква, можете да използвате „r“, за да замените една буква или знак.

    Екранните снимки показват този процес по-долу.
     
  3. След като запазите конфигурационния файл (т.е. напишете esc, за да излезете от режим INSERT и след това двойно Z, за да запазите файла), е време да рестартирате услугата или компютъра. Това може да стане по няколко различни начина. Един от методите за рестартиране на компютъра е да напишете следния команден ред:

    shutdown -r now

    Командата за изключване казва на Linux машината да се изключи. Опцията -r казва на командата, че това не е просто изключване, а рестартиране и да го направи сега.

    Съвет:(Tip:) Ако искате да знаете кога компютърът или сървърът е завършил рестартирането, въведете „ping“ и след това публичния IP адрес на компютъра/сървъра (или име на домейн на сайт, хостван на сървъра на Linux ).

    Като използвате командата ping, ще видите, че сървърът не може да бъде „пингуем“ (което се случва по време на рестартирането) и след това, когато сървърът се рестартира успешно, ping ще отговори с положителен отговор, което показва успешно рестартиране.

Следват някои изображения, които помагат да се илюстрират стъпките в горния списък.

Етап 1:

Стъпка 2:

Съвет:(Tip:) Имайте предвид, че нищо в света на сървърите не е единствено. Например, можете да промените конфигурацията за конкретен интерфейс (в този случай eth0), но това може да е само един интерфейс в мрежата и може да бъде засегнат (или да засегне) друг сървър.

Така че в примера по-горе, чрез рестартиране на сървъра, той ще задейства и рестартирането на мрежовите устройства. Това не е единствената опция за този интерфейс, но този интерфейс ще бъде повлиян от команда за рестартиране. 

/etc/hosts File(s)

Файлът /etc/hosts може да съществува или да не съществува. Ако съществува, може или не може да се използва в конфигурацията. Например, може да имате различна система, която обработва конфигурациите на хоста, вместо директно да управлява файла. Освен това самият файл хост варира. Например, IPv4 и IPv6 обработват конфигурацията по различен начин, както можете да видите на изображението по-долу.

Configuration Files; Locations/Paths; Terms; and More

Някои допълнителни полезни имена на файлове и файлови местоположения са:

  • /etc/sysconfig/network-scripts/ (път на конфигурационния файл)
  • /etc/sysconfig/network-scripts/ifcfg-eth0 (конфигурационен файл)
  • /etc/hosts (конфигурационен файл)
  • /etc/resolv.conf (конфигурационен файл с информация за сървъра на имена)

В много случаи системният или сървърният софтуер създава конфигурационните файлове автоматично. Освен това, ако се използва DHCP , има и други аспекти на мрежовата конфигурация, които се изчисляват в движение, тъй като в този случай не се използват статични IP адреси.

Следните команди от командния ред (CL) се използват (или се използват) в повечето дистрибуции на Linux. Когато те са остарели или оттеглени, се изписва командата за замяна.

  • маршрут(route) ( obsolete / deprecated ): Използва се за показване и редактиране на маршрути. Заменен от ip маршрут(ip route) .
  • hostname : Използва се за показване или манипулиране и редактиране на името на хоста на машината. 
  • netstat : Преглед на мрежови връзки, таблици за маршрутизиране, статистика на интерфейса, членство в мултикаст и др.
  • arp : ( obsolete / deprecated ) Използва се за показване на IPv4 информация; по-специално кеша на съседа на мрежата. IPv6 се превърна в мрежов адрес, заменяйки IPv4 колекцията от четири числа, разделени с точки. В светлината на тези промени, тази остаряла команда е заменена с ip neigh .
  • ip : IP не само означава „интернет протокол“ и най-добрата WAN (широкообхватна мрежа), но също така е помощна програма, която позволява на системния администратор или потребителя на компютъра възможността да преглежда параметрите на TCP/IP , както и да ги задава като необходими.
  • tc : Това означава „контрол на трафика“ и е помощна програма за подпомагане на управлението на входящия и изходящия трафик на Linux машината. 

Инструменти за конфигуриране: GUI Vs. команден ред (CL)(Configuration Tools: GUI Vs. Command Line (CL))

За да осигурят отправна точка, следните три изображения показват механизъм за графичен потребителски интерфейс ( GUI ) за обработка на конфигурацията на мрежата, включително TCP/IP

Първото изображение е GUI на Apple Mac(Apple Mac GUI) ( System Preferences > Networking ), а вторите две изображения са на операционната система Windows(Windows Operating System) (въпреки че варира от версия до версия). Достъпът до него се осъществява чрез контролния панел на Microsoft(Microsoft Control Panel) и мрежовите връзки(Network Connections) , както можете да видите на екранните снимки.

Плюсове и минуси на GUI срещу текстов редактор или команден ред (CL)(Pros and Cons of GUI Versus Text Editor or Command Line (CL))

Въпреки че много хора предпочитат графични потребителски интерфейси ( GUI ) поради тяхната лекота на използване, визуално представяне и цялостна простота, е полезно да разберете конфигурационните файлове (в този случай свързани с работа в мрежа), за да можете да отстранявате и коригирате всякакви проблеми. 

Може да искате първо да вземете GUI , но ви помага да сте напълно информирани... за всеки случай. Също така, има някои операционни системи, които нямат непременно GUI (или все още нямат такъв), така че отново; полезно е да си подготвен.

В следващия раздел ще разгледаме конфигурационните файлове и как да получите достъп до тях, да ги актуализирате, както и управлението на файловете и помощните програми.

Инструменти за команден ред (CL) на Linux, помощни програми, скриптове и демони(Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons)

Има много инструменти, които са налични за Linux дистрибуции. Отново(Again) , подобно на други команди, има прилики (и разлики) между начина, по който тези инструменти се използват в различните дистрибуции. В някои случаи инструментите са налични, но първо трябва да бъдат инсталирани, а процесът на инсталиране често варира.

Инструментът на командния ред често се споменава като shell , а в първите дни - terminal . Има и други термини за него, но като цяло това е приложение, което позволява на потребителя да има достъп до операционни системи, като въвежда команди в прозорец.

Нека разгледаме няколко примера. Първият е от операционната система Windows и вероятно изглежда познат на потребителите на Windows . Инструментът се отваря чрез въвеждане на CMD (както е показано на екранните снимки по-долу). 

Втората екранна снимка е тази на приложение, наречено Terminal , което се предлага предварително инсталирано на повечето компютри на Apple .

NSLookup (nslookup)

В случай на nslookup , ns означава сървър на имена(nameserver) и частта за търсене(lookup) на командата е „потърсете“ информация. И така, името на този инструмент ни казва, че той ще търси информация, общодостъпна чрез сървър на имена.

NSLookup е удобен инструмент. В този случай ние го използваме, за да търсим информация за eBay. За да го направим, въвеждаме „nslookup ebay.com“ и ни се представя информация, подобна на тази, показана на изображението по-долу.

Командата се показва в горната част на екранната снимка (след замъглена лична информация). След това изходът от тази заявка ( nslookup ) е показан по-долу, с информация като сървър(Server) (публичният IP адрес), конкретния IP адрес(IP address) и т.н. 

Контрол на трафика (tc)(Traffic Control (tc))

Друг инструмент е инструментът „Контрол на трафика“ (наричан още „tc“). Това е инструмент, който позволява планирането и обработката на пакети данни. 

Командата ви казва как(how) пакетите се движат по мрежа. Този аспект(how) включва отговорите на въпроси като време, скорост, устройства и други. Ето представяне на командния ред (CL) за използването на Traffic Control (tc):

Въпреки че за някои може да изглежда като „безумие“, всяка дума в командния ред представлява нещо важно. Ето списъка:

  • tc : Това е инструментът, в този случай „Контрол на трафика“ (известен още като „tc“). Това казва на приложението/софтуера на командния ред кой Linux инструмент да използва.
  • qdisc : Това съкращение означава дисциплина на опашката(queuing discipline) и е друг начин за описание на прост планировчик.
  • add : Тъй като изграждаме конфигурация (да, технически файл), ние казваме на инструмента, който добавяме(adding) към контролите.
  • dev eth0 : „dev“ се отнася до „устройството“, като уведомява инструмента, че сме на път да дефинираме устройството. „eth0“ в този случай е препратката към устройството. Ще забележите, че това е подобно на това, което се появява в графичен потребителски интерфейс ( GUI ) за етикет на устройство.
  • root : Това казва на инструмента, че модифицираме изходящия трафик от основното ниво или изходящ.
  • netem : Тази дума представлява фразата „мрежов емулатор“. Въпреки че може да не е хардуерната мрежа, тя подражава на същата. Това е подобно на начина, по който софтуерът Parallels емулира софтуера на Windows за компютри на Apple . Разбира се, това е напълно различен софтуер, но е софтуер за емулация по същия начин, по който netem емулира мрежа. В този случай netem представлява WAN (широкообхватна-мрежа) за разлика от LAN (локална-мрежа). 
  • забавяне(delay) : Тази дума казва на инструмента tc, че променяме компонента „закъснение“ на транзакцията.
  • 400ms : Вече казахме на инструмента, че влияем на забавянето, но сега трябва да дефинираме колко влияем на забавянето. В този случай е с 400 милисекунди. 

Мрежов мениджър(Network Manager)

Целта на Network Manager е да опрости и автоматизира конфигурацията на вашата мрежа. За потребители на DHCP , мрежовият мениджър(Network Manager) може да получи IP адрес, да замести маршрутите по подразбиране и автоматично да сменя сървърите за имена.

Инструментът nmtui за използване на вашия мрежов мениджър(Manager) е наличен в повечето, макар и не във всички дистрибуции на Linux . Също така, имайте предвид, че някои инструменти са „на разположение“ и все още не са налични. С други думи, има някои инструменти и демони, които трябва да бъдат инсталирани и не е задължително да са предварително инсталирани във въпросната дистрибуция на Linux .

Други мрежови теми(Other Networking Topics)

Има много аспекти на работата в мрежа и TCP/IP , които са особено завладяващи, особено когато се занимавате с дистрибуция на Linux . Не забравяйте(Don) , че имате ръчни страници (известни още като man страници), достъпни точно в инсталацията на Linux . Така че, въпреки че това може да изглежда като един вид несвързан списък с това, което не трябва да правите, винаги можете да използвате страница на човек, за да разберете какво трябва да правите.

Linux като рутер(Linux as the Router)

В наши дни повечето хора използват хардуер, който е предназначен за задачата за маршрутизиране (т.е. рутер), за да управляват задачата за мрежов маршрут(manage the network route task) .

Много пъти това е така, защото рутерите са част от пакетната сделка с домашни или офис интернет пакети/договори. Клиентът обикновено е хванат да плаща такса за наем/лизинг на месец (или годишно) или трябва да закупи рутера. 

Колкото и да се справя, има малка нужда Linux да работи като рутер, въпреки че е способен да функционира като един. Описаните по-горе сценарии създават ситуация на почти псевдо-отпадане на Linux , но това не означава, че Linux е напълно извън играта. Възможно е да настроите Linux сървър като хардуерен (и последващ софтуер) рутер, ако е необходимо.

IP маршрут (по-рано „Маршрут“)(IP Route (Formerly “Route”))

Следното изображение показва екранна снимка на man страницата за “Route” и директивите, които са възможни с този инструмент. 

SNORT – Система за откриване на натрапници(SNORT – An Intruder Detection System)

Snort Software е (Snort Software)система за откриване на проникване(Intrusion Detection System) ( IDS ) с отворен код , първоначално разработена от Мартин Рьош и след това придобита от Cisco Systems(Martin Roesch and since acquired by Cisco Systems) . Той работи въз основа на правила, които използват TCP/IP слоевете на мрежата. Дефинирането на тези правила идентифицира прониквания за защита на мрежа.

How to Set Up Linux > TCP/IP Settings for Linux

Следващите мини уроци ще ви помогнат с някои често срещани задачи, които може да срещнете в света на Linux

Имайте предвид, че времената се променят бързо, така че е полезно да използвате вашите man страници, както и търсения в Google , за да проверите следните стъпки и да се уверите, че няма други инструменти, които могат да свършат работата по-добре. До написването на тази статия това не е така.

Урок 01: Присвояване на статичен IP адрес на Linux машина(Tutorial 01: Assigning a Static IP Address to a Linux Machine)

Първият въпрос, който трябва да зададете, е дали компютърът/сървърът се нуждае или не от статичен IP адрес (този, който не се променя) или от променлив IP адрес (като DHCP – Протокол за динамична конфигурация на хост(DHCP – Dynamic Host Configuration Protocol) ). Ако това е вашият персонален компютър (не сървър), има вероятност да използвате DHCP за вашия достъп до интернет.

Това означава, че не е нужно да се забърквате с присвояването на статичен IP адрес на вашия компютър. Вашият доставчик на интернет услуги ( ISP ) и всеки предоставен/нает хардуер автоматично изчисляват IP адрес в движение, за да ви позволят да се свържете с интернет. С други думи, ако не се нуждаете от статичен IP адрес, динамично променящ се такъв е добре за вашия компютър, който не е сървър.

Ако имате сървър и се нуждаете от него да бъде достъпен за други (т.е. извън дома ви; WAN/internet ; не-LAN), тогава ще ви е необходим статичен IP адрес, така че или домейнът, който използвате, да бъде съпоставен с него чрез хостинг сървъра за имена, присвоен на домейна, или достъпен директно чрез статичен IP адрес.

Ако никой не трябва да има достъп до вашия компютър или сървър извън дома ви, тогава промяната на IP адреса (динамичен; нестатичен) е добре, защото никой не използва статичен IP адрес.

Забележка: Някои хора са използвали DHCP IP адрес за публичен достъп (да, дори като сървър), но,

  1. Това изисква много технически мислещ човек, за да го направи, така че не е толкова често.
  2. Много по-трудно е да се поддържа (поради постоянно променящия се характер) от статичен IP адрес.

Ако имате нужда от статичен IP адрес, продължете и следвайте стъпките тук. Ако не, можете да пропуснете този раздел.

Както ще видите, командата (показана по-горе) включва „sudo“ в началото на реда. Въпреки че е възможно да използвате командата “su” (суперпотребител) и да влезете като суперпотребител, използването на “sudo” изпълнява само тази команда като суперпотребител.

Другият метод, влизане като суперпотребител, позволява всички задачи да се изпълняват като суперпотребител, което прави по-удобно да се прави това, което трябва да се направи.

Въпреки това, заедно с това идва и риск за сигурността, поради което е по-безопасно просто да стартирате командата с sudo и да позволите на приложението да поиска парола (ако е необходимо), за да завърши командата като суперпотребител за тази задача/команда.

Изборът е ваш и трябва да се базира на метода, който е по-лесен. Файлът, представен от екранната снимка по-долу, е достъпен чрез следната команда:

sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

Преди да използвате тази команда, номерът на мрежовото устройство се проверява (eth0), за да се гарантира, че е правилен. Както си спомняте, конфигурациите на Linux се управляват във файла за интерфейса, така че е от съществено значение номерът на интерфейса да бъде проверен от този файл, преди да редактирате конфигурационния файл.

Друг аспект на конфигурационния файл, на който трябва да обърнете внимание, е използването на думата „статичен“. Тъй като добавяме статичен IP адрес, важно е да уведомим конфигурационния файл, че това е така. 

Бележките бяха добавени на екранната снимка по-долу за илюстративни причини, но не трябва да бъдат включени във вашия конфигурационен файл. Също така, в някои дистрибуции на Linux са задължителни кавички. В този конкретен конфигурационен файл нямаше кавички в автоматично създадения конфигурационен файл, така че тенденцията беше продължена и не бяха добавени кавички.

Следната екранна снимка показва как всъщност би изглеждал файлът, с премахнати бележките и допълнителните интервали.

Достъпът до следващия (и окончателен) конфигурационен файл, който трябва да бъде редактиран, се осъществява чрез въвеждане:

sudo vi /etc/resolv.conf

В рамките на този файл сървърите за имена могат да бъдат добавени (или модифицирани). Тези сървъри на имена трябва да съвпадат с другия конфигурационен файл, който току-що е променен. В този случай в /etc/sysconfig/network-scripts/ifcfg-eth0 (екранната снимка по-горе).

Изразът, който ще се използва, е „сървър на имена“. Така че, когато конфигурационният файл на устройството показва DNS1=8.8.8.8 , файлът resolv.conf трябва да показва сървър на имена 8.8.8.8(nameserver 8.8.8.8) .

Аналогът на DNS2=4.4.4.4 ще се покаже като сървър на имена 4.4.4.4(nameserver 4.4.4.4 ) във файла resolv.conf.

Небрежно казано, стъпките по-горе работят върху дистрибуцията на Red Hat Linux , но няма гаранция, че ще работи в бъдеще, с настъпилите технологични промени. Ето защо конфигурациите трябва да бъдат тествани и проверени.

След като конфигурациите са завършени, рестартирайте мрежовия интерфейс с предпочитания метод, както е описано по-горе. Това ще приложи промените. Също така е полезно, ако статичният IP адрес е тестван. Можете да направите това, като се опитате да се свържете с този публичен статичен IP адрес от друго устройство (за предпочитане в друга мрежа).

Можете също да се обадите на приятел или сътрудник и да ги накарате да опитат да се свържат със статичния IP адрес от друго географско местоположение (и различна мрежа).

Урок 02: Мрежов IP псевдоним(Tutorial 02: Network IP Aliasing)

Възможно е да зададете повече от един IP адрес на една мрежова интерфейсна карта ( NIC ). Това се нарича Network IP Aliasing , тъй като само един IP би бил действителен, така че допълнителните IP адреси са псевдоними на същата карта. За да присвоите IP адреса, използвайте любимия си метод за присвояване на IP адрес, както е описано в Урок 01.

Не че трябва да е статичен, но за да има множество IP адреси, присвоени чрез Network IP Aliasing , човек трябва да присвои IP адреси, използвайки статичен IP.

Урок 03: Промяна на името на хоста на Linux машината(Tutorial 03: Change Host Name of the Linux Machine)

Използвайте следните стъпки, за да промените името на хоста на вашата Linux машина, като използвате предпочитания от вас редактор:

1. Променете конфигурационния файл на името на хоста, като напишете следното в приложението на командния ред:

   sudo vi /etc/hostname

Където и да видите старото име на хост в този конфигурационен файл, заменете го с новото име на хост.

2. Променете конфигурационния файл на хостове, като напишете следното в приложението на командния ред:

   sudo vi /etc/hosts

Където и да видите старото име на хост в този файл, заменете го с новоизбраното/определеното име на хост по същия начин, както направихте с конфигурационния файл на името на хоста в първата стъпка по-горе.(hostname)

3. Рестартирайте сървъра или компютъра с Linux . Един от методите да направите това (в зависимост от вашата Linux дистрибуция) е да въведете следното в приложението на командния ред:

   sudo shutdown –r now

Това рестартиране е необходимо, за да влязат в сила промените.

Урок 04: Активирайте и деактивирайте вашата NIC(Tutorial 04: Enable and Disable Your NIC)

Едно от по-завладяващите неща, които можете да направите чрез командния ред в Linux , е да активирате или деактивирате вашата Ethernet връзка.

За да направите това, въведете съответната команда от тези две:

   sudo ip link setup
   sudo ip link setdown

С по-стари версии на Linux можете да стартирате ifconfigup или ifconfigdown, но е възможно тези команди да са остарели или остарели в по-новите дистрибуции на Linux . В този случай по-новата ip команда е за предпочитане.

Урок 05: Активирайте мрежово пренасочване(Tutorial 05: Enable Network Forwarding)

Вашата операционна система Linux е в състояние да свързва различни мрежи и може да действа като рутер. Всичко, което трябва да направите, е да uncomment the net.ipv4.ip_fporward=1 line който ще ви позволи да препратите IP адреса.

Необходимият конфигурационен файл обикновено се съхранява в /etc/sysctl.conf :

За примери как да го настроите, вижте „ How to enable IP forwarding on Linux (IPv4 / IPv6) “.

Ако настройвате Linux сървър с помощта на DHCP (вместо статичен IP адрес), можете да изберете форма на мрежово пренасочване. Това не е често срещано, но се споменава тук, защото е изпълнимо и представлява случай, в който някой може да е склонен да го направи.

Урок 06: Дистанционни команди чрез Shell(Tutorial 06: Remote Commands Via Shell)

В случай, че имате нужда от достъп до Linux сървър и този сървър не е географски разположен на същото място като вас, може да се наложи да използвате отдалечени команди за достъп до този отдалечен Linux сървър. 

За тези, които са програмисти или системни администратори, „отдалеченото влизане“ към сървър е нормално явление. 

Един от най-популярните начини да направите това е да използвате командата “ ssh ”, като уведомите приложението на командния ред, че искате да получите защитен достъп до Linux сървъра, дори ако го правите чрез незащитена връзка. 

В допълнение към използването на командата „ssh“, трябва да предоставите информация за това къде се свързвате и как (сред другите налични опции).

Можете да използвате име на домейн за достъп до сървъра на Linux или дори публичен статичен IP адрес. Името или IP адресът казва на ssh командата до какво осъществява достъп и къде да го намери.

Други опции може да включват потребителското име, което ще се използва за влизане в отдалечения сървър. Без дефинирана тази опция, тя може да бъде поискана, но също така е опция да се дефинира едновременно с командата ssh.

Например:

   ssh username myserver.com

Паролата може също да бъде конфигурирана в командата, но се препоръчва, от съображения за сигурност, да я въведете по време на връзката с отдалечения сървър. 

Защо? Ако паролата е въведена в командата, в обикновен текст, тя може да бъде достъпна от следващия човек, използващ същия компютър, и той ще има достъп до паролата.

От допълнителни съображения за сигурност може да искате да получите достъп до Linux сървъра през определен порт. Чрез определяне на порт, който може да се използва, можете да блокирате други портове и да предотвратите хакерски опити или DOS (отказ на услуга) атаки. 

Има много различни конфигурационни точки за ssh. Някои от тях са изброени на shellhacks.com .

Урок 07: Инструменти за наблюдение на мрежата(Tutorial 07: Network Monitoring Tools)

Един важен компонент от управлението на мрежа е проверката дали всичко работи и продължава да работи. Можете да направите това чрез наблюдение на мрежата. Инструментите, които осигуряват наблюдение на мрежата, варират, но в крайна сметка постигат подобни цели и задачи.  

Един такъв инструмент за мрежов мониторинг е Cacti . Cacti   е инструмент за наблюдение на мрежата с отворен код. Кактусите(Cacti) наблюдават мрежата и предоставят графично представяне на това, което е регистрирано. Това помага на потребителите (особено на начинаещите) да идентифицират къде може да има проблеми.

Предният край може да побере много потребители и понякога се използва от хостинг услуги за показване на информация за честотната лента в реално време и други данни в следващите графики.

Данните могат да се подават в Cacti чрез всеки външен скрипт или команда. Кактусите(Cacti) ще съберат данните чрез cron-job и ще попълнят вашата MySQL база данни, преди да я представят като графа на предния край на потребителя.

За да управлявате събирането на данни, можете да подадете на кактуси пътищата към всеки външен скрипт/команда заедно с всички данни, които потребителят ще трябва да „попълни“. След това кактусите(Cacti) ще съберат тези данни в cron-job и ще попълнят база данни на MySQL .

Cacti е полезен инструмент за мрежови администратори, които искат да наблюдават използването на мрежата и да предоставят лесни за разбиране визуални елементи на потребителите. Кактусите(Cacti) могат да бъдат изтеглени безплатно от cacti.net . Уебсайтът включва документация за инсталиране и конфигуриране на инструмента за наблюдение на мрежата.

Алтернативите на кактусите(Cacti) , които можете да опитате, включват Solarwinds NPM , PRTG и Nagios . Solarwinds ще поддържа SNMP , както и ICMP/Ping , WMI , Netflow , Sflow , Jflow и IPFIX , за да назовем само няколко. Предварително изградените шаблони, графики и сигнали ви помагат да започнете бързо да наблюдавате вашата мрежа.

PRTG предоставя до сто сензора безплатно. Той има подобни функции на Solarwinds , плюс гъвкави сигнали и приложения за смартфони(Smartphones) , таблети, ipads.

Nagios има всички инструменти, които ще намерите в Cacti , но изисква малко повече конфигурация. Има много плъгини, от които да избирате. Той има солидна репутация като един от най-старите инструменти за управление и мониторинг на мрежата. Но ще трябва да си изцапате ръцете в поддръжката на неговите конфигурационни файлове.



About the author

Аз съм компютърен професионалист, който има опит в работата със софтуер на Microsoft Office, включително Excel и PowerPoint. Имам опит и с Chrome, който е браузър, собственост на Google. Моите умения включват отлична писмена и устна комуникация, решаване на проблеми и критично мислене.



Related posts