Поиск…


Вступление

В этом документе описываются сети TCP / IP, сетевое администрирование и настройки системы. Linux может поддерживать несколько сетевых устройств. Имена устройств нумеруются и начинаются с нуля и подсчитываются вверх. Например, компьютер с двумя сетевыми адаптерами будет иметь два устройства с меткой eth0 и eth1.

Информация о интерфейсе

Ifconfig

Перечислите все интерфейсы, доступные на машине

$ ifconfig -a

Перечислите детали определенного интерфейса

Синтаксис: $ ifconfig <interface>

Пример:

$ ifconfig eth0
eth0      Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet addr:x.x.x.x  Bcast:x.x.x.x  Mask:x.x.x.x
          inet6 addr: xxxx::xxx:xxxx:xxxx:xxxx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4426618 errors:0 dropped:1124 overruns:0 frame:0
          TX packets:189171 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:382611580 (382.6 MB)  TX bytes:36923665 (36.9 MB)
          Interrupt:16 Memory:fb5e0000-fb600000 

Ethtool - запрос настроек сетевого драйвера и оборудования

Синтаксис: $ ethtool <interface>

Пример:

$ ethtool eth0
Settings for eth0:
    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: 1
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: on (auto)
    Supports Wake-on: pumbg
    Wake-on: g
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes


ip-show / манипулировать маршрутизацией, устройствами, маршрутизацией политики и туннелями

Синтаксис: $ ip { link | ... | route | macsec } (см. man ip для полного списка объектов)

Примеры

Список сетевых интерфейсов

$ ip link show    

Переименуйте интерфейс eth0 в wan

$ ip link set dev eth0 name wan    

Принесите интерфейс eth0 вверх (или вниз)

$ ip link set dev eth0 up    

Список адресов для интерфейсов

$ ip addr show    

Добавить (или del) ip и маску (255.255.255.0)

$ ip addr add 1.2.3.4/24 brd + dev eth0 

Добавление IP-адреса в интерфейс

IP-адрес интерфейса можно получить с помощью DHCP или статического назначения


DHCP Если вы подключены к сети с запущенным DHCP-сервером, команда dhclient может получить IP-адрес для вашего интерфейса

$ dhclient <interface>

или, альтернативно, вы можете внести изменения в файл /etc/network/interfaces для интерфейса, который будет загружен при загрузке и получить IP-адрес DHCP

auto eth0
iface eth0 inet dhcp

Статическая конфигурация (постоянное изменение) с использованием файла /etc/network/interfaces

Если вы хотите статически настроить параметры интерфейса (постоянное изменение), вы можете сделать это в /etc/network/interfaces .

Пример:

auto eth0 # Bring up the interface on boot
iface eth0 inet static 
    address 10.10.70.10
    netmask 255.255.0.0
    gateway 10.10.1.1
    dns-nameservers 10.10.1.20
    dns-nameservers 10.10.1.30

Эти изменения сохраняются даже после перезагрузки системы.


Статическая конфигурация (временное изменение) с использованием утилиты ifconfig

Статический IP-адрес может быть добавлен в интерфейс с помощью утилиты ifconfig следующим образом

$ ifconfig <interface> <ip-address>/<mask> up

Пример:

$ ifconfig eth0 10.10.50.100/16 up

Локальное разрешение DNS

Файл: /etc/hosts содержит список хостов, которые должны быть локально разрешены (а не DNS)

Пример содержимого файла:

127.0.0.1         your-node-name.your-domain.com  localhost.localdomain  localhost 
XXX.XXX.XXX.XXX   node-name

Формат файла для файла hosts указан в RFC 952

Настройка DNS-серверов для разрешения имени домена

Файл: /etc/resolv.conf содержит список DNS-серверов для разрешения имен доменов

Пример содержимого файла:

nameserver 8.8.8.8 # IP address of the primary name server
nameserver 8.8.4.4 # IP address of the secondary name server

В случае, если внутренний DNS-сервер вы можете проверить, правильно ли этот сервер правильно разрешает DNS-имена, используя команду dig :

$ dig google.com @your.dns.server.com +short

Просмотр и управление маршрутами

Управление таблицей маршрутизации IP с использованием route

Отобразить таблицу маршрутизации

$ route # Displays list or routes and also resolves host names
$ route -n # Displays list of routes without resolving host names for faster results

Добавить / Удалить маршрут

вариант Описание
add или del Добавить или удалить маршрут
-host xxxx Добавить маршрут к одному узлу, идентифицированному по IP-адресу
-net xxxx Добавить маршрут в сеть, указанную сетевым адресом
gw xxxx Укажите сетевой шлюз
netmask xxxx Укажите сетевую маску сети
default Добавить маршрут по умолчанию

Примеры:

  • добавить маршрут к хосту $ route add -host xxxx eth1
  • добавить маршрут в сеть $ route add -net 2.2.2.0 netmask 255.255.255.0 eth0
  • Кроме того, вы также можете использовать формат cidr для добавления маршрута в сетевой route add -net 2.2.2.0/24 eth0
  • добавить шлюз по умолчанию $ route add default gw 2.2.2.1 eth0
  • удалить маршрут $ route del -net 2.2.2.0/24

Манипулировать таблицу IP-маршрутизации, используя ip

Отобразить таблицу маршрутизации

$ ip route show # List routing table

Добавить / Удалить маршрут

вариант Описание
add или del или change или append или replace Изменить маршрут
show или flush команда отображает содержимое таблиц маршрутизации или удаляет их
restore восстановить информацию о таблице маршрутизации из stdin
get эта команда получает единственный маршрут к месту назначения и печатает его содержимое точно так же, как это видит ядро

Примеры:

  • Установите шлюз по умолчанию на 1.2.3.254 $ ip route add default via 1.2.3.254
  • Добавляет маршрут по умолчанию (для всех адресов) через локальный шлюз 192.168.1.1, который может быть достигнут на устройстве eth0 $ ip route add default via 192.168.1.1 dev eth0

Настроить имя хоста для какой-либо другой системы в вашей сети

Вы можете настроить свою систему Linux (или macOS), чтобы привязать идентификатор <hostname> к IP-адресу другой системы в вашей сети. Вы можете настроить его:

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

    1. IP-адрес удаленной системы <ip_rem> ,
    2. одно или несколько пробелов и
    3. идентификатор <hostname> .
  • Для одного пользователя. Вы должны изменить файл ~ / .hosts --- вы должны создать его. Это не так просто, как для системы. Здесь вы можете увидеть объяснение.


Например, вы можете добавить эту строку, используя инструмент cat Unix. Предположим, что вы хотите сделать ping на ПК в локальной сети, чей IP-адрес равен 192.168.1.44, и вы хотите сослаться на этот IP-адрес только с помощью remote_pc . Затем вы должны написать в своей оболочке:

$ sudo cat 192.168.1.44 remote_pc

Затем вы можете выполнить этот пинг:

$ ping remote_pc


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow