Поиск по сайту:

Найти IP-адрес шлюза по умолчанию в Linux и Unix

5 способов найти IP-адрес шлюза или маршрутизатора в Linux

шлюз — это узел или маршрутизатор, который позволяет двум или более узлам с разными IP-адресами взаимодействовать друг с другом при подключении к одному и тому же маршрутизатору. Без шлюза устройства, подключенные к одному маршрутизатору, не смогут взаимодействовать друг с другом. Другими словами, шлюз действует как точка доступа для передачи сетевых данных из локальной сети в удаленную сеть. В этом руководстве мы увидим все возможные способы найти шлюз по умолчанию в Linux и Unix из командной строки.

Найти шлюз по умолчанию в Linux

Для просмотра IP-адреса шлюза в Linux доступны различные инструменты командной строки. Наиболее часто используемые инструменты: ip, ss и netcat. На примерах мы увидим, как проверить шлюз по умолчанию с помощью каждого инструмента.

1. Найдите шлюз по умолчанию с помощью команды ip.

Команда ip используется для отображения и управления маршрутизацией, сетевыми устройствами, интерфейсами и туннелями в Linux.

Чтобы найти шлюз по умолчанию или IP-адрес маршрутизатора, просто запустите:

ip route

Или,

ip r

Или,

ip route show

Пример вывода:

default via 192.168.1.101 dev eth0 proto static metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.20 metric 100 

Вы видели строку "по умолчанию через 192.168.1.101" в приведенном выше выводе? Это шлюз по умолчанию. Итак, мой шлюз по умолчанию — 192.168.1.101.

Вы можете использовать -4 с командой ip Route, чтобы отобразить только шлюз IPv4:

ip -4 route

И используйте -6, чтобы отобразить только шлюз IPv6:

ip -6 route

Как вы заметили в выводе, также отображаются IP-адрес и сведения о подсети. Если вы хотите отобразить ТОЛЬКО шлюз по умолчанию и исключить все остальные сведения из вывода, вы можете использовать команду awk с ip Route, как показано ниже.

Чтобы найти IP-адрес шлюза по умолчанию с помощью ip Route и grep, запустите:

Чтобы распечатать IP-адрес шлюза с помощью команд ip Route и awk, выполните:

ip route | awk '/^default/{print $3}'

Или,

ip route show default | awk '{print $3}'

Здесь будет указан только шлюз.

Пример вывода:

192.168.1.101

Найдите шлюз по умолчанию с помощью команды ip

Вы также можете использовать команду grep с ip маршрутом для фильтрации шлюза по умолчанию.

ip route | grep default
default via 192.168.1.101 dev eth0 proto static metric 100 

ip маршрут — рекомендуемая команда для поиска IP-адреса шлюза по умолчанию в последних дистрибутивах Linux. Однако некоторые из вас, возможно, все еще используют устаревшие инструменты, такие как route и netstat. Старые привычки умирают с трудом, не так ли? В следующих разделах объясняется, как определить шлюз в Linux с помощью команд route и netstat.

2. Отображение IP-адреса шлюза по умолчанию с помощью команды маршрута.

Команда route используется для отображения таблицы маршрутизации и управления ею в старых дистрибутивах Linux, например RHEL 6, CentOS 6.

Если вы используете более старые дистрибутивы Linux, вы можете использовать команду route, чтобы отобразить шлюз по умолчанию.

Обратите внимание, что инструмент route устарел и заменен командой ip Route в последних дистрибутивах Linux. Если по какой-либо причине вы все еще хотите использовать route, вам необходимо его установить.

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

dnf provides route

Пример вывода:

net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic networking tools
Repo        : @System
Matched from:
Filename    : /usr/sbin/route

net-tools-2.0-0.52.20160912git.el8.x86_64 : Basic networking tools
Repo        : baseos
Matched from:
Filename    : /usr/sbin/route

Как видно из приведенного выше вывода, пакет net-tools предоставляет команду route. Итак, давайте установим его с помощью команды:

sudo dnf install net-tools

Теперь запустите команду route с флагом -n, чтобы отобразить IP-адрес шлюза или IP-адрес маршрутизатора в вашей системе Linux:

route -n

Пример вывода:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.101   0.0.0.0         UG    100    0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 eth0

Отображение IP-адреса шлюза по умолчанию с помощью команды маршрута

Как вы видите в приведенном выше выводе, IP-адрес шлюза — 192.168.1.101. Вы также увидите две буквы "UG" в разделе «Флаги». Буква U обозначает интерфейс UP, а G означает шлюз.

3. Просмотр IP-адреса шлюза с помощью команды netstat.

Netstat выводит информацию о сетевой подсистеме Linux. Используя инструмент netstat, мы можем печатать сетевые подключения, таблицы маршрутизации, статистику интерфейсов, маскарадные соединения и членство в многоадресной рассылке в системах Linux и Unix.

Netstat является частью пакета net-tools, поэтому убедитесь, что вы установили его в своей системе Linux. Следующие команды устанавливают пакет net-tools в системах на базе RHEL:

sudo dnf install net-tools

Чтобы распечатать IP-адрес шлюза по умолчанию с помощью команды netstat, выполните:

netstat -rn

Пример вывода:

Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.1.101   0.0.0.0         UG        0 0          0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0

Просмотр IP-адреса шлюза с помощью команды netstat

Вывод команды netstat такой же, как вывод команды route. Согласно приведенному выше выводу, IP-адрес шлюза — 192.168.1.101, а UG означает, что сетевой адаптер, связанный со шлюзом, — UP, а G указывает шлюз,

Обратите внимание, что netstat также устарел, и вместо netstat рекомендуется использовать команду "ss".

4. Распечатайте IP-адрес шлюза по умолчанию или IP-адрес маршрутизатора с помощью команды маршрутизации.

routel — это сценарий для вывода списка маршрутов в красивом формате вывода. Сценарий маршрута будет перечислять маршруты в формате, который некоторым может показаться более простым для интерпретации, чем эквивалент списка ip Route.

Сценарий маршрута также является частью пакета net-tools.

Чтобы распечатать IP-адрес шлюза или маршрутизатора по умолчанию, запустите сценарий маршрутизации без каких-либо флагов, как показано ниже:

routel

Пример вывода:

         target            gateway          source    proto    scope    dev tbl
        default      192.168.1.101                   static            eth0 
    172.17.0.0/ 16                      172.17.0.1   kernel     linkdocker0 
   192.168.1.0/ 24                    192.168.1.20   kernel     link   eth0 
     127.0.0.0/ 8            local       127.0.0.1   kernel     host     lo local
      127.0.0.1              local       127.0.0.1   kernel     host     lo local
127.255.255.255          broadcast       127.0.0.1   kernel     link     lo local
     172.17.0.1              local      172.17.0.1   kernel     hostdocker0 local
 172.17.255.255          broadcast      172.17.0.1   kernel     linkdocker0 local
   192.168.1.20              local    192.168.1.20   kernel     host   eth0 local
  192.168.1.255          broadcast    192.168.1.20   kernel     link   eth0 local
            ::1                                      kernel              lo 
            ::/ 96     unreachable                                       lo 
::ffff:0.0.0.0/ 96     unreachable                                       lo 
    2002:a00::/ 24     unreachable                                       lo 
   2002:7f00::/ 24     unreachable                                       lo 
   2002:a9fe::/ 32     unreachable                                       lo 
   2002:ac10::/ 28     unreachable                                       lo 
   2002:c0a8::/ 32     unreachable                                       lo 
   2002:e000::/ 19     unreachable                                       lo 
   3ffe:ffff::/ 32     unreachable                                       lo 
        fe80::/ 64                                   kernel            eth0 
            ::1              local                   kernel              lo local
fe80::d085:cff:fec7:c1c3              local                   kernel            eth0 local

Распечатайте IP-адрес шлюза по умолчанию или IP-адрес маршрутизатора с помощью команды маршрутизации

Чтобы напечатать только шлюз по умолчанию, запустите маршрут с помощью grep, как показано ниже:

routel | grep default
        default      192.168.1.101                   static            eth0 

5. Найдите шлюз из файлов конфигурации Ethernet.

Если у вас настроен статический IP-адрес в вашей системе Linux или Unix, вы можете просмотреть IP-адрес шлюза или маршрутизатора по умолчанию, просмотрев файлы конфигурации сети.

В системах на базе RPM, таких как Fedora, RHEL, CentOS, AlmaLinux и Rocky Linux, конфигурация сетевой карты (сокращенно NIC) хранится в /etc/sysconfig/network-scripts. / каталог.

Найдите имя сетевой карты:

ip link show

Пример вывода:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0@if5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default qlen 1000
    link/ether d2:85:0c:c7:c1:c3 brd ff:ff:ff:ff:ff:ff link-netnsid 0

Имя сетевой карты — eth0. Итак, давайте откроем конфигурацию сетевой карты этого файла сетевой карты:

cat /etc/sysconfig/network-scripts/ifcfg-eth0

Пример вывода:

DEVICE=eth0
ONBOOT=yes
UUID=eb6b6a7c-37f5-11ed-a59a-a0e70bdf3dfb
BOOTPROTO=none
IPADDR=192.168.1.20
NETMASK=255.255.255.0
GATEWAY=192.168.1.101
DNS1=8.8.8.8

Как вы видите выше, IP-адрес шлюза — 192.168.1.101.

В Debian, Ubuntu и их производных все файлы конфигурации сети хранятся в каталоге /etc/network/.

cat /etc/network/interfaces

Пример вывода:

auto ens18
iface ens18 inet static
        address 192.168.1.150
        netmask 255.255.255.0
        gateway 192.168.1.101
        dns-nameservers 8.8.8.8    

Обратите внимание, что этот метод должен работать только в том случае, если IP-адрес настроен вручную. Для сети с поддержкой DHCP вам необходимо следовать предыдущим 4 методам.

Заключение

В этом руководстве мы перечислили 5 различных способов найти шлюз по умолчанию в операционных системах Linux и Unix. Мы также включили примеры команд для отображения IP-адреса шлюза/маршрутизатора в каждом методе. Надеюсь это поможет.

Статьи по данной тематике