Linux eth0 or eth1

Ручная настройка сети в 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

Читайте также:  How to unzip zip archive in linux

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

Читайте также:  Linux best console file manager

Интерфейс, получающий адрес по 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

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

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

Источник

eth1 в Linux

Изображение баннера

1 означает второй. Как обычно в Computer Science счёт идёт с нуля.

Если вы видите eth1 значит у вас уже есть eth0 либо кто-то сделал манипуляцию с именами

Дополнительные Ethernet интерфейсы будут называтья eth2, eth3 и так далее.

Этот тип интерфейса обычно представляет из себя NIC подключённый к сети по кабелю пятой категории.

ifconfig

Если в старой версии Ubuntu выполнить ifconfig можно увидеть список всех интерфейсов, включая eth1

eth0 Link encap:Ethernet HWaddr 09:00:12:90:e3:e5 inet addr:192.168.56.101 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a22:27ee:fe70:e3f5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:54071 errors:1 dropped:0 overruns:0 frame:0 TX packets:48515 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:22009423 (20.9 MiB) TX bytes:25690847 (24.5 MiB) Interrupt:10 Base address:0xd020 eth1 Link encap:Ethernet HWaddr 09:00:12:90:e3:e6 inet addr:10.10.10.10 Bcast:10.10.10.255 Mask:255.255.255.0 inet6 addr: fe80::a22:27ee:fe70:e3f7/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:54071 errors:1 dropped:0 overruns:0 frame:0 TX packets:48515 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:22009423 (20.9 MiB) TX bytes:25690847 (24.5 MiB) Interrupt:10 Base address:0xd020 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:83 errors:0 dropped:0 overruns:0 frame:0 TX packets:83 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:7766 (7.5 KiB) TX bytes:7766 (7.5 KiB) wlan0 Link encap:Ethernet HWaddr 58:a2:c2:93:27:36 inet addr:192.168.56.110 Bcast:192.168.2.255 Mask:255.255.255.0 inet6 addr: fe80::6aa3:c4ff:fe93:4746/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:436968 errors:0 dropped:0 overruns:0 frame:0 TX packets:364103 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:115886055 (110.5 MiB) TX bytes:83286188 (79.4 MiB)

Читайте также:  Windows не видит загрузчик linux

В этом примере три активных интерфейса. Помимо eth0 есть также lo и wlan0

Современные имена интерфейсов

В современных версиях Ubuntu интерфейсы называются по-другому

Источник

How to tell which card is eth0 and which is eth1?

I have a Linux machine with two Ethernet cards both using the Intel e1000 driver. lspci reports different models of Ethernet cards, but I can’t tell which is eth0 and which is eth1. Other than turning off the machine and reading the chips, how can I tell which model is eth0 and which is eth1?

5 Answers 5

I haven’t tried it myself, but try the ethtool command. With

you can get the LEDs on the card to blink. You can then easily identify which card is blinking.

Parse the output of ifconfig. It will give you the hardware MAC address that you can use to identify which card is which.

Is there a mapping somewhere from lspci output to mac address? Unfortunately, I don’t have the mac addresses written down.

Connect only one of the interfaces to a switch then use the output of mii-diag , ethtool or mii-tool (depending on which is installed) to see which has a link. You’ll then know which physical card is which interface. The output of dmesg should then help you work out which is which.

I know the thread is old, but I think the anwsers missed the point.

To associate the device as listed with ifconfig with the physical device, I do the following:

This will give you the bus-info which you can correlate with the infomation obtained from :

The bus-info should match the numbers at the beginning of the line returned by lspci.

@WildVelociraptor: This option will show PCI vendor and device codes. My point was: The tools will show you the bus code and device code but anyway you will need a documentation for your computer describing where are the particular buses physically located.

@pabouk Ah okay, I understand. Yeah unfortunately I don’t think there is a standard numbering convention for PCI slots, and it seems dependent on how many «integrated» components you have that are connected to the PCI bus. Which unfortunately means that there’s no real way for Linux or additional software to know the physical layout of your board, barring some sort of ascii-art generator of your mobo layout based on some sort of JSON configuration file. this gives me an idea.

Источник

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