Шпаргалка по настройке сети в 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, правда, он в данный момент не активен, т.к. отсутствует соединение кабеля к сетевой плате.

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

ifconfig

На что она нам покажет:

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, который нам нужен для организации сети и выхода в Интернет, не настроен. Сейчас мы этим и займемся.

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

ifdown eth0

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

nano /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-серверов. Теперь необходимо активировать сетевой интерфейс:

ifup eth0

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

/etc/init.d/networking restart

Теперь можно заново запустить команду 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

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