Несколько интерфейсов: маршрутизировать пакеты на определенный интерфейс
У меня есть 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
Я ответил на эти похожие вопросы несколько недель назад:
Как я могу маршрутизировать разный трафик через разные интерфейсы (маршруты) по протоколу?