Вы здесь

Настройка сети в Debian 6

Пожалуй сперва стоит посмотреть какие сетевые карты ядро определило, ниже привожу несколько полезных команд которые помогут нам разобраться в этом вопросе:

1. Выгребаем сообщения из  dmesg

# dmesg | grep eth

2. Наиболее красивый способ

# lspci | grep Ethernet

 

Ну и привожу пример что бы было нагляднее

root@s ~ # lspci | grep Ethernet
06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 02)
root@s ~ #

 

Из вывода видно что сетевая карта у нас реализована на контролере RTL8111/8168B определить какой драйвер используется можно из листинга lsmod, драйвер реалезован в виде модуля ядра.

Хорошо, физически сетевая определилась, Debian называет сетевые карты по имени eth и номеру а что если у нас две сетевые карты?  называться они будут по умолчанию eth0 и eth1.

Следует учесть, что эта операционная система перманентно привязывает MAC адрес интерфейса к номеру eth. Если у вас была сетевая карта в компьютере с именем eth0 и вы ее поменяли, то загрузившись после замены вы не увидите ожидаемого eth0, а увидите уже eth1.  Поэтому предварительно можно и даже нужно заглянуть в файлик /etc/udev/rules.d/70-persistent-net.rules что бы посмотреть закрепленные карты, иначе можете попасть в ниприятную ситуацию, настроите 1 интерфейс а физически работать будете совсем с другим...

root@s ~ # cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x10ec:0x8168 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="6c:62:6d:7a:e7:2c", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
root@s ~ #

 

В примере у нас одна карточка поэтому путаници не будет, приступаем к настройке сети, за настройку интерфейсов отвечает файлик /etc/network/interfaces

Открываем любимым редактором и конфигурируем согласно моему примеру, вообщем все наглядно понятно и ни каких вопросов у вас не должно возникнуть.

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address *.*.*.*
netmask 255.255.255.*
gateway *.*.*.*

Это стандартная конфигурация сети. Но иногда возникает нестандартная ситуация, например когда шлюз находится в другой подсети: допустим адрес сервера 212.83.158.57/32 а адрес шлюза 88.191.184.1 (как видно, они находятся в разных подсетях и нам нужно "указать" маршруты). В этом случае файл /etc/network/interfaces будет такого вида:

auto eth0
iface eth0 inet static
        address 212.83.158.57
        netmask 255.255.255.255
        broadcast 212.83.158.57
        post-up route add 88.191.184.1 dev eth0
        post-up route add default gw 88.191.184.1
        post-down route del  88.191.184.1 dev eth0
        post-down route del default gw 88.191.184.1
        dns-nameservers 8.8.8.8
        post-up iptables-restore < /etc/iptables.up.rules

т.е. командами post-up мы указываем добавление после "поднятия" интерфейса, а командами post-down - удаление после отключения интерфейса

если захотите добавить дополнительные ip то дописываете алиасом

auto eth0:0 iface eth0:0 inet static address *.*.*.* netmask 255.255.255.255 auto eth0:1 iface eth0:1 inet static address *.*.*.*. netmask 255.255.255.255
auto eth0:0
iface eth0:0 inet static
address *.*.*.*
netmask 255.255.255.255

auto eth0:1
iface eth0:1 inet static
address *.*.*.*.
netmask 255.255.255.255

в случае конфигурирования eth1 то пишите соответственно eth1 вместо eth0 – что логично.

если хотите добавить адрес днс сервера то синтаксис таков

dns-nameservers *.*.*.*

 

можно посмотреть в каком состояние линк, например так

root@s ~ # ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000033 (51)
Link detected: yes
root@s ~ #