Andrey Nikitin wrote:
Хотелось бы настроить хост(etch) так,
чтобы скачка больших файлов (руками запущенные wget, torrent-клиенты) проходила бы через unlim-шлюз, а остальной доступ - через wide-шлюз (по умолчанию).

Как научить wget и torrent ходить не через дефолтный маршрут,
или выбрать их аналоги, умеющие это делать?
И что прописать в netfilter?


Задача поставлена не совсем корректно. Приложения работают с прикладными протоколами поверх неких транспортных (TCP или UDP). Ни о каких маршрутах они не знают. Этим занимается сетевой стек ОС. В общем случае нужен policy routing на основе используемого протокола прикладного уровня. Идеологически верно для этого использовать iptables вместе с iproute2, однако для простоты можно поставить из patch-o-matic цель ROUTE, которая позволяет указывать next hop, используя только правила iptables. Классифицировать трафик проще всего по портам назначения. Можно и более продвинуто, с помощью модуля layer7.

Приблизительно так будет выглядеть правило, направляющее HTTP через интерфейс eth0:
iptables -A PREROUTING -t mangle -p tcp --dport 80 -j ROUTE --oif eth0


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить