Здравствуйте. А уточните, пожалуйста, по какой причине стоимость изменилась? Была стоимость в 1 рубль, стала в 9900 рублей. |
Маршрутизация в Linux
Содержание
- Включение функции пересылки проходящих пакетов.
- Выбор IP-адреса для исходящих соединений.
- Маршрутизация на основе правил и таблиц.
Включение функции пересылки проходящих пакетов
Операционная система Linux позволяет не только организовать сложные схемы обработки сетевых пакетов локального узла, но и использовать компьютер с несколькими сетевыми интерфейсами (физическими и/или логическими) в качестве маршрутизатора (для передачи трафика удаленных узлов и сетей).
По умолчанию сетевая подсистема Linux обрабатывает пакеты, предназначенные данному узлу или созданные данным узлом; функция обработки пакетов, в которых не указан IP-адрес данной станции как источник или приемник (forwarding, пересылка пакетов ) отключена. Для включения функции пересылки проходящих пакетов необходимо установить в 1 значение, записанное в файле ip_forward псевдофайловой системы proc:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Данная настройка будет действовать до перезагрузки компьютера. Для восстановления конфигурации нужно после перезагрузки выполнять указанную команду (указать ее в файле /etc/rc.local ) или лучше установить в файле /etc/sysctl.conf следующий параметр:
net.ipv4.ip_forward=1
Пример 10.1.Объединение виртуальных локальных сетей с помощью маршрутизатора на основе Linux.
Для того, чтобы в примере 5.6. "Постоянные сетевые конфигурации (на примере Debian/GNU Linux)" "Постоянные сетевые конфигурации" подсети 192.168.1.0/24 и 192.168.2.0/24 могли взаимодействовать друг с другом через указанный в примере компьютер Linux (выступает в качестве шлюза для данных подсетей) необходимо:
- на данном компьютере включить функцию пересылки пакетов одним из описанных выше способов;
- на всех компьютерах первой подсети указать в качестве шлюза для второй подсети адрес 192.168.1.4 (разумеется, также можно указать данный адрес как шлюз по умолчанию), а для компьютеров второй подсети - шлюз для первой подсети 192.168.2.4.
# ip route show 192.168.2.0/24 dev vlan2 proto kernel scope link src 192.168.2.4 192.168.1.0/24 dev vlan1 proto kernel scope link src 192.168.1.4
Эти записи добавляются в таблицу маршрутизации шлюза автоматически (например, если на интерфейсе vlan1 установлен IP-адрес 192.168.1.4/24, то система полагает, что сеть 192.168.1.0/24 непосредственно подключена к данному интерфейсу). Таким образом, если на интерфейс vlan1 шлюза приходят сетевые пакеты, в которых адрес назначения принадлежит второй подсети, то шлюз, согласно таблицы маршрутизации, передает эти пакеты в сеть с интерфейса vlan2.
Пример 10.2.Объединение двух сетей на основе маршрутизаторов
Пусть необходимо обеспечить взаимодействие сетей 192.168.1.0/24 и 192.168.2.0/24 (рис. 10.1.), соединенных интерфейсами маршрутизаторов, установленных в каждой из сетей (интерфейсы маршрутизаторов в сетях имеют адреса 192.168.1.1 и 192.168.2.1 соответственно).
Для решения данной задачи ( рис. 10.1.) необходимо установить на интерфейсы, связывающие маршрутизаторы друг с другом адреса из одной произвольно выбранной подсети (192.168.3.0/24, на первый — 192.168.3.1, на второй — 192.168.3.2) и добавить статические маршруты в таблицы маршрутизаторов (для первого маршрутизатора - для сети 192.168.2.0/24 через узел 192.168.3.2, для второго — для сети 192.168.1.0/24 через узел 192.168.3.1).
К примеру таблица маршрутизации первого маршрутизатора (при использовании Linux) будет иметь вид:
# ip route show 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.1 192.168.3.0/24 dev eth1 proto kernel scope link src 192.168.3.1 192.168.2.0/24 via 192.168.3.2 dev eth1
Последний маршрут здесь является статическим, так как должен быть задан администратором системы вручную.