Маршрутизация

Если вы используете Linux машину с двумя сетевыми картами, чтобы установить маршрут между двумя (или более) подсетями, вам нужно иметь ядро, скомпилированное с поддержкой пересылки IP-пакетов (Forwarding). Сделайте следущее:

	cat /proc/ksyms | grep ip_forward

Вы должны получить, что-то вроде...
00141364 ip_forward_Rf71ac834

Если не так, тогда пересылка IP-пакетов не включена в ядро, и вам нужно перекомпилировать и установить новое ядро.

Для примера, позвольте предположить, что вы решили разделить вашу сеть класса C с адресом IP 192.168.1.0 на 4 подсети (в каждой пригодно для использования 62 IP адреса). Однако, две из этих подсетей объединяются в большую сеть, давая в общем три физических сети.

Network		Broadcast	Netmask			Hosts
192.168.1.0	192.168.1.63	255.255.255.192		62
192.168.1.64	192.168.1.127	255.255.255.192		62
182.168.1.128	192.168.1.255	255.255.255.126		124 (см. примечание)

Примечание: последняя сеть имеет только 124 сетевых адреса (не 126, как ожидалось бы от сетевой маски) и является сетью из двух подсетей. Главные компьютеры на других двух сетях интерпретируют адрес 192.168.1.192 как сетевой адрес 'несуществующей' подсети. Подобно они будут интерпретировать 192.168.1.191 как широковещательный адрес 'несуществующей' подсети.

Так, если вы используете 192.168.1.191 или 192 как адреса хостов в третьей подсети, тогда компьютеры двух малых подсетей не смогут связаться с ними.

Это иллюстрирует важный пункт при работе с подсетями - пригодные для использования адреса определяются САМОЙ МАЛОЙ подсетью в том адресном пространстве.

Таблицы маршрутизации

Позвольте нам предположить, что компьютер с Linux действует, как маршрутизатор для этой сети. Он будет иметь три сетевых карты к локальным сетям и, возможно, четвертый интерфейс для связи с Internet (который был бы шлюзом по умолчанию).

Пусть компьютер с Linux использует самый первый доступный IP адрес в каждой подсети. Конфигурация сетевых карт будет следующей:

Interface	IP Address	Netmask
eth0		192.168.1.1	255.255.255.192
eth1		192.168.1.65	255.255.255.192
eth2		192.168.1.129	255.255.255.128

Таблица маршрутизации при данной конфигурации будет такой

Destination     Gateway         Genmask         Iface
192.168.1.0	0.0.0.0		255.255.255.192	eth0
192.168.1.64	0.0.0.0		255.255.255.192	eth1
192.168.1.128	0.0.0.0		255.255.255.128	eth2

На каждой из подсетей главные компьютеры были бы конфигурированы с их собственным IP адресом и сетевой маской (соответствующий специфической сети). Каждый главный компьютер объявил бы Linux PC своим шлюзом/маршрутизатором, определяя IP адрес маршрутизатора для его сетевой карты на той части сети.

Robert Hart Мельбурн, Австралия Март 1997.