IP Routing в Linux

Тема конечно давно не нова. Задача стояла подружить сервер Linux с 2-мя провайдерами и разграничить доступ по группам:

— 1 группа — провайдер1

-2 группа — провайдер2

Оказалось все достаточно не сложно.

Все решается настройкой iproute2.

Шаг1. Создаем 2 таблицы маршрутизации:

echo "101 prov1" > /etc/iproute2/rt_tables
echo "102 prov2" > /etc/iproute2/rt_tables

Шаг2. Определяем дефолтный маршрут(шлюз) для этих таблиц:

ip route add default via xxx.xxx.xxx.xxx table prov1
ip route add default via yyy.yyy.yyy.yyy table prov2

Где xxx.xxx.xxx.xxx — IP-адрес первого шлюза,а yyy.yyy.yyy.yyy IP-адрес второго шлюза
Шаг3. Определяем набор правил, по таблицам :

ip rule add from xxx.xxx.xxx.0/24 table prov1
ip rule add from yyy.yyy.yyy.0/24 table prov2

Шаг4. Фаервол.
Тут уже дело каждого, но напомню, что не забываем включить форвард в ядре

echo "1" > /proc/sys/net/ipv4/ip_forward

Все действия выполнялись от прав root, но рекомендую использовать sudo.

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

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

Изображения должны быть включены!