По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Привет! Мы уже рассказывали про операционные системы для устройств Cisco – IOS, IOS-XE, CatOS. В этой статье мы рассмотрим NX-OS и IOS-XR, а также сравним их с традиционной IOS.
На верхнем уровне их можно соотнести так:
Cisco IOS: используется в borderless сетях (то есть это сети, которые позволяют кому угодно, где угодно и с любого устройства подключаться к корпоративной сети). Например, маршрутизатор ISR2 Cisco 3900 Series использует Cisco IOS;
Cisco NX-OS: используется в коммутаторах Cisco Nexus, расположенных в центрах обработки данных. Например, коммутатор Cisco Nexus 7000 работает под управлением Cisco NX-OS;
Cisco IOS-XR: используется на маршрутизаторах провайдеров связи. Например, маршрутизатор Cisco XR 12000 Series использует Cisco IOS-XR.
Cisco IOS
Хотя имя «IOS» появилось позже, операционная система относится к середине 1980-х годов. Cisco IOS была разработана с использованием языка программирования C и имела несколько ограничений, указывающих на то, когда она была разработана. Например, он не поддерживал симметричную многопроцессорную обработку. В результате одна инструкция должна была быть завершена до того, как начнется выполнение другой. Еще одним огромным архитектурным ограничением было использование общего пространства памяти, в результате которого один неправильный процесс мог нанести ущерб другим процессам маршрутизатора.
У некоторых платформ марщрутизаторов были обходные пути. Например модульный маршрутизатор Cisco 7513 – он может быть оснащен модулем универсального интерфейса (VIP), который позволяет отдельным линейным картам запускать собственные экземпляры Cisco IOS. Это обеспечило некоторый уровень балансировки нагрузки и избыточности.
Еще одна версия Cisco IOS - это IOS-XE, которая запускает Cisco IOS в Linux. В качестве примера можно найти Cisco IOS-XE, работающую на маршрутизаторе Cisco ASR 1000 Series. Благодаря набору функций Linux, Cisco IOS-XE добавляет поддержку симметричной многопроцессорности и отдельных пространств памяти. Однако, помимо своих Linux-подходов, Cisco IOS-XE в основном похожа на традиционную Cisco IOS.
Cisco NX-OS
Первоначально имевшая название SAN-OS (где акроним SAN обозначался как Storage Area Network), NX-OS предлагает некоторые обширные архитектурные улучшения по сравнению с традиционными Cisco IOS. Хотя первоначально это была 32-разрядная операционная система, с тех пор она превратилась в 64-разрядную ОС. В отличие от Cisco IOS, NX-OS не использует одно пространство памяти и поддерживает симметричную многопроцессорность. Она также имеет превентивную многозадачность, что позволяет высокоприоритетному процессу получить время процессора перед процессом с более низким приоритетом.
NX-OS построена на ядре Linux, и поддерживает язык Python для создания сценариев на коммутаторах Cisco Nexus. Кроме того, она имеет несколько функций высокой доступности (high availability), и не загружает сразу все ее функции. Вместо этого можно указать, какие функции вы хотите активировать. Устранение ненужных функций освобождает память и процессор для тех функций, которые вам нужны. Однако когда дело доходит до конфигурации, существует много сходства между NX-OS и Cisco IOS.
Cisco IOS-XR
Первоначально разработанная для 64-разрядной работы, IOS-XR предлагает множество улучшений, обнаруженных в NX-OS (например, симметричная многопроцессорность, отдельные пространства памяти и активация только тех сервисов, которые необходимы). Однако, хотя NX-OS построена на ядре Linux, IOS-XR построен на микроядре QNX Neutrino Microkernel.
Функция IOS-XR, которой нет в NX-OS, - это возможность иметь один экземпляр операционной системы, управляющей несколькими шасси. Кроме того, поскольку IOS-XR ориентирована на среды провайдеров, она предлагает поддержку таких интерфейсов, как DWDM и Packet over SONET.
В то время как конфигурация IOS-XR имеет некоторое сходство с традиционной IOS, различия намного заметнее, чем различия в NX-OS. Например, когда вы закончили вводить команды конфигурации, вам необходимо зафиксировать свои изменения, чтобы они вступили в силу и до выхода из режима конфигурации.
Примеры конфигурации
Чтобы проиллюстрировать некоторые основные конфигурации этих трех операционных систем, рассмотрим следующие примеры.
Эти команды были предоставлены маршрутизатору Cisco IOS, коммутатору NX-OS и экземплярам маршрутизатора IOS-XR, работающим в Cisco VIRL. В каждом из следующих примеров показана текущая версия маршрутизатора или коммутатора. Затем мы входим в глобальный режим конфигурации и изменяем имя хоста маршрутизатора или коммутатора, а затем создаем интерфейс Loopback 0, назначая IP-адрес этому интерфейсу, выходя из режима привилегий и выдавая команду show ip interface brief.
При назначении IP-адресов интерфейсам Loopback на устройствах следует заметить, что Cisco IOS требует, чтобы маска подсети была введена в десятичной системе с точками, в то время как NX-OS и IOS-XR поддерживают ввод маски подсети с использованием слеша.
Также нужно обратить внимание, что перед выходом из режима конфигурации необходимо выполнить команду commit на IOS-XR. Кроме того, только когда мы применяем эту команду, применяется наша обновленная конфигурация имени хоста.
IOS:
Router>show version
Cisco IOS Software, C2900 Software (C2900-UNIVERSALK9-M), Version 15.1(4)M4, RELEASE SOFTWARE (fc2)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2012 by Cisco Systems, Inc.
Compiled Thurs 5-Jan-12 15:41 by pt_team
ROM: System Bootstrap, Version 15.1(4)M4, RELEASE SOFTWARE (fc1)
cisco2911 uptime is 40 seconds
System returned to ROM by power-on
System image file is "flash0:c2900-universalk9-mz.SPA.151-1.M4.bin"
Last reload type: Normal Reload
This product contains cryptographic features and is subject to United
States and local country laws governing import, export, transfer and
use. Delivery of Cisco cryptographic products does not imply
third-party authority to import, export, distribute or use encryption.
Importers, exporters, distributors and users are responsible for
compliance with U.S. and local country laws. By using this product you
agree to comply with applicable laws and regulations. If you are unable
to comply with U.S. and local laws, return this product immediately.
A summary of U.S. laws governing Cisco cryptographic products may be found at:
http://www.cisco.com/wwl/export/crypto/tool/stqrg.html
If you require further assistance please contact us by sending email to
export@cisco.com.
Cisco CISCO2911/K9 (revision 1.0) with 491520K/32768K bytes of memory.
Processor board ID FTX152400KS
3 Gigabit Ethernet interfaces
DRAM configuration is 64 bits wide with parity disabled.
255K bytes of non-volatile configuration memory.
249856K bytes of ATA System CompactFlash 0 (Read/Write)
License Info:
License UDI:
-------------------------------------------------
Device# PID SN
-------------------------------------------------
*0 CISCO2911/K9 FTX15246R1P
Technology Package License Information for Module:'c2900'
----------------------------------------------------------------
Technology Technology-package Technology-package
Current Type Next reboot
-----------------------------------------------------------------
ipbase ipbasek9 Permanent ipbasek9
security None None None
uc None None None
data None None None
Configuration register is 0x2102
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname IOS-ROUTER
IOS-ROUTER(config)#interface loopback0
IOS-ROUTER(config-if)#
%LINK-5-CHANGED: Interface Loopback0, changed state to up
%LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
IOS-ROUTER(config-if)#ip address 10.1.1.1 255.255.255.255
IOS-ROUTER(config-if)#end
IOS-ROUTER#
%SYS-5-CONFIG_I: Configured from console by console
IOS-ROUTER#show ip int brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 unassigned YES unset administratively down down
GigabitEthernet0/1 unassigned YES unset administratively down down
GigabitEthernet0/2 unassigned YES unset administratively down down
Loopback0 10.1.1.1 YES manual up up
Vlan1 unassigned YES unset administratively down down
IOS-ROUTER#
NX-OS:
switch#show version
Cisco Nexus Operating System (NX-OS) Software
TAC support: http://www.cisco.com/tac
Copyright (c) 2002-2010, Cisco Systems, Inc. All rights reserved.
The copyrights to certain works contained herein are owned by
other third parties and are used and distributed under license.
Some parts of this software are covered under the GNU Public
License. A copy of the license is available at
http://www.gnu.org/licenses/gpl.html.
Software
BIOS: version 1.3.0
loader: version N/A
kickstart: version 5.0(2)N2(1) [build 5.0(2)N2(1)]
system: version 5.0(2)N2(1) [build 5.0(2)N2(1)]
power-seq: version v1.2
BIOS compile time: 09/08/09
kickstart image file is: bootflash:/sanity-kickstart
kickstart compile time: 12/6/2010 7:00:00 [12/06/2010 07:35:14]
system image file is: bootflash:/sanity-system
system compile time: 12/6/2010 7:00:00 [12/06/2010 08:56:45]
Hardware
cisco Nexus5010 Chassis ("20x10GE/Supervisor")
Intel(R) Celeron(R) M CPU with 2073416 kB of memory.
Processor Board ID JAF1228BTAS
Device name: BEND-2
bootflash: 1003520 kB
Kernel uptime is 0 day(s), 3 hour(s), 30 minute(s), 45 second(s)
Last reset
Reason: Unknown
System version:
Service:
plugin
Core Plugin, Ethernet Plugin, Fc Plugin
switch# conf t
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# hostname NEXUS-SWITCH
NEXUS-SWITCH(config)#interface loopback0
NEXUS-SWITCH(config-if)# ip address 10.2.2.2/32
NEXUS-SWITCH(config-if)#end
NEXUS-SWITCH# show ip int brief
IP Interface Status for VRF “default” (1)
Interface IP Address Interface Status
Lo0 10.2.2.2 protocol-up/link-ip/admin-up
NEXUS-SWITCH#
IOS-XR:
RP/0/RP/CPU0:router# show version
Mon May 31 02:14:12.722 DST
Cisco IOS XR Software, Version 4.1.0[Default]
Copyright (c) 2010 by Cisco Systems, Inc.
ROM: System Bootstrap, Version 2.100(20100129:213223) [CRS-1 ROMMON],
router uptime is 1 week, 6 days, 4 hours, 22 minutes
System image file is "bootflash:disk0/hfr-os-mbi-4.1.0/mbihfr-rp.vm"
cisco CRS-8/S (7457) processor with 4194304K bytes of memory.
7457 processor at 1197Mhz, Revision 1.2
2 Management Ethernet
8 GigabitEthernet
12 SONET/SDH
12 Packet over SONET/SDH
1 WANPHY controller(s)
1 TenGigE
1019k bytes of non-volatile configuration memory.
38079M bytes of hard disk.
3607592k bytes of disk0: (Sector size 512 bytes).
3607592k bytes of disk1: (Sector size 512 bytes).
RP/0/RP/CPU0:router#conf t
RP/0/RP/CPU0: router(config)#hostname IOS-XR-ROUTER
RP/0/RP/CPU0: router(config)#interface loopback0
RP/0/RP/CPU0: router(config-if)#ip address 10.3.3.3/32
RP/0/RP/CPU0: router(config-if)#commit
RP/0/RP/CPU0: IOS-XR-ROUTER (config-if)#end
RP/0/RP/CPU0: IOS-XR-ROUTER (config)#show ip int brirf
Interface IP-Address Status Protocol Vrf-Name
Loopback0 10.3.3.3 Up Up default
MgmtEth0/0/CPU0/0 unassigned Shutdown Down default
GigabitEthernet0/0/0/0 unassigned Shutdown Down default
RP/0/RP/CPU0: IOS-XR-ROUTER#
Сегодня в статье рассказываем про инструменты с открытым исходным кодом, которые позволяют вам проверить скорость вашего Интернета и пропускную способность в Linux.
Speedtest
Speedtest - старый фаворит. Это инструмент для проверки скорости загрузки и скачивания с использованием speedtest.net. Он реализован на Python, упакован в Apt, а также доступен с pip. Вы можете использовать его как инструмент командной строки или в скрипте Python.
Установите его с помощью:
sudo apt install speedtest-cli
Или:
sudo pip3 install speedtest-cli
Затем запустите его с помощью команды speedtest:
speedtest
Retrieving speedtest.net configuration...
Testing from CenturyLink (65.128.194.58)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by CenturyLink (Cambridge, UK) [20.49 km]: 31.566 ms
Testing download speed................................................................................
Download: 68.62 Mbit/s
Testing upload speed......................................................................................................
Upload: 10.93 Mbit/s
Это быстрая, и пригодная для скриптов утилита, поэтому вы можете запускать его регулярно и сохранять результаты в файл или базу данных для записи скорости вашей сети с течением времени.
Fast
Fast - это услуга, предоставляемая Netflix. Его веб-интерфейс расположен на Fast.com, а интерфейс командной строки доступен через npm:
npm install --global fast-cli
И веб-сайт, и утилита командной строки предоставляют один и тот же базовый интерфейс - это простой тест скорости, и ничего лишнего:
fast
82 Mbps v
Команда показывает вашу скорость скачивания (download) через Интернет. Чтобы получить скорость загрузки (upload), используйте флаг -u:
fast -u
? 80 Mbps v / 8.2 Mbps ^
iPerf
iPerf (iPerf3) - отличный способ проверить скорость вашей локальной сети (а не скорость Интернета, как это делают два предыдущих инструмента). Пользователи Debian, Raspbian и Ubuntu могут установить его с помощью apt:
sudo apt install iperf [Debian/Ubuntu]
yum install epel-release [RHEL/CentOS]
yum install iperf3 [RHEL/CentOS]
iPerf также доступен в Window и Mac
После установки вам понадобятся два компьютера в одной сети, чтобы использовать его (на обоих должен быть установлен iPerf). Один мы будем использовать в качестве сервера.
Узнайте IP-адрес сервера:
ip addr show | grep inet.*brd
Запустите iperf на сервере:
iperf -s
Это компьютер входящих соединений от клиентов. Теперь запустите на втором компьютере iperf с флагом -c и укажите ip-адрес сервера.
iperf -c server_address
NetHogs
NetHogs это утилита для проверки полосы пропускания, который группирует информацию по процессам. Это может быть полезно, чтобы понять кто занимает всю полосу пропускания.
NetHogs входит во многие дистрибутивы. Для его установки используйте:
yum install epel-release [RHEL/CentOS]
yum install nethogs [RHEL/CentOS]
apt install nethogs [Debian/Ubuntu]
Для запуска используйте:
sudo nethogs
Вы можете указать определенный интерфейс после команды:
sudo nethogs eth0
Также у команды есть дополнительные параметры, такие как выбор задержки для частоты обновления -d, информации о версии -V, tracemode -t.
nload
nload позволяет отслеживать сетевой трафик и использование полосы пропускания в режиме реального времени, с большим количеством дополнительной информации, такой как: общий объем передаваемых данных, минимальное и максимальное использование сети и многое другое. Также nload строит графики входящего и исходящего трафика.
Опции nload:
device - выбор интерфейса
-a - промежуток в секундах, для подсчитывания среднего значения
-i - стопроцентная планка на графике пропускной способности в kBit/s
-m - отображение нескольких интерфейсов, без графика
-t - интервал обновления в миллисекундах
-u - режим отображения: Bit/s, kBit/s, MBit/s
Для установки используйте:
sudo apt install nload [Debian/Ubuntu]
yum install epel-release [RHEL/CentOS]
um install nload [RHEL/CentOS]
Для запуска:
nload
CBM – Color Bandwidth Meter
CBM - очень простой инструмент, который отображает сетевой трафик на всех подключенных устройствах. Удобство заключается в том, что команды отображаются в нижней части терминала.
Для установки используйте команду:
sudo apt install cbm -y [Debian/Ubuntu]
yum install epel-release [RHEL/CentOS]
yum install cbm [RHEL/CentOS]
После этого просто запустите:
cbm
vnStat
vnStat - это монитор сетевого трафика, который использует статистику сетевого интерфейса, предоставляемую ядром, что означает что он не будет перехватывать трафик и в результате гарантирует низкую загрузку ЦПУ. Особенность vnStst в том, что он сохраняет все данные в собственной базе.
vnStat также предоставляет веб-интерфейс на основе php для отображения графической статистики. Для настройки веб-интерфейса vnStat в вашей системе должны быть установлены пакеты Apache, php и php-gd.
Для установки используйте команду:
sudo apt install vnstat [Debian/Ubuntu]
sudo yum install epel-release [RHEL/CentOS]
sudo yum install vnstat [RHEL/CentOS]
Для запуска:
vnstat
iftop
iftop - это инструмент для мониторинга, который создает обновляемый список сетевых подключений между парами хостов в реальном времени.
Для установки используйте:
sudo apt install iftop [Debian/Ubuntu]
yum install epel-release[RHEL/CentOS]
yum install iftop [RHEL/CentOS]
Для запуска:
sudo iftop
Будет произведен запуск с мониторингом всех интерфейсов.
slurm
slurm - это еще один инструмент мониторинга сетевой нагрузки для linux, который показывает результаты в графике ascii.
Команды для установки:
sudo apt-get install slurm [Debian/Ubuntu]
sudo yum install slurm -y [RHEL/CentOS]
Обычные задачи системного администратора включают настройку, обслуживание, устранение неполадок и управление серверами и сетями в центрах обработки данных. В Linux существует множество инструментов и утилит, предназначенных для административных целей.
В этой статье мы рассмотрим некоторые из наиболее часто используемых инструментов и утилит командной строки для управления сетями в Linux в различных категориях. Мы объясним некоторые распространенные примеры использования, которые значительно упростят управление сетью в Linux.
Инструменты настройки, поиска, устранения неполадок и отладки сети
1. Команда ifconfig
ifconfig - это инструмент командной строки (CLI) для настройки сетевого интерфейса, который также используется для инициализации интерфейсов во время загрузки системы. Когда сервер запущен и работает, ifconfig можно использовать для назначения IP-адреса интерфейсу и включения или отключения интерфейса по требованию.
Ifconfig также используется для просмотра статуса IP-адреса, MAC-адреса, а также размера MTU (максимальная единица передачи - Maximum Transmission Unit) текущих активных интерфейсов. Таким образом, ifconfig полезен для отладки или настройки системы.
Вот пример для отображения статуса всех активных сетевых интерфейсов.
$ ifconfig
enp1s0 Link encap:Ethernet HWaddr 28:d2:44:eb:bd:98
inet addr:192.168.0.103 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::8f0c:7825:8057:5eec/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:169854 errors:0 dropped:0 overruns:0 frame:0
TX packets:125995 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:174146270 (174.1 MB) TX bytes:21062129 (21.0 MB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:15793 errors:0 dropped:0 overruns:0 frame:0
TX packets:15793 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:2898946 (2.8 MB) TX bytes:2898946 (2.8 MB)
Чтобы вывести список всех доступных на данный момент интерфейсов, включенных или выключенных, используйте флаг -a.
$ ifconfig -a
Для того чтобы назначить IP-адрес интерфейсу, используйте следующую команду:
$ sudo ifconfig eth0 192.168.56.5 netmask 255.255.255.0
Чтобы активировать сетевой интерфейс, введите:
$ sudo ifconfig up eth0
Чтобы деактивировать или отключить сетевой интерфейс, введите:
$ sudo ifconfig down eth0
Внимание: Хотя ifconfig - отличный инструмент, теперь он устарел (deprecated), и его заменой является команда ip, о которой мы расскажем ниже.
2. Команда IP
Команда IP - еще одна полезная утилита командной строки для отображения и управления маршрутизацией, сетевыми устройствами, интерфейсами. Это замена для ifconfig и многих других сетевых команд.
Следующая команда покажет IP-адрес и другую информацию о сетевом интерфейсе.
$ ip addr show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp1s0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 28:d2:44:eb:bd:98 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.103/24 brd 192.168.0.255 scope global dynamic enp1s0
valid_lft 5772sec preferred_lft 5772sec
inet6 fe80::8f0c:7825:8057:5eec/64 scope link
valid_lft forever preferred_lft forever
3: wlp2s0: mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 38:b1:db:7c:78:c7 brd ff:ff:ff:ff:ff:ff
...
Чтобы временно назначить IP-адрес определенному сетевому интерфейсу (eth0), введите:
$ sudo ip addr add 192.168.56.1 dev eth0
Чтобы удалить назначенный IP-адрес c сетевого интерфейса (eth0), введите:
$ sudo ip addr del 192.168.56.15/24 dev eth0
Чтобы показать текущую таблицу соседей в ядре, введите:
$ ip neigh
192.168.0.1 dev enp1s0 lladdr 10:fe:ed:3d:f3:82 REACHABLE
3. Команды ifup, ifdown, и ifquery
Команда ifup активирует сетевой интерфейс, делая его доступным для передачи и получения данных.
$ sudo ifup eth0
Команда ifdow отключает сетевой интерфейс, сохраняя его в состоянии, когда он не может передавать или получать данные.
$ sudo ifdown eth0
Команда ifquery используется для анализа конфигурации сетевого интерфейса, что позволяет получать ответы на запросы о том, как он настроен в данный момент.
$ sudo ifquery eth0
4. Команда Ethtool
ethtool - это утилита запроса и изменения параметров контроллера сетевого интерфейса и драйверов устройств. В приведенном ниже примере показано использование ethtool и команды для просмотра параметров сетевого интерфейса.
$ sudo ethtool enp0s3
Settings for enp0s3:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 0
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: umbg
Wake-on: d
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
5. Команда Ping
ping (Packet INternet Groper) – это всеми известная утилита, обычно используемая для тестирования соединения между двумя системами в сети (LAN или WAN). Ping использует протокол ICMP (Internet Control Message Protocol) для связи с узлами в сети.
Чтобы проверить подключение к другому узлу, просто укажите его IP или имя хоста, например:
$ ping 192.168.0.103
PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=0.191 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.156 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.179 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.182 ms
64 bytes from 192.168.0.103: icmp_seq=5 ttl=64 time=0.207 ms
64 bytes from 192.168.0.103: icmp_seq=6 ttl=64 time=0.157 ms
^C
--- 192.168.0.103 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5099ms
rtt min/avg/max/mdev = 0.156/0.178/0.207/0.023 ms
Вы также можете указать ping выходить после указанного количества пакетов ECHO_REQUEST, используя флаг -c, как показано ниже:
$ ping -c 4 192.168.0.103
PING 192.168.0.103 (192.168.0.103) 56(84) bytes of data.
64 bytes from 192.168.0.103: icmp_seq=1 ttl=64 time=1.09 ms
64 bytes from 192.168.0.103: icmp_seq=2 ttl=64 time=0.157 ms
64 bytes from 192.168.0.103: icmp_seq=3 ttl=64 time=0.163 ms
64 bytes from 192.168.0.103: icmp_seq=4 ttl=64 time=0.190 ms
--- 192.168.0.103 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3029ms
rtt min/avg/max/mdev = 0.157/0.402/1.098/0.402 ms
6. Команда Traceroute
Traceroute - это утилита командной строки для отслеживания полного пути от вашей локальной системы до другой сетевой системы. Traceroute отображает количество хопов (IP-адресов маршрутизатора) по тому пути, по которому вы идете, чтобы добраться до конечного сервера. Это простая в использовании утилита для устранения неполадок в сети после команды ping.
В этом примере мы отслеживаем маршрут, по которому пакеты отправляются из локальной системы на один из серверов Google с IP-адресом 216.58.204.46:
$ traceroute 216.58.204.46
traceroute to 216.58.204.46 (216.58.204.46), 30 hops max, 60 byte packets
1 gateway (192.168.0.1) 0.487 ms 0.277 ms 0.269 ms
2 5.5.5.215 (5.5.5.215) 1.846 ms 1.631 ms 1.553 ms
3 * * *
4 72.14.194.226 (72.14.194.226) 3.762 ms 3.683 ms 3.577 ms
5 108.170.248.179 (108.170.248.179) 4.666 ms 108.170.248.162 (108.170.248.162) 4.869 ms 108.170.248.194 (108.170.248.194) 4.245 ms
6 72.14.235.133 (72.14.235.133) 72.443 ms 209.85.241.175 (209.85.241.175) 62.738 ms 72.14.235.133 (72.14.235.133) 65.809 ms
7 66.249.94.140 (66.249.94.140) 128.726 ms 127.506 ms 209.85.248.5 (209.85.248.5) 127.330 ms
8 74.125.251.181 (74.125.251.181) 127.219 ms 108.170.236.124 (108.170.236.124) 212.544 ms 74.125.251.181 (74.125.251.181) 127.249 ms
9 216.239.49.134 (216.239.49.134) 236.906 ms 209.85.242.80 (209.85.242.80) 254.810 ms 254.735 ms
10 209.85.251.138 (209.85.251.138) 252.002 ms 216.239.43.227 (216.239.43.227) 251.975 ms 209.85.242.80 (209.85.242.80) 236.343 ms
11 216.239.43.227 (216.239.43.227) 251.452 ms 72.14.234.8 (72.14.234.8) 279.650 ms 277.492 ms
12 209.85.250.9 (209.85.250.9) 274.521 ms 274.450 ms 209.85.253.249 (209.85.253.249) 270.558 ms
13 209.85.250.9 (209.85.250.9) 269.147 ms 209.85.254.244 (209.85.254.244) 347.046 ms 209.85.250.9 (209.85.250.9) 285.265 ms
14 64.233.175.112 (64.233.175.112) 344.852 ms 216.239.57.236 (216.239.57.236) 343.786 ms 64.233.175.112 (64.233.175.112) 345.273 ms
15 108.170.246.129 (108.170.246.129) 345.054 ms 345.342 ms 64.233.175.112 (64.233.175.112) 343.706 ms
16 108.170.238.119 (108.170.238.119) 345.610 ms 108.170.246.161 (108.170.246.161) 344.726 ms 108.170.238.117 (108.170.238.117) 345.536 ms
17 lhr25s12-in-f46.1e100.net (216.58.204.46) 345.382 ms 345.031 ms 344.884 ms
7. MTR Network Diagnostic Tool
MTR - это современный инструмент для диагностики сети из командной строки, который объединяет функции ping и traceroute в одном диагностическом инструменте. Его вывод обновляется в режиме реального времени, по умолчанию, пока вы не выйдете из программы, нажав q.
Самый простой способ запустить mtr - указать в качестве аргумента имя хоста или IP-адрес следующим образом:
$ mtr google.com
ИЛИ
$ mtr 216.58.223.78
Пример вывода:
wiki.merionet.ru (0.0.0.0) Thu Jul 12 08:58:27 2018
First TTL: 1
Host Loss% Snt Last Avg Best Wrst StDev
1. 192.168.0.1 0.0% 41 0.5 0.6 0.4 1.7 0.2
2. 5.5.5.215 0.0% 40 1.9 1.5 0.8 7.3 1.0
3. 209.snat-111-91-120.hns.net.in 23.1% 40 1.9 2.7 1.7 10.5 1.6
4. 72.14.194.226 0.0% 40 89.1 5.2 2.2 89.1 13.7
5. 108.170.248.193 0.0% 40 3.0 4.1 2.4 52.4 7.8
6. 108.170.237.43 0.0% 40 2.9 5.3 2.5 94.1 14.4
7. bom07s10-in-f174.1e100.net 0.0% 40 2.6 6.7 2.3 79.7 16.
Вы можете ограничить количество пингов определенным значением и выйти из mtr после этих пингов, используя флаг -c.
$ mtr -c 4 google.com
8. Команда Route
route - это утилита для отображения или манипулирования таблицей IP-маршрутизации системы Linux. Route в основном используется для настройки статических маршрутов к конкретным хостам или сетям через интерфейс.
Вы можете просмотреть таблицу маршрутизации IP ядра, набрав:
$ route
Destination Gateway Genmask Flags Metric Ref Use Iface
default gateway 0.0.0.0 UG 100 0 0 enp0s3
192.168.0.0 0.0.0.0 255.255.255.0 U 100 0 0 enp0s3
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Существует множество команд, которые вы можете использовать для настройки маршрутизации. Вот несколько полезных.
Добавить шлюз по умолчанию в таблицу маршрутизации:
$ sudo route add default gw
Добавить сетевой маршрут в таблицу маршрутизации:
$ sudo route add -net gw
Удалить конкретную запись маршрута из таблицы маршрутизации:
$ sudo route del -net
9. Команда Nmcli
Nmcli - это простой в использовании инструмент с поддержкой сценариев, позволяющий сообщать о состоянии сети, управлять сетевыми подключениями и управлять NetworkManager.
Чтобы просмотреть все ваши сетевые устройства, введите:
$ nmcli dev status
DEVICE TYPE STATE CONNECTION
virbr0 bridge connected virbr0
enp0s3 ethernet connected Wired connection 1
Чтобы проверить сетевые подключения в вашей системе, введите:
$ nmcli con show
Wired connection 1 bc3638ff-205a-3bbb-8845-5a4b0f7eef91 802-3-ethernet enp0s3
virbr0 00f5d53e-fd51-41d3-b069-bdfd2dde062b bridge virbr0
Чтобы увидеть только активные соединения, добавьте флаг -a.
$ nmcli con show -a
Инструменты сетевого сканирования и анализа производительности
10.Команда Netstat
netstat - это инструмент командной строки, который отображает полезную информацию, такую как сетевые соединения, таблицы маршрутизации, статистику интерфейса и многое другое, касающееся сетевой подсистемы Linux. Это полезно для устранения неполадок в сети и анализа производительности.
Кроме того, это также основной инструмент отладки сетевых служб, используемый для проверки того, какие программы прослушивают какие порты. Например, следующая команда покажет все порты TCP в режиме прослушивания и какие программы прослушивают их.
$ sudo netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 1257/master
tcp 0 0 127.0.0.1:5003 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 1015/dovecot
tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1015/dovecot
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/systemd
tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 1257/master
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN 1404/pdns_server
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1064/pure-ftpd (SER
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 972/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 975/cupsd
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 1257/master
tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN 636/lscpd (lscpd -
tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1015/dovecot
tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 1015/dovecot
tcp6 0 0 :::3306 :::* LISTEN 1053/mysqld
tcp6 0 0 :::3307 :::* LISTEN 1211/mysqld
tcp6 0 0 :::587 :::* LISTEN 1257/master
tcp6 0 0 :::110 :::* LISTEN 1015/dovecot
tcp6 0 0 :::143 :::* LISTEN 1015/dovecot
tcp6 0 0 :::111 :::* LISTEN 1/systemd
tcp6 0 0 :::80 :::* LISTEN 990/httpd
tcp6 0 0 :::465 :::* LISTEN 1257/master
tcp6 0 0 :::53 :::* LISTEN 1404/pdns_server
tcp6 0 0 :::21 :::* LISTEN 1064/pure-ftpd (SER
tcp6 0 0 :::22 :::* LISTEN 972/sshd
tcp6 0 0 ::1:631 :::* LISTEN 975/cupsd
tcp6 0 0 :::25 :::* LISTEN 1257/master
tcp6 0 0 :::993 :::* LISTEN 1015/dovecot
tcp6 0 0 :::995 :::* LISTEN 1015/dovecot
Чтобы просмотреть таблицу маршрутизации ядра, используйте флаг -r (который эквивалентен приведенной выше команде route).
$ netstat -r
Destination Gateway Genmask Flags MSS Window irtt Iface
default gateway 0.0.0.0 UG 0 0 0 enp0s3
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 enp0s3
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
Внимание: команда Netstat является устаревшей (deprecated) и была заменена командой ss, которую рассмотрим ниже.
11. Команда ss
ss (socket statistics - статистика сокетов) - мощная утилита командной строки для изучения сокетов. Он выводит статистику сокетов и отображает информацию, аналогичную netstat. Кроме того, ss показывает больше информации о TCP и состоянии по сравнению с другими подобными утилитами.
В следующем примере показано, как составить список всех TCP-портов (сокетов), открытых на сервере.
$ ss -ta
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 *:submission *:*
LISTEN 0 128 127.0.0.1:fmpro-internal *:*
LISTEN 0 100 *:pop3 *:*
LISTEN 0 100 *:imap *:*
LISTEN 0 128 *:sunrpc *:*
LISTEN 0 100 *:urd *:*
LISTEN 0 128 *:domain *:*
LISTEN 0 9 *:ftp *:*
LISTEN 0 128 *:ssh *:*
LISTEN 0 128 127.0.0.1:ipp *:*
LISTEN 0 100 *:smtp *:*
LISTEN 0 128 *:8090 *:*
LISTEN 0 100 *:imaps *:*
LISTEN 0 100 *:pop3s *:*
ESTAB 0 0 192.168.0.104:ssh 192.168.0.103:36398
ESTAB 0 0 127.0.0.1:34642 127.0.0.1:opsession-prxy
ESTAB 0 0 127.0.0.1:34638 127.0.0.1:opsession-prxy
ESTAB 0 0 127.0.0.1:34644 127.0.0.1:opsession-prxy
ESTAB 0 0 127.0.0.1:34640 127.0.0.1:opsession-prxy
LISTEN 0 80 :::mysql :::*
...
Чтобы отобразить все активные TCP-соединения вместе с их таймерами, выполните следующую команду.
$ ss -to
12. Команда NC
NC (NetCat), также называемая «Сетевым швейцарским армейским ножом», является мощной утилитой, используемой почти для любой задачи, связанной с сокетами домена TCP, UDP или UNIX. NC используется для открытия TCP-соединений, прослушивания произвольных портов TCP и UDP, выполнения сканирования портов и многого другого.
Вы также можете использовать его в качестве простых прокси-серверов TCP для тестирования сетевых демонов, проверки доступности удаленных портов и многого другого. Кроме того, вы можете использовать nc вместе с командой pv для передачи файлов между двумя компьютерами.
В следующем примере будет показано, как сканировать список портов.
$ nc -zv server2.merionet.lan 21 22 80 443 3000
Вы также можете указать диапазон портов.
$ nc -zv server2.merionet.lan 20-90
В следующем примере показано, как использовать nc для открытия TCP-соединения с портом 5000 на server2.merionet.lan, используя порт 3000 в качестве порта источника с тайм-аутом 10 секунд.
$ nc -p 3000 -w 10 server2.merionet.lan 5000
13.Команда Nmap
Nmap (Network Mapper) - это мощный и чрезвычайно универсальный инструмент для системных и сетевых администраторов Linux. Он используется для сбора информации об одном хосте или для изучения сетей по всей сети. Nmap также используется для сканирования безопасности, аудита сети, поиска открытых портов на удаленных хостах и многого другого.
Например, вы можете сканировать хост, используя его имя или IP-адрес.
$ nmap google.com
Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:23 BST
Nmap scan report for google.com (172.217.166.78)
Host is up (0.0036s latency).
rDNS record for 172.217.166.78: bom05s15-in-f14.1e100.net
Not shown: 998 filtered ports
PORT STATE SERVICE
80/tcp open http
443/tcp open https
Nmap done: 1 IP address (1 host up) scanned in 4.92 seconds
В качестве альтернативы можно использовать IP-адрес.
$ nmap 192.168.0.103
Starting Nmap 6.40 ( http://nmap.org ) at 2018-07-12 09:24 BST
Nmap scan report for 192.168.0.103
Host is up (0.000051s latency).
Not shown: 994 closed ports
PORT STATE SERVICE
22/tcp open ssh
25/tcp open smtp
902/tcp open iss-realsecure
4242/tcp open vrml-multi-use
5900/tcp open vnc
8080/tcp open http-proxy
MAC Address: 28:D2:44:EB:BD:98 (Lcfc(hefei) Electronics Technology Co.)
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds
Утилиты DNS Lookup
14. Команда host
Команда hos - это простая утилита для DNS Lookup, она переводит имена хостов в IP-адреса и наоборот.
$ host google.com
google.com has address 172.217.166.78
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
15. Команда dig
dig (domain information groper - сборщик информации о домене) - это еще одна простая утилита DNS Lookup, которая используется для запроса информации, связанной с DNS, такой как A Record, CNAME, MX Record и т. д., например:
$ dig google.com
; DiG 9.9.4-RedHat-9.9.4-51.el7 google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER merionet.com.ssh: Flags [.], ack 196, win 5202, options [nop,nop,TS val 2019058 ecr 2211778668], length 0
09:35:40.288269 IP merionet.com.54899 > gateway.domain: 43760+ PTR? 103.0.168.192.in-addr.arpa. (44)
09:35:40.333763 IP gateway.domain > merionet.com.54899: 43760 NXDomain* 0/1/0 (94)
09:35:40.335311 IP merionet.com.52036 > gateway.domain: 44289+ PTR? 1.0.168.192.in-addr.arpa. (42)
Чтобы захватить определенное количество пакетов, используйте параметр -c, чтобы ввести желаемое число.
$ tcpdump -c 5 -i eth1
Вы также можете захватывать и сохранять пакеты в файл для последующего анализа, используйте флаг -w, чтобы указать выходной файл.
$ tcpdump -w captured.pacs -i eth1
18. Утилита Wireshark
Wireshark - это популярный, мощный, универсальный и простой в использовании инструмент для захвата и анализа пакетов в сети с коммутацией пакетов в режиме реального времени.
Вы также можете сохранить полученные данные в файл для последующей проверки. Он используется системными администраторами и сетевыми инженерами для мониторинга и проверки пакетов в целях безопасности и устранения неполадок.
19.Утилита Bmon
bmon - мощная утилита для мониторинга и отладки сети, основанная на командной строке, для Unix-подобных систем, она собирает статистику, связанную с сетью, и печатает ее визуально в удобном для человека формате. Это надежный и эффективный монитор полосы пропускания в реальном времени и оценщик скорости.
Инструменты управления фаерволом Linux
20. Iptables
iptables - это инструмент командной строки для настройки, поддержки и проверки таблиц фильтрации IP-пакетов и набора правил NAT. Он используется для настройки и управления брандмауэром Linux (Netfilter). Это позволяет вам перечислить существующие правила фильтрации пакетов; добавлять или удалять или изменять правила фильтрации пакетов; список счетчиков для правил правил фильтрации пакетов.
Вы можете узнать, как использовать Iptables для различных целей из нашей статьи
21. Firewalld
Firewalld - это мощный и динамичный демон управления брандмауэром Linux (Netfilter), как и iptables. Он использует «сетевые зоны» вместо INPUT, OUTPUT и FORWARD CHAINS в iptables. В современных дистрибутивах Linux, таких как RHEL, CentOS 7 и Fedora 21+, iptables активно заменяется firewalld.
Важно: Iptables по-прежнему поддерживается и может быть установлен с помощью менеджера пакетов YUM. Однако вы не можете использовать Firewalld и iptables одновременно на одном сервере - вы должны выбрать один.
22. UFW (Uncomplicated Firewall)
UFW - это широко известный и используемый по умолчанию инструмент настройки брандмауэра в дистрибутивах Debian и Ubuntu Linux. Он используется для включения и отключения системного брандмауэра, добавления, удаления, изменения, сброса правил фильтрации пакетов и многого другого.
Чтобы проверить состояние брандмауэра UFW, введите:
$ sudo ufw status
Если брандмауэр UFW не активен, вы можете активировать или включить его с помощью следующей команды.
$ sudo ufw enable
Чтобы отключить брандмауэр UFW, используйте следующую команду.
$ sudo ufw disable
На этом пока все! В этом руководстве мы рассмотрели некоторые из наиболее часто используемых инструментов и утилит командной строки для управления сетью в Linux, в разных категориях, для системных администраторов и сетевых администраторов и инженеров.
Вы можете поделиться своими мыслями об этом руководстве с помощью комментариев. Если мы пропустили какие-либо часто используемые и важные сетевые инструменты и утилиты Linux или любую полезную связанную информацию, также сообщите нам об этом.