Библиотека сайта rus-linux.net
Серверы Linux. Часть V. Межсетевой экран iptables
Оригинал: Introduction to routersАвтор: Paul Cobbaut
Дата публикации: 24 мая 2015 г.
Перевод: A.Панин
Дата перевода: 13 июля 2015 г.
Глава 7. Использование системы Linux в качестве маршрутизатора
7.14. Практическое задание: механизм пересылки сетевых пакетов
-
0. У вас имеется возможность выбора (или создания) внутренней сети при добавлении сетевой карты в процессе работы с виртуальной машиной
VirtualBox
илиVMWare
. Воспользуйтесь ею для создания двух внутренних сетей. Я назвал эти сетиleftnet
(левая сеть) иrightnet
(правая сеть), но вы можете выбрать для них любые другие имена. -
1. Настройте две виртуальных машины с системами Linux, одна из которых будет работать с сетью с именем
leftnet
, а другая - с сетью с именемrightnet
. Убедитесь в том, что обе системы получают IP-адреса для работы с корректными подсетями. В результате две упомянутые системы должны находиться "слева" и "справа" от "маршрутизатора". -
2. Настройте третью виртуальную машину с системой Linux с тремя сетевыми картами, одна из которых соединена с сетью с именем
leftnet
, а другая - с сетью с именемrightnet
. Данная система будет выступать в роли "маршрутизатора". Внесите в приведенную ниже таблицу соответствующие приведенным именам системIP-адреса
иMAC-адреса
.Таблица 7.1. Практическое задание по теме "Механизм пересылки сетевых пакетов"
Компьютер из сети leftnet Маршрутизатор Компьютер из сети rightnet MAC IP -
3. Как вы можете проверить, активирован ли по умолчанию режим пересылки сетевых пакетов на уровне системы, выступающей в роли маршрутизатора? Попытайтесь использовать утилиту
ping
на машине, выступающей в ролимаршрутизатора
, для проверки доступности двух других машин, после чего выполните это же действие на этих двух машинах с целью проверки доступности машины, выполняющей рольмаршрутизатора
. Используйте командуarp -a
для того, чтобы убедиться в корректностиMAC-адресов
, использованных при подключении. -
4. Используйте утилиту
ping
на компьютере из сети leftnet для проверки доступности компьютера из сети rightnet. Активируйте и/или деактивируйте механизм пересылки сетевых пакетов на уровне машины, выполняющей рольмаршрутизатора
, и проверьте с помощью утилиты ping возможность взаимодействия машин из двух сетей. Если вы не добились успеха в ходе последней проверки возможности взаимодействия машин из двух сетей (разных подсетей), используйте сниффер, такой, какWireshark
илиtcpdump
для выявления проблемы. -
5. Используйте сниффер
Wireshark
илиtcpdump
с параметром -xx для ответа на следующие вопросы. Изменяется ли исходный MAC-адрес пакета при прохождении через маршрутизатор? А целевой MAC-адрес? Как насчет исходного и целевого IP-адресов? -
6. Помните о третьей виртуальной сетевой карте на машине, выступающей в роли маршрутизатора? Соедините данную сетевую карту с локальной сетью, посредством которой осуществляется доступ к сети Интернет. При наличии множества соединений с локальными сетями команда
dhclient eth0
должна работать вполне корректно (разумеется, следует заменитьeth0
на соответствующее имя сетевого интерфейса).root@router~# dhclient eth0
Теперь ваша сеть должна быть аналогична сети, изображенной на иллюстрации ниже. Что еще потребуется сделать для того, чтобы компьютеры из сетей
leftnet
иrightnet
получили возможность доступа к ресурсам сети Интернет?
7.15. Корректная процедура выполнения практического задания: механизм пересылки сетевых пакетов
-
-
1. Настройте две виртуальных машины с системами Linux, одна из которых будет работать с сетью с именем
leftnet
, а другая - с сетью с именемrightnet
. Убедитесь в том, что обе системы получают IP-адреса для работы с корректными подсетями. В результате две упомянутые системы должны находиться "слева" и "справа" от "маршрутизатора". -
Конфигурация IP-адресов ваших систем должна быть аналогичной приведенной в двух следующих примерах. Обе системы должны работать в различных подсетях (в данном случае 192.168.60.0/24 и 192.168.70.0/24). Я разработал небольшие сценарии для настройки сетевых интерфейсов обоих систем.
root@left~# cat leftnet.sh pkill dhclient ifconfig eth0 192.168.60.8 netmask 255.255.255.0 root@right~# cat rightnet.sh pkill dhclient ifconfig eth0 192.168.70.9 netmask 255.255.255.0
-
2. Настройте третью виртуальную машину с системой Linux с тремя сетевыми картами, одна из которых соединена с сетью с именем
leftnet
, а другая - с сетью с именемrightnet
. Данная система будет выступать в роли "маршрутизатора". Внесите в приведенную ниже таблицу соответствующие приведенным именам систем IP-адреса и MAC-адреса. -
root@router~# cat router.sh ifconfig eth1 192.168.60.1 netmask 255.255.255.0 ifconfig eth2 192.168.70.1 netmask 255.255.255.0 #echo 1 > /proc/sys/net/ipv4/ip_forward
В вашем случае могут использоваться IP-адреса и MAC-адреса, отличные от тех, что приведены в таблице ниже.
Таблица 7.2. Практическое задание по теме "Механизм пересылки сетевых пакетов"
Компьютер из сети leftnet Маршрутизатор Компьютер из сети rightnet MAC 08:00:27:f6:ab:b9 08:00:27:43:1f:5a 08:00:27:be:4a:6b IP 192.168.60.8 192.168.60.1 192.168.70.1 -
3. Как вы можете проверить, активирован ли по умолчанию режим пересылки сетевых пакетов на уровне системы, выступающей в роли
маршрутизатора
? Попытайтесь использовать утилиту ping на машине, выступающей в ролимаршрутизатора
, для проверки доступности двух других машин, после чего выполните это же действие на этих двух машинах с целью проверки доступности машины, выполняющей рольмаршрутизатора
. Используйте командуarp -a
для того, чтобы убедиться в корректностиMAC-адресов
, использованных при подключении. -
Проверка может быть осуществлена либо с помощью команды
grep ip_forward /etc/sysctl.conf
(будет выведено значение 1, если режим пересылки сетевых пакетов активирован и значение 0 в противном случае), либо с помощью командыsysctl -a | grep ip_for
.root@router~# grep ip_for /etc/sysctl.conf net.ipv4.ip_forward = 0
-
4. Используйте утилиту ping на компьютере из сети leftnet для проверки доступности компьютера из сети rightnet. Активируйте и/или деактивируйте механизм пересылки сетевых пакетов на уровне машины, выполняющей роль
маршрутизатора
, и проверьте с помощью утилиты ping возможность взаимодействия машин из двух сетей. Если вы не добились успеха в ходе последней проверки возможности взаимодействия машин из двух сетей (разных подсетей), используйте сниффер, такой, как Wireshark или tcpdump для выявления проблемы. -
Возможно, вы забыли указать адреса
стандартных сетевых шлюзов
на машинах из двух локальных сетей? Если это так, используйте командуroute add default gw <IP-адрес стандартного сетевого шлюза>
.root@left~# route add default gw 192.168.60.1 root@right~# route add default gw 192.168.70.1
Все варианты использования утилиты ping должны приводить к корректной передаче сетевых пакетов в том случае, если был активирован режим пересылки сетевых пакетов (а также корректно заданы адреса стандартных сетевых шлюзов). Утилита ping не будет корректно работать лишь том в случае, если не был активирован режим пересылки сетевых пакетов и/или некорректно заданы адреса стандартных сетевых шлюзов.
-
5. Используйте сниффер Wireshark или tcpdump с параметром -xx для ответа на следующие вопросы. Изменяется ли исходный MAC-адрес пакета при прохождении через маршрутизатор? А целевой MAC-адрес? Как насчет исходного и целевого IP-адресов?
-
Оба MAC-адреса изменяются при прохождении сетевых пакетов через маршрутизатор. Для того, чтобы убедиться в этом используйте команду
tcpdump -xx
аналогичным образом:root@router~# tcpdump -xx -i eth1 root@router~# tcpdump -xx -i eth2
-
6. Помните о третьей виртуальной сетевой карте на машине, выступающей в роли маршрутизатора? Соедините данную сетевую карту с локальной сетью, посредством которой осуществляется доступ к сети Интернет. При наличии множества соединений с локальными сетями команда
dhclient eth0
должна работать вполне корректно (разумеется, следует заменитьeth0
на соответствующее имя сетевого интерфейса).root@router~# dhclient eth0
Теперь ваша сеть должна быть аналогична сети, изображенной на иллюстрации ниже. Что еще потребуется сделать для того, чтобы компьютеры из сетей
leftnet
иrightnet
получили возможность доступа к ресурсам сети Интернет? -
Клиентским компьютерам из сетей
leftnet
иrightnet
для доступа к ресурсам сети Интернет потребуется работоспособныйсервер DNS
. В данном случае мы используем один из общедоступных серверов DNS от компании Google.echo nameserver 8.8.8.8 > /etc/resolv.conf
Предыдущий раздел: | Оглавление | Следующий раздел: |
Глава 7. Использование системы Linux в качестве маршрутизатора | Глава 8. Межсетевой экран iptables |