Несколько интерфейсов: маршрутизировать пакеты на определенный интерфейс

У меня есть 2 интернет-соединения в моей сети. Мой роутер работает под управлением Debian. eth0 - моя сеть (192.168.0.0/16). eth1 и eth2 подключены к 2 различным интернет-провайдерам (с динамическим IP).

Вот небольшой рисунок моей конфигурации

ПК1 ---|                  |-eth1- DynIP провайдер 1
PC2 ---|-eth0- Маршрутизатор --- |
PCn ---|                  |-eth2- провайдер DynIP 2

Я пытаюсь настроить его следующим образом: я хочу, чтобы все пакеты по умолчанию проходили через eth1. Все пакеты, поступающие с ПК с адресом 192.168.2.0/24, проходят через eth2.

После поиска и публикации на других форумах у меня уже есть следующее (в моем файле rc.local):

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

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ПРИНЯТЬ
iptables -A FORWARD -i eth2 -j ПРИНЯТЬ

с таблицей маршрутов:

Таблица маршрутизации IP ядра
Шлюз назначения Genmask Флаги Метрика Ссылка Использовать Iface
10.0.4.0        0.0.0.0         255.255.255.0   U     0      0        0 eth2
172.16.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth1
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         172.16.1.50     0.0.0.0         UG    0      0        0 eth1
0.0.0.0         10.0.4.2        0.0.0.0         UG    0      0        0 eth2
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Я пытался играть с route а также ip route но я не могу найти его на работу...

1 ответ

Решение

Решения о маршрутизации основаны на адресах назначения. Если вы хотите маршрутизировать трафик на основе адреса источника, вам необходимо настроить маршрутизацию на основе политик. Посмотри на:

http://www.linuxhorizon.ro/iproute2.html

Я ответил на эти похожие вопросы несколько недель назад:

Как я могу маршрутизировать разный трафик через разные интерфейсы (маршруты) по протоколу?

Использование iptables для пересылки трафика, предназначенного для конкретного ip, через определенный интерфейс

Другие вопросы по тегам