Как установить и настроить файлы TCP/IP в Linux (настройки TCP/IP для Linux)

Даже не гики, вероятно, слышали о « TCP/IP », но все ли знают, что это такое и как настроить его на сервере Linux с помощью командной строки(using the command line) ?

Это помогает сначала определить основную терминологию. По крайней мере, это позволяет вам разработать структуру, на которой будет строиться ваше понимание. TCP/IP не является исключением. 

Этот раздел терминологии не является исчерпывающим списком. Это даст вам основу, на которой вы сможете начать свой путь к пониманию работы в сети и настройке файлов TCP/IPLinux

The *Nix World

Вы когда-нибудь задумывались, что означает *nixКак насчет того, как связаны Unix и Linux(Unix and Linux are related) (не говоря уже о всех различных версиях каждого из них)?

*nix — это метод ссылки на Linux и/или Unix (или любой другой дистрибутив) с использованием для этого подстановочного знака (звездочки). 

* Nix был разработан в конце 1960-х годов. Примерно в то же время AT& T Bell Labs разработала Unix . путем различных итераций и разработок родилась и Linux .

Результатом этих параллельных инноваций является то, что как только вы научитесь выполнять установку на одном сервере с помощью командной строки, вы приобретете навык, который, вероятно, совместим со многими другими задачами на различных серверах  Unix или Linux .

Man-страницы — информация всегда под рукой(Man Pages – Information at Your Fingertips)

Подобно Google , Linux имеет собственный набор поисковых и исследовательских инструментов, позволяющих пользователям находить нужные им ресурсы. Эти ресурсы известны как «справочные страницы». Когда вы вошли на сервер Linux (или в операционную систему на основе Linux ), вы можете открыть приложение командной строки и ввести то, что вы хотите исследовать, например, ввести поисковый запрос в интерактивном файле документации.

Если вы выберете тему, которую хотите исследовать, например утилиту Linux , инструмент, (Linux)демон, сценарий(daemon, script) , вы можете найти ее, набрав «человек», а затем слово. Вы узнаете, как это сделать позже в этой статье.

Справочные страницы просты в использовании. Просто(Just) начните вводить пару слов, и ОС Linux(Linux OS) начнет возвращать вам информацию. Если нет справочной страницы по определенной теме , Linux сообщит вам об этом.

По большей части справочные страницы достаточно точны для версии программного обеспечения, в которой они появляются. Например, если вы вошли на сервер Linux , которому 10 лет, на справочной странице отображается информация об этой версии (и возрасте).

Справочные страницы просты в использовании и точны, но есть пара предостережений. Давайте проиллюстрируем эти предостережения с помощью изображений. 

На изображении ниже справочная страница для ARP указывает, что ARP устарел (в разделе «примечания») и что вместо этого следует искать ip neigh . Судя по этим обозначениям, можно ввести « man ip neigh », чтобы получить доступ к информации о заменяющем инструменте/протоколе. 

Однако ввод « man ip neigh » не приводит к поиску справочной страницы для «ip neigh». Вместо этого он ищет две справочные страницы… одну для «ip», а другую для «neigh». 

Хотя это правда, что вы получите справочную страницу, если наберете «man ip neigh», если вы не будете внимательны, вы можете пропустить, что на самом деле это не то, что вы искали. 

Вы можете добавить тире (хотя это не то, что показано на странице руководства при ссылке на инструмент замены)… Итак, если вы добавите тире и наберете «man ip-neigh», это также работает нормально, но это неправильно. либо.

Вы можете попробовать ввести « man ip-neighbour » (обратите внимание на британское написание). Когда вы наберете эту конкретную фразу, вы увидите правильную справочную страницу для замены справочной страницы ARP (или замены протокола ARP ). Суть такова: если вы не можете найти то, что вам нужно, попробуйте использовать разные комбинации, пока не получите нужную справочную страницу.

В качестве примера попробуйте найти справочную страницу инструмента nslookup. Вы делаете это, набрав «man nslookup». Когда вы это сделаете, вы увидите справочную страницу, похожую на изображение/снимок экрана ниже. Вы узнаете все, что хотели бы знать об инструменте nslookup.

После того, как справочная страница появится на вашем экране, вы можете прокрутить вниз, прочитать, применить, протестировать и даже закрыть справочную страницу (набрав букву «q» и позволив справочной странице автоматически закрыться).

Если вы запросите несуществующую справочную страницу, 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) .

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

Для многих задач, которые необходимо выполнить, требуется root-доступ (он же администратор или суперпользователь). Это связано с тем, что многие из этих утилит и приложений настолько чувствительны, что их использование ограничено по соображениям безопасности. 

Альтернативным решением входа в систему в качестве пользователя root или запуска доступа суперпользователя (su) является добавление перед командой команды «sudo», сообщающей машине Linux , что эта конкретная команда должна быть запущена как суперпользователь/корень, но последующие команды не выполняются (если также с директивой «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) , он может быть недоступен во всех дистрибутивах 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 доступно несколько файлов конфигурации .

Например, если вы используете сервер Apache на своем компьютере с Linux , важны файлы конфигурации Apache . Эти файлы позволяют веб-серверу Apache узнать, что происходит с доменом и, в частности, с сайтом, размещенным на этом сервере.

Иногда файл конфигурации помечен как httpd.conf. Иногда он помечен как apache.conf. Или это может быть совершенно другой лейбл/имя. Вы можете найти файлы конфигурации в одном месте на одном сервере, а иногда они находятся в совершенно другом месте на другом сервере.

К счастью, есть полезные команды, которые могут помочь найти определенные файлы конфигурации. Например, вы можете ввести следующее, чтобы найти файл конфигурации « httpd.conf », если он существует:(httpd.conf)

find / -name “httpd.conf”

Первое слово, «найти», позволяет Linux узнать, какую команду/утилиту вы используете, в данном случае это утилита «найти». Вторым компонентом командной строки является «/», который сообщает утилите find, что она должна искать путь, начиная с корневого уровня сервера.

Если вы искали в более конкретном месте, у вас может быть что-то вроде «/ etc», чтобы Linux знал, что нужно запускаться в каталоге etc и следовать по этому пути. Указав конкретный путь/местоположение, вы потенциально можете ускорить процесс, потому что Linux не нужно искать в избыточных местах.

Параметр « -name » позволяет Linux узнать, что вы ищете в имени файла или каталога. Полезно заключать имя в кавычки, а также можно использовать звездочку (*) в качестве подстановочного знака при поиске.

Вот некоторые примеры конфигурационных файлов и каталогов в каталоге/пути «/etc»: 

  • pam.d — каталог, содержащий утилиты, относящиеся к модулям аутентификации. Например, там встречаются «Su» и «sudo».
  • sysconfig — каталог, который включает в себя функции компьютера, такие как управление питанием, мышь и многое другое. 
  • resolv.conf — файл, который помогает в работе сервера доменных имен, если в этом качестве используется машина Linux .
  • services — этот файл содержит доступные соединения (т. е. открытые порты), доступные на машине Linux .

Если вам интересно, не являются ли какие-либо файлы, пути или утилиты устаревшими или устаревшими, используйте справочные страницы для проверки. Это полезный способ следить за тем, что актуально и что изменилось.

Понимание файловой системы Linux(Understanding the Linux File System) 

Во многих дистрибутивах Linux(Linux distributions) файлы конфигурации находятся в каталоге network-scripts по пути « 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(Linux) могут иметь петлю (или локальный хост) и обычно настроены на нее по умолчанию. Они используют интерфейс, оканчивающийся на «-lo». IP-адрес локального хоста обычно равен 127.0.0.1. Во многих случаях виртуальный интерфейс замыкания на себя можно использовать для проверки соединений и исключения других потенциальных проблем с сетью.

Файлы(The Files)

Существуют разные способы редактирования конфигурационных файлов (а также их просмотра). Один из способов заключается в использовании « редактора vi(vi editor) », доступ к которому осуществляется с помощью команды « vi », за которой следует имя файла. В этом случае, когда кто-то набирает « vi ifcfg-eth0 » (без кавычек), он может просматривать сетевую информацию для этого конкретного интерфейса (eth0).

Однако было бы более целесообразно сделать это традиционным способом и следовать инструкциям по настройке сети, которые можно найти на странице руководства для ifcfg.

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

При доступе к страницам руководства мы можем просмотреть информацию о сценарии ifcfg, который заменил сценарий ifconfig (как показано на снимке экрана выше на странице руководства). Также при просмотре списка интерфейсов в дистрибутиве Linux(Linux) мы замечаем команды ifup и ifdown. Их тоже можно просмотреть на их справочных страницах.

Скриншот справочной страницы показан на изображении ниже. Как вы увидите на справочной странице, есть дополнительные файлы конфигурации Linux (и пути доступа к этим файлам), с которыми можно ознакомиться (и изменить) при установке и настройке файлов TCP/IPLinux .

Если вы используете текстовый редактор командной строки, такой как редактор 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

    После этого файл откроется в терминале/командном приложении (аналогично тому, как открывается справочная страница при ее запуске).

    После открытия файла конфигурации вы должны найти строку, содержащую « NETWORKING=no », и удалить эту строку или изменить ее на «NETWORKING=yes». Это можно сделать с помощью « cw” в редакторе vi. Набрав косую черту, вы сообщаете редактору vi, что вы что-то ищете. В этом случае вы сообщаете редактору, что ищете «NETWORKING», и когда он будет найден (направляя мышь в это место), вы можете использовать клавишу со стрелкой вправо, чтобы перейти к слову «no».

    Когда вы дойдете до слова «нет», остановитесь на «n» и введите « cw », что позволит вам изменить «нет» на «да». «cw» означает изменение слова, а Linux позволяет вам полностью заменить одно слово («нет») другим («да»). Если вы хотите изменить только одну букву, вы можете использовать «r», чтобы заменить одну букву или символ.

    Скриншоты показывают этот процесс ниже.
     
  3. После сохранения файла конфигурации (т. е. ввода esc для выхода из режима INSERT , а затем двойного Z для сохранения файла) пришло время перезапустить службу или компьютер. Это можно сделать несколькими способами. Одним из способов перезагрузки компьютера является ввод следующей командной строки:

    shutdown -r now

    Команда shutdown сообщает Linux - машине о завершении работы. Параметр -r сообщает команде, что это не просто выключение, а перезагрузка и сделать это сейчас.

    Совет.(Tip:) Если вы хотите узнать, когда компьютер или сервер завершил перезагрузку, введите «ping», а затем общедоступный IP-адрес компьютера/сервера (или доменное имя сайта, размещенного на сервере Linux ).

    Используя команду ping, вы увидите, что сервер не «пингуется» (что происходит во время перезагрузки), а затем, когда сервер успешно перезапускается, ping ответит положительным ответом, что указывает на успешную перезагрузку.

Ниже приведены некоторые изображения, которые помогают проиллюстрировать шаги в приведенном выше списке.

Шаг 1:

Шаг 2:

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

Таким образом, в приведенном выше примере перезапуск сервера приводит к перезапуску сетевых устройств. Это не единственная опция для этого интерфейса, но на этот интерфейс повлияет команда перезапуска. 

/etc/hosts File(s)

Файл /etc/hosts может существовать, а может и не существовать. Если он существует, он может использоваться или не использоваться в конфигурации. Например, у вас может быть другая система, которая обрабатывает конфигурации хоста, а не управляет файлом напрямую. Кроме того, различается сам файл 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 route .
  • имя хоста(hostname) : используется для отображения или управления и редактирования имени хоста машины. 
  • netstat : просмотр сетевых подключений, таблиц маршрутизации, статистики интерфейсов, членства в многоадресной рассылке и т. д.
  • arp : ( obsolete / deprecated ) Используется для отображения информации IPv4 ; в частности, кэш соседей по сети. IPv6 стал сетевым адресом, заменив набор IPv4 из четырех чисел, разделенных точками. В свете этих изменений эта устаревшая команда была заменена на ip neigh .
  • ip : IP означает не только «интернет-протокол» и окончательную глобальную сеть(WAN) (WAN), но и утилиту, которая позволяет системному администратору или пользователю компьютера просматривать параметры TCP/IP , а также устанавливать их как нужный.
  • tc : это означает «управление трафиком» и представляет собой утилиту, помогающую управлять входящим и исходящим трафиком на машине  Linux .

Инструменты конфигурации: GUI против. Командная строка (КЛ)(Configuration Tools: GUI Vs. Command Line (CL))

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

Первое изображение — это графический интерфейс Apple Mac(Apple Mac GUI) ( System Preferences > Networking ), а вторые два изображения — это изображение операционной системы Windows(Windows Operating System) (хотя оно варьируется от версии к версии). Доступ к нему осуществляется через панель управления Microsoft(Microsoft Control Panel) и сетевые подключения(Network Connections) , как вы можете видеть на скриншотах.

Плюсы и минусы графического интерфейса пользователя по сравнению с текстовым редактором или командной строкой (CL)(Pros and Cons of GUI Versus Text Editor or Command Line (CL))

Хотя многие люди предпочитают графические пользовательские интерфейсы ( GUI ) из-за их простоты использования, визуального представления и общей простоты, полезно понимать файлы конфигурации (в данном случае связанные с сетью), чтобы вы могли устранять неполадки и устранять любые проблемы. 

Возможно, вы захотите сначала захватить графический интерфейс(GUI) , но полезно быть полностью информированным… на всякий случай. Кроме того, есть некоторые операционные системы, которые не обязательно имеют графический интерфейс(GUI) (или еще не имеют его), так что еще раз; полезно быть готовым.

В следующем разделе мы расскажем о файлах конфигурации и о том, как получить к ним доступ, обновить их, а также об управлении файлами и утилитами.

Инструменты, утилиты, сценарии и демоны командной строки Linux (CL)(Linux Command-Line (CL) Tools, Utilities, Scripts, and Daemons)

Для дистрибутивов Linux(Linux) доступно множество инструментов . Опять же(Again) , как и другие команды, есть сходства (и различия) между тем, как эти инструменты используются в разных дистрибутивах. В некоторых случаях инструменты доступны, но их необходимо сначала установить, а процесс установки часто различается.

Инструмент командной строки часто называют оболочкой(shell) , а в первые дни — терминалом(terminal) . Существуют и другие термины для этого, но обычно это приложение, которое позволяет пользователю получать доступ к операционным системам, вводя команды в окне.

Давайте рассмотрим пару примеров. Первый из операционной системы Windows и, вероятно, выглядит знакомым для пользователей Windows . Инструмент открывается путем ввода CMD (как показано на скриншотах ниже). 

Второй снимок экрана — это приложение под названием « Терминал(Terminal) » , которое предустановлено на большинстве компьютеров Apple .

NSLookup (нслукап)(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, что мы модифицируем компонент «задержка» транзакции.
  • 400 мс(400ms) : мы уже сказали инструменту, что влияем на задержку, но теперь нам нужно определить, насколько мы влияем на задержку. В данном случае это на 400 миллисекунд. 

Сетевой менеджер(Network Manager)

Целью Network Manager является упрощение и автоматизация конфигурации вашей сети. Для пользователей DHCP Network Manager может получить IP-адрес, заменить маршруты по умолчанию и автоматически заменить серверы имен.

Инструмент nmtui для использования Network Manager доступен в большинстве, хотя и не во всех, дистрибутивах Linux(Linux) . Также имейте в виду, что некоторые инструменты «доступны» и в то же время недоступны. Другими словами, есть некоторые инструменты и демоны, которые необходимо установить, и они не обязательно предварительно установлены в рассматриваемом дистрибутиве Linux(Linux) .

Другие сетевые темы(Other Networking Topics)

Есть много аспектов работы в сети и TCP/IP , которые особенно интересны, особенно при работе с дистрибутивом Linux(Linux) . Не забывайте(Don) , что у вас есть справочные страницы (также известные как справочные страницы), доступные прямо во время установки Linux . Итак, хотя это может показаться своего рода несвязанным списком того, что вы не должны делать, вы всегда можете использовать справочную страницу, чтобы выяснить, что вы должны делать.

Линукс как роутер(Linux as the Router)

В наши дни большинство людей используют аппаратное обеспечение, предназначенное для задачи маршрутизации (например, маршрутизатор), для управления задачей сетевого маршрута(manage the network route task) .

Во многих случаях это связано с тем, что маршрутизаторы являются частью пакета домашних или офисных интернет-пакетов/контрактов. Обычно клиент платит арендную плату/арендную плату в месяц (или ежегодно) или покупает маршрутизатор. 

Как бы это ни обрабатывалось, Linux не нуждается в работе в качестве маршрутизатора, даже если он способен работать как таковой. Сценарии, описанные выше, создают для Linux(Linux) почти псевдодерекламационную ситуацию , но это не означает, что Linux полностью выходит из игры. При необходимости можно настроить Linux -сервер в качестве аппаратного (и последующего программного) маршрутизатора.

IP-маршрут (ранее «Маршрут»)(IP Route (Formerly “Route”))

На следующем изображении показан снимок экрана справочной страницы для «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

Имейте в виду, что времена быстро меняются, поэтому полезно использовать свои справочные страницы, а также поиск в 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 ; не через локальную сеть), вам потребуется статический IP-адрес, чтобы либо домен, который вы используете, был сопоставлен с ним. через сервер имен хостинга, назначенный домену, или доступный напрямую через статический IP-адрес.

Если никому не нужен доступ к вашему компьютеру или серверу за пределами вашего дома, тогда меняющийся IP-адрес (динамический; нестатический) вполне подойдет, потому что никто не использует статический IP-адрес.

Примечание. Некоторые люди использовали IP-адрес DHCP(DHCP IP) для общего доступа (да, даже в качестве сервера), но

  1. Для этого требуется очень технически подкованный человек, поэтому это не так распространено.
  2. Его гораздо сложнее поддерживать (из-за его постоянно меняющегося характера), чем статический IP-адрес.

Если вам нужен статический IP-адрес, следуйте инструкциям здесь. Если нет, вы можете пропустить этот раздел.

Как вы увидите, команда (показанная выше) включает «sudo» в начале строки. Хотя можно использовать команду «su» (суперпользователь) и войти в систему как суперпользователь, использование «sudo» запускает только эту одну команду от имени суперпользователя.

Другой метод, вход в систему в качестве суперпользователя, позволяет выполнять все задачи в качестве суперпользователя, что делает более удобным выполнение необходимых действий.

Однако наряду с этим возникает угроза безопасности, поэтому безопаснее просто запустить команду с помощью sudo и позволить приложению запрашивать пароль (при необходимости) для выполнения команды в качестве суперпользователя для этой задачи/команды.

Выбор за вами, и он должен основываться на том методе, который проще. Доступ к файлу, представленному на снимке экрана ниже, осуществляется с помощью следующей команды:

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

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

Еще один аспект файла конфигурации, на который следует обратить внимание, — это использование слова «статический». Поскольку мы добавляем статический IP-адрес, важно сообщить файлу конфигурации, что это так. 

Примечания были добавлены на скриншоте ниже для наглядности, но их не следует включать в файл конфигурации. Кроме того, в некоторых дистрибутивах Linux(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(Red Hat Linux) , но нет гарантии, что они будут работать в будущем, с учетом происходящих технологических изменений. Вот почему конфигурации должны быть протестированы и проверены.

После завершения настройки перезапустите сетевой интерфейс предпочтительным способом, как описано выше. Это применит изменения. Также полезно проверить статический IP-адрес. Вы можете сделать это, попытавшись подключиться к этому общедоступному статическому IP-адресу с другого устройства (желательно в другой сети).

Вы также можете позвонить другу или партнеру и попросить их подключиться к статическому IP-адресу из другого географического местоположения (и другой сети).

Урок 02. Сетевые IP-псевдонимы(Tutorial 02: Network IP Aliasing)

Одной сетевой карте ( NIC(NIC) ) можно назначить более одного IP-адреса . Это называется сетевым IP-псевдонимом(Network IP Aliasing) , потому что только один IP-адрес будет фактическим, поэтому дополнительные IP-адреса являются псевдонимами одной и той же карты. Чтобы назначить IP-адрес, используйте ваш любимый метод назначения IP-адреса, как описано в Уроке 01.

Дело не в том, что он должен быть статическим, но для того, чтобы иметь несколько IP-адресов, назначенных с использованием псевдонимов сетевых IP(Network IP Aliasing) -адресов , необходимо назначать IP-адреса с использованием статического IP-адреса.

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

Используйте следующие шаги, чтобы изменить имя хоста вашего компьютера с Linux , используя предпочитаемый вами редактор:

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

   sudo vi /etc/hostname

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

2. Измените файл конфигурации hosts, введя в приложении командной строки следующее:

   sudo vi /etc/hosts

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

3. Перезагрузите сервер или компьютер Linux . Один из способов сделать это (в зависимости от вашего дистрибутива Linux ) — ввести следующее в приложении командной строки:

   sudo shutdown –r now

Этот перезапуск необходим для того, чтобы изменения вступили в силу.

Урок 04. Включение и отключение сетевого адаптера(Tutorial 04: Enable and Disable Your NIC)

Одна из самых интересных вещей, которые вы можете сделать с помощью командной строки в Linux , — это включить или отключить ваше Ethernet - соединение.

Для этого наберите соответствующую команду из этих двух:

   sudo ip link setup
   sudo ip link setdown

В более старых версиях Linux вы можете запустить ifconfigup или ifconfigdown, но возможно, что эти команды устарели или устарели в более новых дистрибутивах Linux(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 с использованием (Linux)DHCP (вместо статического IP-адреса), вы можете выбрать форму переадресации по сети. Это не распространено, но упоминается здесь, потому что это выполнимо и представляет собой случай, когда кто-то может быть склонен сделать это.

Урок 06: Удаленные команды через командную консоль(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(Cacti) соберет эти данные в cron-job и заполнит базу данных MySQL .

Cacti — это полезный инструмент для сетевых администраторов, которые хотят отслеживать использование сети и предоставлять потребителям простые для понимания визуальные эффекты. Кактусы(Cacti) можно скачать бесплатно на сайте cacti.net(cacti.net) . Веб-сайт содержит документацию по установке и настройке инструмента мониторинга сети.

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

PRTG бесплатно предоставляет до ста датчиков. Он имеет функции, аналогичные Solarwinds , плюс гибкие оповещения и приложения для смартфонов(Smartphones) , планшетов, айпадов.

Nagios имеет все инструменты, которые вы найдете в Cacti , но требует немного большей настройки. Есть много плагинов на выбор. Он имеет прочную репутацию одного из старейших инструментов сетевого управления и мониторинга. Но вам придется запачкать руки в обслуживании его файлов конфигурации.



About the author

Я Windows MVP и работаю с Windows с 2007 года. Мой опыт включает разработку программного обеспечения, оборудования и звука, а также приложений для Windows. Я всегда ищу лучшие способы улучшить взаимодействие с пользователем в своей работе, поэтому, если вам нужна помощь в проектировании или разработке программного приложения, я определенно могу предложить свои услуги.



Related posts