Лабораторная работа № 9: Настройки сети в Linux

Опубликовано: 9 Январь, 2015 в разделе: Лабы

Цель:

  • Научиться настраивать сетевые интерфейсы в ОС Linux;
  • Научиться прописывать статические маршруты до сетей;
  • Научиться пользоваться утилитами ifconfig, ifup, ifdown, route, ip

План работы:

  1. Рассмотреть конфигурационные файлы сетевых интерфейсов;
  2. Произвести настройку IP адреса сетевого интерфейса eth0;
  3. Остановить и запустить сетевой интерфейс eth0;
  4. Произвести смену аппаратного (MAC) адреса сетевого интерфейса eth0;
  5. Показать таблицу сетевых маршрутов. Установить маршрут по умолчанию;
  6. Рассмотреть альтернативные способы изменения сетевых характеристик посредством ip;
  7. Получить настройки IP от DHCP сервера;

Ход работы:

1. Конфигурационные файлы сетевых интерфейсов (так же как и скрипты запуска-остановки интерфейсов) расположены в каталоге /etc/sysconfig/network-scripts

_network-scripts

Сейчас нас интересуют конфигурации интерфейсов — это файлы ifcfg-<имя интерфейса>

Откроем файл

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

_ifcfg_eth0

Мы можем изменить некоторые параметры в этом файле:

_ifcfg_eth0_mod

В частности я поменял HWADDR, IPADDR, NETWORK, что соответствует MAC-адресу, IP-адресу и адресу сети.

Перезагружаем машину. Видим, что команда ifconfig eth0 показывает изменившиеся параметры (кроме, кстати, HWADDR).

Кстати, обратим внимание так же на файл /etc/sysconfig/network:

# cat /etc/sysconfig/network

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain

Так же есть файлик iptables, в котором сложены правила файрволла (мы посвятим этому файрволлу другую лаболаторку).

Не стоит забывать о файле /etc/resolv.conf с указанными серверами DNS, а так же базой /etc/hosts, в которой находятся соответствия доменных имён и IP адресов. Ну это уже выходит за рамки нашей работы, так, для общего развития.

2. Мы можем вносить изменения в сетевые настройки на лету, при помощи команды ifconfig.

Например, смена IP адреса и маски сети:

# ifconfig eth0 inet 192.168.100.2 netmask 255.255.255.0

Кстати, ещё немаловажный факт. Настроить сеть можно в диалоговом режиме:

# system-config-network

3. Важной возможностью является так же остановка и запуск сетевого интерфейса, а так же перезапуск всей сетевой конфигурации.

Остановка интерфейса осуществляется так:

# ifdown eth0

Запуск соответственно

# ifup eth0

Можно использовать эту возможность и в контексте нашего старого доброго ifconfig:

# ifconfig eth0 down

«заглушенный» интерфейс не виден в списке интерфейсов команды ifconfig, но его можно показать, использовав ключ -a

# ifconfig -a

4. Например, если нам нужно изменить аппаратный адрес — это возможно выполнить здесь так же:

_hw_ether

5. Статические маршруты позволяют организовать доставку ip пакетов в подсети, находящиеся вне нашего сегмента. Для этого используются либо отдельные записи, либо маршрут по умолчанию.

Просмотреть список маршрутов можно командой

# route

_route

Добавим маршрут до сети 192.168.3.0. Представим, что о существовании этой сети знает узел 192.168.100.100 (представим, что у него 2 интерфейса, второй как раз находится в сети 192.168.3.0).

# route add -net 192.168.3.0/24 gw 192.168.100.100

route_add

Поля маршрута означают примерно следующее:

Destination — сеть или узел, назначение пакета. Gateway — узел, на который передавать пакеты, адресованные Destination. Metric — приоритет, если для одного маршрута есть несколько путей передачи.

Маршрут по умолчанию — ключевая концепция, это узел, на который передаются все пакеты, для которых нет маршрута в статической таблице и адрес назначения которых находится вне пределов нашей сети. То есть все неизвестные пакеты посылаются на этот адрес. Подразумевается, что этот адрес либо знает куда нужно доставлять эти пакеты, либо перенаправит их далее по цепочке (на свой маршрут по умолчанию) до тех пор, пока пакет не достигнет цели.

Добавление маршрута по умолчанию осуществляется так:

# route add default gw 192.168.100.1 dev eth0

_route_gw

Конфигурация маршрутов хранится соответственно в файлах route-* каталога с настройками сети.

6. Следующий важный инструмент — команда ip. Функционал у неё очень богатый, может заменить собой предыдущие рассмотренные инструменты.

Посмотреть все назначенные адреса:

# ip addr show

_ip_addr_show

Посмотреть маршруты:

# ip route

Добавлять маршруты можно и с помощью ip route:

# ip route add 192.168.3.0/24 via 192.168.100.100

Посмотреть суммарную статистику прохождения пакетов:

# ip -s link

_ip_link

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

# man ip

В целом можно провести следующую таблицу соответствия команд:

команды ip альтернативные команды
# ip link show eth0 # ifconfig eth0
# ip link set address 00:11:11:12:FE:09 eth0 # ifconfig eth0 hw ether 00:11:11:12:FE:09
# ip link set up eth0 # ifconfig eth0 up
# ip address add 192.168.1.10/24 brd + dev eth0 (можно добавить несколько адресов) # ifconfig eth0 inet 192.168.1.10/24
# ip neigh add 192.168.1.100 lladdr 00:00:00:11:22:33 dev eth0 # arp -s 192.168.1.100 lladdr 00:00:00:11:22:33
# ip route add default via 192.168.1.1 # route add default gw 192.168.1.1

и многие другие… Вплоть до настройки VLAN и Policy Routing.

7. Всё это касается настроек IP руками (силами администратора), но что если нужно сделать автоматическую настройку — выдачу адреса и настройку параметров сети без участия человека? На помощь нам приходит протокол DHCP. Настраивать серверную часть мы не будем — это выходит за рамки данной лабораторной работы, а вот клиента мы научим получать адрес. Тем более, что делается это одной лишь командой:

# dhclient eth0

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.