Здраствуйте.
Такая проблема...
Система Linux RedHat 8. Есть 2 канала интернет, надо их распределить между разными пользователями сети.
Пользователи подключаются по VPN.
Первые через подсеть 192.168.66.0
Вторые через подсеть 192.168.67.0Изначально, когда был 1 канал, был
Iptable
-A POSTROUTING -s 192.168.66.0/255.255.255.0 -j SNAT --to-source *.*.17.93route:
Dest Gw Genmask
default ar36-1s.kh 0.0.0.0И все ходили через этот интернет. Route создавался сам при поднятия модема, ifup dsl0...
Теперь, я добавил еще одну подсеть в Iptable для юзеров которые будут ходить по другому интернету:
-A POSTROUTING -s 192.168.67.0/255.255.255.0 -j SNAT --to-source 192.168.1.244Вот в чем заключается проблема:
Если я удаляю route default (default ar36-1s.kh 0.0.0.0 )
И создаю для второго интернета route add default gw 192.168.1.244
То с подсети 67.0 можно юзать интернет.Если оставляю 2 defaulta то интернет не работает ни там ни там.
Как мне правильно прописать route для моего случая?
Уже тьму вариантов перепробовал, ничего не получается.
Насколько я понял суть задачи, есть два канала в интернет и нужно поделить их между определенными сетями.
Я делал подобное на FreeBSD. Один канал оставляем маршрутом по умолчанию (default route). Во второй канал загоняем определенные ip файрволлом. Не знаю, умеет ли это iptables, но ipfw, ipnat и pf с этой задачей справлялись замечательно. Нужно искать опцию, перенаправляющую пакетики либо на интерфейс, либо на ip-адрес.
Тогда пишется правило, которое для заданных ip-адресов перебрасывает пакетики, выходящие через интерфейс маршрута по умолчанию, на интерфейс подключенный ко второму каналу (либо на ip-адрес шлюза на этом канале). Дополнительно на втором интерфейсе включается NAT для исходящих через него пакетов на ip-адрес этого интерфейса.Если не понятно, попробуйте нарисовать схему на бумажке - обычно очень помогает :)
--
Jay
Кстати, слышал я, что в линуксе есть возможность роутить пакетики по адресу источника пакета (source ip). Если это действительно есть, то лучше не городить огород с файрволлами, а воспользоваться этим механизмом.--
Jay
>Кстати, слышал я, что в линуксе есть возможность роутить пакетики по адресу
>источника пакета (source ip). Если это действительно есть, то лучше не
>городить огород с файрволлами, а воспользоваться этим механизмом.
>
>--
>JayПробовал вот так, не получается, если defaultа нету, то вообще не работает:
route add -net 192.168.67.0 gw 192.168.1.244
Но вроде это и не правильно... В общем чего только не перепробовал :)
В свое время я тоже решал эту задачу на Linux. Решил через iproute2 и маршрутизацию по источнику. В двух словах принцип такой: в iproute2 создается две таблицы маршрутизации, в каждой из которых прописываются свои маршруты и свой default gateway. Потом через iptables по адресу источника на пакеты ставятся метки, а через iproute2 пакеты с этими метками загоняются каждый в свою таблицу. Ничего хитрого, инфы по этому делу много. Таким образом получаем source-routing. Решение может не самое красивое, но на 100% рабочее - у меня несколько лет работало, пока пока вместо двух хилых линков не дали один толстый.