Linux network interface eth0

Ручная настройка сети в Linux

Для доступа к сетевым картам в Linux используются так называемые интерфейсы. Интерфейсы это не файлы устройств и их нет в каталоге /dev. Интерфейсы создаются динамически и не всегда связаны с сетевыми картами. Например интерфейс ppp0 — это интерфейс VPNа, организованного по протоколу PPTP, а интерфейс lo это виртуальная сетевая карта с адресом localhost (127.0.0.1). В Linux имена интерфейсов традиционно состоят из мнемонического типа интерфейса и его порядкового номера. Карты ethernet доступны через интерфейсы eth0, eth1 и т.д. В системах, использующих systemd способ именования другой — интерфейсы имеют имена вида enp2s0 (en -Ethernet, p — PCI, 2 — номер на шине) Список всех интерфейсов можно посмотреть командой ifconfig -a или ip link .

Привязка интерфейса к карте

При наличии нескольких сетевых карт возникает вопрос о порядке их нумерации. В CentOS 6 эта задача возложена на подсистему обнаружения и конфигурации устройств — udev. В системах с systemd правила именования встроены в udev, но могот быть переопределены, как написано ниже.

Конфигурационный файл переименования интерфейсов обновляется автоматически при первом обнаружении очередной сетевой карты и находится в файле /etc/udev/rules.d/70-persistent-net.rules. Файл состоит из строк такого содержания:

# PCI device 0x1af4:0x1000 (virtio-pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="52:54:00:29:24:1e", ATTR=="1", KERNEL=="eth*", NAME="eth0" 

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

ifcfg

Классическая утилита конфигурации сетевых интерфейсов ifcfg

#просмотр списка активных интерфейсов ifcfg #просмотр конфигурации конкретного интерфейса ifcfg eth0 #просмотр списка доступных интерфейсов ifcfg -a #настройка ip адреса и активация интерфейса ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up #деактивация интерфейса ifconfig eth0 down 

route

Настройка таблицы маршрутизации route

#добавление шлюза по умолчанию route add default gw 192.168.0.1 #добавление маршрута в локальную сеть route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0 #добавление маршрута в удаленную сеть route add -net 192.57.66.0 netmask 255.255.255.0 gw 192.168.0.2 #удаление маршрута route del -net 192.57.66.0 netmask 255.255.255.0 gw 192.168.0.2 #просмотр таблицы маршрутизации route #или netstat -r 

ip

В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip

#просмотр списка доступных интерфейсов ip link #просмотр статистики по интерфейсам ip -s link #просмотр ip адресов ip addr #просмотр таблицы маршрутизации ip route 

DNS

Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf

search example.com nameserver 8.8.8.8 

Ручная настройка сети в ArchLinux

Для просмотра доступных сетевых интерфейсов используется команда ip link

Читайте также:  Linux http server php

ArchLinux использует для настройки сети systemd/netctl . Для конфигурации используются файлы профилей, которые хранятся в /etc/netctl/ . В данном каталоге есть подкаталог examples/ из которого можно копировать файлы с образцами профилей в /etc/netctl/ . Например:

cp /etc/netctl/examples/ethernet-static /etc/netctl/enp1s0-work 

Содержимое enp1s0-work после редактирования

Interface=enp1s0 Connection=ethernet IP=static Address=('10.1.10.2/24') Gateway='10.1.10.1' DNS=('10.1.10.1') 
#активация профиля netctl start enp1s0-work #включение автоматической активации с текущими настройками профиля при старте системы netctl enable enp1s0-work #обновление конфигурации автостарта после изменения настроек профиля netctl reenable enp1s0-work 

Ручная настройка сети в Ubuntu 20 и старше

В Ubuntu 20 система скриптов ifup / ifdown заменена программой netplan , со своими конфигурационными файлами на языке YAML — /etc/netplan/имяфайла.yaml

Пример конфигурации

Здесь только секция ethernets, но могут быть секции для vlan, bonding и т.д. Массивы имеют две альтернативные формы записи — в квадратных скобках и построчно, где каждая строка начинается с «- «. link-local: [] — запрет IPV6

network: version: 2 renderer: networkd ethernets: enp3s0f0: link-local: [] addresses: - 192.168.56.110/24 routes: - to: 172.16.0.0/24 via: 192.168.56.100 gateway4: 192.168.56.1 nameservers: addresses: [8.8.8.8, 8.8.4.4] 

Команды

netplan generate — генерация из файлов YAML конфигураций для бэкендов NetworkManager или systemd-networkd в каталогах /run/каталог_бэкенда/. Здесь же проходит валидация синтаксиса.

netplan apply — применение конфигурации

Ручная настройка сети в Ubuntu

Просмотр доступных интерфейсов — ifcfg -a

Файл конфигурации интерфейсов — /etc/network/interfaces . auto — говорит о том, что интерфейс надо конфигурировать при старте системы.

iface eth0 inet static address 192.168.0.1 netmask 255.255.255.0 gateway 192.168.0.254 auto eth0 iface eth1 inet dhcp auto eth1 

После смены настроек в /etc/network/interfaces , необходимо отключить и снова включить интерфейс.

Ручная настройка сети в CentOS 6

Общие настройки сети

Файл /etc/sysconfig/network используется стартовыми скриптами и содержит ключевые параметры — нужна ли сеть, нужно ли конфигурировать IP v6, имя компьютера. Сюда можно вписать шлюз по умолчанию, но CentOS 6 ориентируется на динамическое подкючение к сетям через WiFi и вписывает его в конфигурацию подходящего интерфейса.

NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=wwww.example.com GATEWAY=10.10.10.1 

Конфигурация интерфейса

Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0

Интерфейс, получающий адрес по DHCP

# динамическая конфигурация интерфейса ONBOOT="yes" DEVICE="eth0" BOOTPROTO="dhcp" 
# статическая конфигурация интерфейса ONBOOT="yes" DEVICE="eth1" BOOTPROTO="static" IPADDR=145.14.137.221 PREFIX=24 # конфигурация шлюза и DNS GATEWAY=192.168.1.1 DEFROUTE=yes DNS1=192.168.1.14 # NM - NetworkManager - графическая оболочка + автоматизация настроек NM_CONTROLLED="no" 

Дополнительный IP адрес на интерфейсе eth1

ONBOOT=no DEVICE=eth1:0 BOOTPROTO=static IPADDR=172.16.12.6 NETMASK=255.255.0.0 # следующие два параметра можно не писать # они вычисляются из IP и маски BROADCAST=172.16.255.255 NETWORK=172.16.0.0 

Инициализация VLAN на eth1

DEVICE=eth1.72 VLAN=yes VLAN_TRUNK_IF=eth1 BOOTPROTO=static IPADDR=10.10.0.1 NETMASK=255.255.255.192 ONBOOT=yes 

Настройка DNS

Файл /etc/resolv.conf

# мой домен, для подстановки в короткие имена search example.com # сервер DNS nameserver 8.8.8.8 

Ручная настройка имен хостов файл /etc/hosts

127.0.0.1 localhost.localdomain localhost ANY ::1 localhost6.localdomain6 localhost6 194.87.0.50 www.ru 

Настройка брандмауэра

Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall

Читайте также:  Arch linux usb devices

Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.

После ручного изменения правил их можно сохранить командой service iptables save

Источник

Шпаргалка по настройке сети в Linux

Что за компьютер без подключения к сети и к Интернету, в частности? Данная шпаргалка поможет настроить сетевые интерфейсы в Линуксе, а для примера будет взят Debian.

И так, в самом начале необходимо удостовериться, что ваша сетевая карта в компьютере обнаружена ОС, для этого выполним команду:

dmesg | grep -i Eth или же lspci | grep Ether – для поиска вводится начало «eth», т.к. сетевой карте (Ethernet) обычно присваивается интерфейс под названием eth0, где 0 – номер устройства. Если сетевых карт в компьютере несколько, то должно быть, соответственно, eth0, eth1, eth2 и т.д. В итоге на консоль должно быть выведено что-то вроде такого:

[ 1.326482] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
[ 1.328138] forcedeth 0000:00:0a.0: PCI INT A -> Link[LMAC] -> GSI 22 (level, low) -> IRQ 22
[ 1.328225] forcedeth 0000:00:0a.0: setting latency timer to 64
[ 1.853889] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x732 @ 1, addr 00:1d:60:47:8f:78
[ 1.853982] forcedeth 0000:00:0a.0: highdma pwrctl mgmt lnktim msi desc-v3
[ 34.458536] forcedeth 0000:00:0a.0: irq 42 for MSI/MSI-X
[ 34.458756] eth0: no link during initialization.
[ 34.459691] ADDRCONF(NETDEV_UP): eth0: link is not ready

Как видно из приведенного примера, в компьютере установлена сетевая карта от nVidia c драйвером 0.64 и с присвоенным интерфейсом под названием eth0, правда, он в данный момент не активен, т.к. отсутствует соединение кабеля к сетевой плате.

Теперь можно ввести в консоль следующую команду для отображения информации о сетевых интерфейсах:

eth0 Link encap:Ethernet HWaddr 00:1d:60:47:8f:78
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:42 Base address:0xa000

lo Link encap:Локальная петля (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:122 errors:0 dropped:0 overruns:0 frame:0
TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12867 (12.8 KB) TX bytes:12867 (12.8 KB)

Первый интерфейс – это eth0, с MAC-адресом 00:1d:60:47:8f:78. Т.к. в описании интерфейса отсутствует слово RUNNING, то это означает, что сетевой кабель не подключен. Второй интерфейс, присутствующий в списке – это lo, локальный интерфейс (т.н. называемый Loopback), который имеет фиксированный для всех loopback-интерфейсов IP-адрес 127.0.0.1, маску подсети 255.0.0.0 и статус RUNNING. Из всего приведенного видно, что сетевой интерфейс eth0, который нам нужен для организации сети и выхода в Интернет, не настроен. Сейчас мы этим и займемся.

Читайте также:  Ошибка при установки linux mint

Нам необходимо отредактировать файл конфигурации /etc/init.d/networking, но в Debian’e его нельзя редактировать до тех пор, пока не остановлены сетевые интерфейсы. Поэтому нужно отключить интерфейс:

Однако, у нас же еще интерфейс eth0 не сконфигурирован, поэтому мы получим сообщение об ошибке: ifdown: interface eth0 not configured. Тогда, для начала, проверяем существование файла /etc/network/interfaces. Если он не существует, то создадим его, а если существует, то отредактируем:

На экран консоли должно вывестись примерно следующее:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp

Если у вас есть маршрутизатор с включенной функцией DHCP (т.е. происходит автоматическая раздача IP-адресов для подключающихся устройств), то достаточно в конфигурационном файле разкомментировать строку #iface eth0 inet dhcp. В противном случае, необходимо привести файл конфигурации к следующему виду:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
#iface eth0 inet dhcp

Adress – это IP-адрес, который вы присваиваете сетевой карте на интерфейсе eth0, netmask – маска подсети, gateway – шлюз, dns-nameservers – адреса DNS-серверов. Теперь необходимо активировать сетевой интерфейс:

А также перезапустить сетевые службы:

Теперь можно заново запустить команду ifconfig и убедиться, что интерфейс eth0 настроен, т.е. присутствуют указанные нами сетевые настройки. Для проверки работоспособности, можно пропинговать шлюз или интернет-ресурс, если у вас есть выход в Интернет:

ping 192.168.1.1 -с 5
ping yandex.ru -с 5

Должно быть выведено следующее:

PING yandex.ru (213.180.204.211) 56(84) bytes of data.
64 bytes from yandex.ru (213.180.204.211): icmp_req=1 ttl=50 time=15.1 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=2 ttl=50 time=14.1 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=3 ttl=50 time=14.3 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=4 ttl=50 time=13.8 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=5 ttl=50 time=13.9 ms

— yandex.ru ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 13.804/14.286/15.125/0.479 ms

На этом настройка сети в Линуксе завершена.

Источник

Оцените статью
Adblock
detector