13 команд настройки сети Linux и устранения неполадок
Компьютеры соединены в сеть для обмена информацией или ресурсами друг с другом. Два или более компьютеров соединены через сетевую среду, называемую компьютерной сетью. Для формирования компьютерной сети используется ряд сетевых устройств или носителей.
Компьютер, на котором установлена Операционная система Linux, также может быть частью сети, будь то маленькая или большая сеть, благодаря своей многозадачной и многопользовательской природе. Поддержание работоспособности системы и сети является задачей Системного/сетевого администратора.
В этой статье мы рассмотрим часто используемые команды настройки сети и устранения неполадок в Linux.
1. Команда ifconfig
Команда ifconfig (конфигуратор интерфейса) используется для инициализации интерфейса, назначения IP-адреса интерфейсу и включения или отключить интерфейс по требованию.
С помощью этой команды вы можете просмотреть IP-адрес и Оборудование/MAC-адрес, назначенные интерфейсу, а также MTU (Максимальный размер передаваемой единицы).
ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:192.168.50.2 Bcast:192.168.50.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6093 errors:0 dropped:0 overruns:0 frame:0
TX packets:4824 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6125302 (5.8 MiB) TX bytes:536966 (524.3 KiB)
Interrupt:18 Base address:0x2000
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:16436 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)
Команда ifconfig с интерфейсом (eth0) отображает только определенные сведения об интерфейсе, такие как IP-адрес, MAC-адрес и т. д. с Опция -a
отобразит все доступные сведения об интерфейсе, если она также отключена.
ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:28:FD:4C
inet addr:192.168.50.2 Bcast:192.168.50.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe28:fd4c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6119 errors:0 dropped:0 overruns:0 frame:0
TX packets:4841 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6127464 (5.8 MiB) TX bytes:539648 (527.0 KiB)
Interrupt:18 Base address:0x2000
Установите IP-адрес и шлюз в Linux
Назначение IP-адреса и шлюза интерфейсу на лету. Настройка будет удалена при перезагрузке системы.
ifconfig eth0 192.168.50.5 netmask 255.255.255.0
Включить или отключить определенный интерфейс
Чтобы включить или отключить определенный интерфейс, мы используем команду примера следующим образом.
Включить eth0
ifup eth0
Отключить eth0
ifdown eth0
Установка размера MTU
По умолчанию размер MTU составляет 1500. Мы можем установить необходимый размер MTU с помощью приведенной ниже команды. Замените XXXX на размер.
ifconfig eth0 mtu XXXX
Установить интерфейс в беспорядочном режиме
Сетевой интерфейс принимал только пакеты, принадлежащие этому конкретному NIC. Если вы переведете интерфейс в неразборчивый режим, он будет получать все пакеты. Это очень полезно для захвата пакетов и их последующего анализа. Для этого вам может потребоваться доступ суперпользователя.
ifconfig eth0 - promisc
Обновление. В большинстве современных дистрибутивов Linux команда ifconfig заменена командой IP.
2. Команда Ping
Команда Ping (Packet INternet Groper) — лучший способ проверить соединение между двумя узлами. Будь то Локальная сеть (LAN) или Глобальная сеть (WAN).
Ping использует ICMP (Протокол управляющих сообщений Интернета) для связи с другими устройствами. Вы можете проверить имя хоста или IP-адрес, используя приведенные ниже команды.
ping 4.2.2.2
PING 4.2.2.2 (4.2.2.2) 56(84) bytes of data.
64 bytes from 4.2.2.2: icmp_seq=1 ttl=44 time=203 ms
64 bytes from 4.2.2.2: icmp_seq=2 ttl=44 time=201 ms
64 bytes from 4.2.2.2: icmp_seq=3 ttl=44 time=201 ms
OR
# ping linux-console.net
PING linux-console.net (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=284 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=287 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms
В Linux команда ping продолжает выполняться до тех пор, пока вы не прервете ее. Пинг с опцией -c
завершается после N количества запросов (успех или ошибка).
ping -c 5 linux-console.net
PING linux-console.net (50.116.66.136) 56(84) bytes of data.
64 bytes from 50.116.66.136: icmp_seq=1 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=2 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=3 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=4 ttl=47 time=285 ms
64 bytes from 50.116.66.136: icmp_seq=5 ttl=47 time=285 ms
--- linux-console.net ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4295ms
rtt min/avg/max/mdev = 285.062/285.324/285.406/0.599 ms
3. Команда трассировки маршрута
traceroute — это утилита устранения неполадок в сети, которая показывает количество переходов, пройденных для достижения пункта назначения, а также определяет путь прохождения пакетов. Ниже мы отслеживаем маршрут до глобального IP-адреса DNS-сервера и можем достичь места назначения, а также показывает путь, по которому движется этот пакет.
traceroute 4.2.2.2
traceroute to 4.2.2.2 (4.2.2.2), 30 hops max, 60 byte packets
1 192.168.50.1 (192.168.50.1) 0.217 ms 0.624 ms 0.133 ms
2 227.18.106.27.mysipl.com (27.106.18.227) 2.343 ms 1.910 ms 1.799 ms
3 221-231-119-111.mysipl.com (111.119.231.221) 4.334 ms 4.001 ms 5.619 ms
4 10.0.0.5 (10.0.0.5) 5.386 ms 6.490 ms 6.224 ms
5 gi0-0-0.dgw1.bom2.pacific.net.in (203.123.129.25) 7.798 ms 7.614 ms 7.378 ms
6 115.113.165.49.static-mumbai.vsnl.net.in (115.113.165.49) 10.852 ms 5.389 ms 4.322 ms
7 ix-0-100.tcore1.MLV-Mumbai.as6453.net (180.87.38.5) 5.836 ms 5.590 ms 5.503 ms
8 if-9-5.tcore1.WYN-Marseille.as6453.net (80.231.217.17) 216.909 ms 198.864 ms 201.737 ms
9 if-2-2.tcore2.WYN-Marseille.as6453.net (80.231.217.2) 203.305 ms 203.141 ms 202.888 ms
10 if-5-2.tcore1.WV6-Madrid.as6453.net (80.231.200.6) 200.552 ms 202.463 ms 202.222 ms
11 if-8-2.tcore2.SV8-Highbridge.as6453.net (80.231.91.26) 205.446 ms 215.885 ms 202.867 ms
12 if-2-2.tcore1.SV8-Highbridge.as6453.net (80.231.139.2) 202.675 ms 201.540 ms 203.972 ms
13 if-6-2.tcore1.NJY-Newark.as6453.net (80.231.138.18) 203.732 ms 203.496 ms 202.951 ms
14 if-2-2.tcore2.NJY-Newark.as6453.net (66.198.70.2) 203.858 ms 203.373 ms 203.208 ms
15 66.198.111.26 (66.198.111.26) 201.093 ms 63.243.128.25 (63.243.128.25) 206.597 ms 66.198.111.26 (66.198.111.26) 204.178 ms
16 ae9.edge1.NewYork.Level3.net (4.68.62.185) 205.960 ms 205.740 ms 205.487 ms
17 vlan51.ebr1.NewYork2.Level3.net (4.69.138.222) 203.867 ms vlan52.ebr2.NewYork2.Level3.net (4.69.138.254) 202.850 ms vlan51.ebr1.NewYork2.Level3.net (4.69.138.222) 202.351 ms
18 ae-6-6.ebr2.NewYork1.Level3.net (4.69.141.21) 201.771 ms 201.185 ms 201.120 ms
19 ae-81-81.csw3.NewYork1.Level3.net (4.69.134.74) 202.407 ms 201.479 ms ae-92-92.csw4.NewYork1.Level3.net (4.69.148.46) 208.145 ms
20 ae-2-70.edge2.NewYork1.Level3.net (4.69.155.80) 200.572 ms ae-4-90.edge2.NewYork1.Level3.net (4.69.155.208) 200.402 ms ae-1-60.edge2.NewYork1.Level3.net (4.69.155.16) 203.573 ms
21 b.resolvers.Level3.net (4.2.2.2) 199.725 ms 199.190 ms 202.488 ms
4. Команда Netstat
Команда Netstat (Сетевая статистика) отображает информацию о соединении, информацию таблицы маршрутизации и т. д. Для отображения информации таблицы маршрутизации используйте параметр -r
.
netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.50.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 0 0 0 eth0
default 192.168.50.1 0.0.0.0 UG 0 0 0 eth0
Дополнительные примеры команды Netstat можно найти в нашей предыдущей статье о 20 примерах команд Netstat в Linux.
Обновление. В большинстве современных дистрибутивов Linux команда netstat заменена командой ss (статистика сокетов).
5. Команда копать
Dig (поиск информации о домене) запрашивает информацию, связанную с DNS, например запись A
, CNAME , MX Record и и т. д. Эта команда в основном используется для устранения неполадок запросов, связанных с DNS.
dig linux-console.net; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6 <<>> linux-console.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<
Дополнительные примеры команды Dig можно найти в статье «10 команд Linux Dig для запроса DNS».
6. Команда Nslookup
Команда nslookup также используется для поиска запросов, связанных с DNS. В следующих примерах показана запись A
(IP-адрес) для linux-console.net.
nslookup linux-console.net
Server: 4.2.2.2
Address: 4.2.2.2#53
Non-authoritative answer:
linux-console.net canonical name = linux-console.net.
Name: linux-console.net
Address: 50.116.66.136
Дополнительную информацию о команде Nslookup можно найти в статье «8 примеров команд Nslookup в Linux».
7. Команда маршрута
Команда route также отображает и управляет таблицей маршрутизации ip. Чтобы просмотреть таблицу маршрутизации по умолчанию в Linux, введите следующую команду.
route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.50.0 * 255.255.255.0 U 0 0 0 eth0
link-local * 255.255.0.0 U 1002 0 0 eth0
default 192.168.50.1 0.0.0.0 UG 0 0 0 eth0
Добавление, удаление маршрутов и шлюза по умолчанию с помощью следующих команд.
Добавить маршрут в Linux
route add -net 10.10.10.0/24 gw 192.168.0.1
Удалить маршрут в Linux
route del -net 10.10.10.0/24 gw 192.168.0.1
Добавить шлюз по умолчанию в Linux
route add default gw 192.168.0.1
8. Команда хоста
Команда host для поиска имени для IP или IP для имени в IPv4 или IPv6 > а также запросить записи DNS.
host www.google.com
www.google.com has address 173.194.38.180
www.google.com has address 173.194.38.176
www.google.com has address 173.194.38.177
www.google.com has address 173.194.38.178
www.google.com has address 173.194.38.179
www.google.com has IPv6 address 2404:6800:4003:802::1014
Использование -t
для поиска записей ресурсов DNS, таких как CNAME, NS, MX, SOA , и т. д.
host -t CNAME www.redhat.com
www.redhat.com is an alias for wildcard.redhat.com.edgekey.net.
9. Команда Арп
ARP (протокол разрешения адресов) полезен для просмотра/добавления содержимого таблиц ARP ядра. Чтобы просмотреть таблицу по умолчанию, используйте команду as.
arp -e
Address HWtype HWaddress Flags Mask Iface
192.168.50.1 ether 00:50:56:c0:00:08 C eth0
10. Команда Ethtool
ethtool заменяет mii-tool. Это просмотр, настройка скорости и дуплекса вашей сетевой карты (NIC). Вы можете установить дуплекс на постоянной основе в /etc/sysconfig/network-scripts/ifcfg-eth0 с помощью переменной ETHTOOL_OPTS.
ethtool eth0
Settings for eth0:
Current message level: 0x00000007 (7)
Link detected: yes
11. Команда Iwconfig
Команда iwconfig в Linux используется для настройки интерфейса беспроводной сети. Вы можете просмотреть и настроить основные параметры Wi-Fi, такие как канал SSID и шифрование. Вы можете обратиться к странице руководства iwconfig, чтобы узнать больше.
iwconfig [interface]
12. Команда имени хоста
имя хоста предназначено для идентификации в сети. Выполните команду hostname, чтобы увидеть имя хоста вашего компьютера. Вы можете навсегда установить имя хоста в /etc/sysconfig/network. Необходимо перезагрузить компьютер после установки правильного имени хоста.
hostname
linux-console.net
13. Инструменты Nmcli и Nmtui
Инструменты Nmcli и Nmtui используются для настройки параметров сети, а также для управления сетевыми устройствами, создания, изменения, активации/деактивации и удаления сетевых подключений в системах Linux.
nmcli
nmtui
Эта статья может быть полезна для повседневного использования сетевыми администраторами Linux в Linux/Unix-подобных операционных системах. Если мы что-то пропустили, поделитесь, пожалуйста, через поле для комментариев.