Настройка локального соединения (Debian)

Материал из Сетепедии

Перейти к: навигация, поиск

Эта тема о ручной настройке без применения графических (и зачастую более удобных) утилит (YaST, Gnome или в DSL).

Содержание

Текущее состояние сетевого адаптера.

Выясняем текущее состояние сетевого адаптера. Для этого суперпользователем набираем в консоли:

ifconfig

и получаем что-то вроде:

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:104 errors:0 dropped:0 overruns:0 frame:0
TX packets:104 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:9387 (9.1 KiB) TX bytes:9387 (9.1 KiB)

eth0 Link encap:Ethernet HWaddr ХХ:ХХ:ХХ:ХХ:ХХ:ХХ
inet addr:192.168.1.5 Bcast:ХХХ.ХХХ.ХХХ.ХХХ Mask:ХХХ.ХХХ.ХХХ.ХХХ
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0Link encap:Local Loopback
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:21 Base address:0x2c00
убеждаемся, что RUNNING присутствует в петлевом интерфейсе lo и в интерфейсе сетевой карты eth[1] (здесь: eth0). Интерфейс может быть не настроен автоматически, тогда он не отобразится, а может не быть сетевой карты, тогда тоже не отобразится. Чтобы узнать, опознана ли сетевая карта, нужно ввести:
ifconfig -a

Выбор IP, маски, шлюза.

Определяемся, какими у нас будут IP-адрес (address), маска подсети (netmask) и адрес шлюза (gateway): узнать.

Отключение сетевого интерфейса.

Будет неудачным решением пытаться перенастроить активный сетевой интерфейс, поэтому его нужно выключить. Сделать это может суперпользователь командой:

ifdown eth0

Непосредственно настройка.

Приведена для Debian'а и родственных систем (Ubuntu). В других системах настройка отличается.

Далее редактируем файл /etc/network/interfaces таким образом, чтобы привести его к следующему виду:

    auto lo
    iface lo inet loopback

    auto eth0
    iface eth0 inet static
        address ХХХ.ХХХ.ХХХ.ХХХ
        netmask ХХХ.ХХХ.ХХХ.ХХХ
        broadcast ХХХ.ХХХ.ХХХ.ХХХ
        gateway ХХХ.ХХХ.ХХХ.ХХХ
        up route add -net ХХХ.ХХХ.ХХХ.ХХХ/XXX gw ZZZ.ZZZ.ZZZ.ZZZ dev eth0
        up arp -s ZZZ.ZZZ.ZZZ.ZZZ УУ:УУ:УУ:УУ:УУ:УУ

вместо eth0[2] может быть и другое имя интерфейса (например, eth4:3), который соответствует используемой сетевой карте.

где:

auto eth0
отвечает за то чтоб автоматически активировалась сеть на интерфейсе eth0
iface eth0 inet static
объявляет интерфейс eth0 со статическими настройками
up route add -net ХХХ.ХХХ.ХХХ.ХХХ/XXX gw ZZZ.ZZZ.ZZZ.ZZZ dev eth0
прописывает маршруты для трафика через eth0
up arp -s ZZZ.ZZZ.ZZZ.ZZZ УУ:УУ:УУ:УУ:УУ:УУ
закрепляет за IP-адресом шлюза(ZZZ.ZZZ.ZZZ.ZZZ) МАК-адрес его сетевой карты(УУ:УУ:УУ:УУ:УУ:УУ). Данная мера может помочь в случае arp-атак на шлюх шлюз.

Пример рабочей настройки (только свой IP-адрес подставить):

iface eth0 inet static
	address 172.23.160.255
        netmaks 255.255.248.0
	broadcast 255.255.255.255
	hostname myhostname
	up route add default gw 172.23.167.254 dev $IFACE
	up route add -net 172.23.0.0/16 gw 172.23.167.2 dev $IFACE

DNS.

Для того, чтобы в Линукс прописать адреса серверов имён, нужно отредактировать файл /etc/resolv.conf или создать его, если его нет. И привести его к виду:

nameserver ХХХ.ХХХ.ХХХ.ХХХ
nameserver ХХХ.ХХХ.ХХХ.ХХХ

причем, без слова nameserver ничего не будет работать.

Включение сетевого интерфейса.

Настройка завершена и сетевой интерфейс может быть активирован.

Делает это суперюзер командой:

ifup eth0


Памятка

Операция Команда Комментарии
остановка и запуск сетевого интерфейса
ifdown eth0
ifup eth0
man 8 ifup
управление интерфейсами
ifconfig
man 8 config
управление таблицей маршрутизации
route
man 8 route
фильтрация пакетов (firewall)
iptables
man 8 iptables
гибкое управление сетевыми установками
ip
Может не входить в стандартный набор утилит, тогда при необходимости придётся устанавливать.
man 8 ip
список доступных сетевых устройств
ls /sys/class/net/
Благодаря udev имена интерфейсов определены в отдельном файле
/etc/udev/rules.d/z25_persistent-net.rules

или

/etc/udev/rules.d/70-persistent-net.rules

Примечания

  1. RUNNING в интерфейсе сетевой карты означает, что сетевой провод, идущий в свитч, к соответствующей сетевой карте подключен
  2. Ядро при инициализации устройства сетевой карты создаёт соответствующий ей интерфейс. Его имя зависит от номера сетевой карты, если их несколько, и от слота, в который карта непосредственно подключена. Все обнаруженные устройства и связанные с ними сетевые интерфейсы записываются в системный журнал. Найти этот журнал можно в директории /var/log/ под именем dmesg, boot или другим, зависящим от используемой операционной системы.
Личные инструменты