Ресурсов локальной сети часто не достаточно для нужд пользователей. Поэтому необходимо наладить связь между соседними локальными сетями, а так же с внешней -- глобальной сетью.
Рассмотрим настройку маршрутизации между локальными сетями и во внешнюю сеть -- интернет.
0. Подготовка
Используем две виртуальные машины с установленным tinycore linux -- server, client.
Server и client подключены к одной виртуальной сети -- VLAN 31.
Server Для трансляции адресов (NAT) на server установим iptables. |
1. Настройка шлюза
Для маршрутизации во внешнюю или соседнюю сеть шлюз должен иметь сетевой интерфейс связанный с этими сетями.
!!! Для этого можно использовать отдельный интерфейс или уже имеющийся интерфейс, имеющий несколько сетевых настроек.
Server Server уже имеет интерфейс eth0 подключенный к локальной сети имеющей выход в интернет. Для пересылки сообщений в соседнюю сеть на шлюзе необходимо включить форвардинг (forwarding) Код: > echo 1 > sudo tee /proc/sys/net/ipv4/ip_forward |
2. Настройка маршрутизации во внешнюю сеть
Для упрощения настроек маршрутизации достаточно на каждом узле добавить только один маршрут -- до шлюза в внешнюю сеть. Таким образом пути в другие сети необходимо будет настраивать только на одном узле -- шлюзе.
Настроим сетевой интерфейс для связи маршрутизации всех неизвестных путей через шлюз во внешнюю сеть.
!!! Если в сети работает DHCP-сервер, то интерфейс уже настроен.
3. Настройка маршрутизации между сетями
Для настройки маршрутизации между сетями необходимо на каждом шлюзе добавить путь в соседнюю сеть сеть через соответствующий шлюз.
!!! Если настроить пути только на одном шлюзе, то сообщения будут перенаправляться через шлюз в соответствующие сети, но ответ не сможет вернуться, так как пути обратно нет. Поэтому ответные сообщения client-у в предыдущем примере не проходят обратно через server.
Так как путь до шлюза другой сети на сервере уже добавлен как маршрут по-умолчанию, то добавлять новый путь не нужно.
Добавить путь в локальную сеть на внешнем шлюзе часто невозможно, поэтому необходимо использовать трансляцию адресов (NAT), что бы подменять адреса локальных узлов на адрес шлюза, через который будут отправляться и возвращаться сообщения.