Установка утилиты ip
Вообще говоря, первоначальное конфигурирование сетевых интерфейсов можно легко произвести и без утилиты ip, пользуясь стандартной утилитой ifconfig, которая присутствует в каждом (думаю, что не ошибся) дистрибутиве GNU/Linux. Но помимо конфигурирования сети нашей целью будет являться освоение утилиты ip, которая, безусловно, понадобится нам впоследствии. Установка производится командой
root@debian:~# apt-get install iproute
Настройка IP-адреса сетевых интерфейсов
Прежде чем приступать к конфигурированию сети, необходимо узнать названия сетевых карт для соответствующих интерфейсов. Сделать это можно, выполнив команду
root@cave:~# dmesg | grep -i ethВ примере, показанном в листинге выше, все достаточно просто. В компьютере установлено только два контроллера, причем меня интересует настройка только Ethernet сетевой карты Realtek, которой соответствует сетевой интерфейс eth0. Приведу еще один пример
r8169 Gigabit Ethernet driver 2.2LK-NAPI loaded
eth0: RTL8169s/8110s at 0xffffc20000030000, 00:0f:ea:66:40:f6, IRQ 193
eth1394: eth0: IEEE-1394 IPv4 over 1394 Ethernet (fw-host0)
r8169: eth1: link up
root@gn:~# zcat /var/log/messages.6.gz | grep -i ethВо-первых, стоит заметить, что использовалась другая команда для определения соответствия сетевых карт и интерфейсов. Дело в том, что команда dmesg выводит на экран только содержание файла /var/log/messages, но так как сервер gn, листинг с которого приведен в примере, имеет uptime порядка 50 дней, то записи стоит искать в более старом файле. Сетевой интерфейс eth0 соответствует интеловской сетевой карте, встроенной на материнской плате, eth1 и eth3 – две гигабитные карты, которые когда-то использовались для соединения двух различных сегментов сети. Получив эту информацию можно переходить к настройке.
Nov 10 19:11:51 gn kernel: e100: eth0: e100_probe: addr 0xfe9fd000, irq 169, MAC addr 00:30:48:22:2B:F8
Nov 10 19:11:51 gn kernel: e1000: eth1: e1000_probe: Intel(R) PRO/1000 Network Connection
Nov 10 19:11:51 gn kernel: e1000: eth3: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex
Настройка статического IP адреса
Открываем файл /etc/network/interfaces своим любимым текстовым редактором и создаем следующие записи
root@cave:~# cat /etc/network/interfacesРассмотрим настройки более подробно. Запись auth eth0 означает, что интерфейс должен быть автоматически запущен при загрузке операционной системе.
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
iface eth1 inet static
address 192.168.1.11
netmask 255.255.255.0
gateway 192.168.1.1
iface eth1 inet staticОзначает, что происходит конфигурирование сетевого интерфейса eth1 и что IP-адрес будет задан статическим.
address 192.168.1.11 – непосредственно IP-адрес, присваиваемый сетевому интерфейсу;Настройка динамического IP адреса
netmask 255.255.255.0 – маска сети;
gateway 192.168.1.1 – шлюз, который должен осуществлять маршрутизацию в сети.
Рассмотрим пример файла /etc/network/interfaces, позволяющий сконфигурировать сетевой интерфейс для получения динамического IP-адреса.
root@cave:~# cat /etc/network/interfacesЛегко видеть, что строка iface eth1 inet dchp определяет получение сетевого адреса по протоколу DHCP, то есть сетевой интерфейс получит динамический IP-адрес.
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
iface eth1 inet dchp
Замечание. Для получения динамического адреса в операционной системе GNU/Debian должен быть установлен пакет DHCP-клиента.
root@cave:~# dpkg -l | grep dhcpЗамечание. Обычно, для облегчения работы пользователей компьютерной сети системный администратор настраивает DHCP сервер таким образом, чтобы он передавал адреса первичного и вторичного DNS серверов при выдачи динамического адреса. Поэтому для некоторых настройка сети ограничивается записью двух строчек в файл /etc/network/interfaces. Но не лишним будет знать, как все-таки прописать руками доверенные DNS сервера в систему.
ii dhcp3-client 3.0.4-13 DHCP Client
ii dhcp3-common 3.0.4-13 Common files used by all the dhcp3* packages
Настройка адресов DNS-серверов
Задать адреса DNS-серверов в GNU/Debian можно в файле /etc/resolv.conf, отредактировав его в любимом текстовом редакторе. Например, так
root@cave:~# vim /etc/resolv.confАдреса прописываются следующим образом
nameserver 192.168.1.1Отметим, что записей nameserver может быть произвольное количество.
nameserver 4.2.2.2
Изменение MAC-адреса сетевого интерфейса
Вопрос изменения MAC-адреса волнует, хоть это может показаться странным, многих пользователей. Очень часто провайдер делает привязку MAC-адреса сетевого интерфейса к порту управляемого свитча, чтобы ограничить количество устройств, которые пользователь услуг данного провайдера может использовать. Универсальным решением в такой ситуации для пользователя становится установка собственного активного сетевого оборудования, которое будет предоставлять доступ к ресурсам провайдерам внутренней сети пользователя. Но иногда банально не хочется звонить провайдера лишь по тому, что у пользователя появился на несколько дней, неделю новый лаптоп, с которого необходим доступ к сети. Но этим примером, конечно, не исчерпывается весь список, когда нужно сменить MAC-адрес сетевой карты.
Приведу несколько способов изменения MAC-адреса в GNU/Debian. Если требуется использовать новый MAC достаточно длительный промежуток времени, то его целесообразно задать в файле /etc/network/interfaces. Делается это следующим образом
auto eth0Конечно, вместо 01:02:03:04:05:06 – необходимо указать нужный Вам MAC. Отметим, что при использовании стационарного IP-адреса MAC-адрес будет прописываться точно также.
iface eth0 inet dhcp
hwaddress ether 01:02:03:04:05:06
Если требуется задать MAC-адрес только для данной сессии (имеется в виду, что после перезагрузки компьютера будет использоваться MAC по умолчанию).
root@cave:~# ifconfig eth0 down
root@cave:~# ifconfig eth0 hw ether 01:02:03:04:05:06
root@cave:~# ifconfig eth0 up
Применение настроек
Чтобы настройки сетевых интерфейсов (касается внесения изменений в конфигурационные файлы resolv.conf и interfaces) вступили в силу в GNU/Debian необходимо выполнить следующую команду
root@cave:~# /etc/init.d/networking restart
Мониторинг настроек и работы сетевых интерфейсов
Для наблюдения за состоянием сетевых интерфейсов мы будем использовать утилиту ip.
root@debian:~# ip addr showПозволяет вывести на экран сведения о всех сетевых интерфейсах системы. Для вывода информации по конкретному интерфейсу нужно использовать команду
root@debian:~# ip addr show eth0Чтобы узнать какие используются DNS-сервера в системе, необходимо выполнить команду nslookup.
gurza@hird:~$ nslookupВ приведенном примере на компьютере hird используются два DNS-сервера, с IP-адресами 193.232.114.64 и 212.192.229.127 соответственно. Связь осуществляется по стандартному 53 порту.
> server
Default server: 193.232.114.64
Address: 193.232.114.64#53
Default server: 212.192.229.127
Address: 212.192.229.127#53
В качестве запроса в консоли nslookup можно задавать IP-адреса, чтобы получить в ответ доменное имя
gurza@hird:~$ nslookupа также доменные имена, чтобы получить в ответ IP-адреса.
> 4.2.2.2
Server: 193.232.114.64
Address: 193.232.114.64#53
Non-authoritative answer:
2.2.2.4.in-addr.arpa name = vnsc-bak.sys.gtei.net.
gurza@hird:~$ nslookupВременно перенаправить запрос к другому DNS-серверу можно следующим образом
> gurza.ipib.msu.ru
Server: 193.232.114.64
Address: 193.232.114.64#53
Name: gurza.ipib.msu.ru
Address: 212.192.237.30
gurza@hird:~$ nslookup
> server 4.2.2.2
Default server: 4.2.2.2
Address: 4.2.2.2#53
> lab110.imec.msu.ru
Server: 4.2.2.2
Address: 4.2.2.2#53
Non-authoritative answer:
lab110.imec.msu.ru canonical name = hird-u.imec.msu.ru.
Name: hird-u.imec.msu.ru
Address: 193.232.114.5
Читать дальше...