В то время как существует некоторое перекрытие в функциональности между этими двумя инструментами существует много вещей, которые можно только сделать от только одного из инструментов. iproute2
ничего не может сделать с netfilter правилами брандмауэра. iptables
не может сделать вещам нравится, присваивают IP-адреса.
Даже в местах, где функциональность, кажется, накладывается, она действительно не накладывается. Например, можно сделать преобразование адресов с обоими iproute2
и iptables
. Но преобразование адресов, которое можно сделать с iproute, не принимает состояния во внимание и не делает абсолютно никакой перезаписи пакета. Существует несколько сетевых протоколов как FTP, SIP, H.323, и т.д. где IP-адреса находятся во включенном в пакете, и не только в заголовках. При использовании iproute метода для преобразования адресов, те типы протоколов будут повреждены. Netfilter делает намного лучшее задание при преобразовании адресов.
В большинстве случаев, где функциональность действительно накладывается, она обрабатывается по-разному. Возможно с модулем сделать маршрутизацию с iptables
, но в прошлый раз я проверил, что модуль не был на большинстве дистрибутивов, чтобы не иметь netfilter/iptables
исправленный с целью МАРШРУТА. Если та цель не доступна, Вы не можете использовать netfilter для маршрутизации, если Вы не находитесь в настроении скомпилировать Ваши собственные ядра. Ваше решение, о котором инструмент использовать будет сделан просто, потому что функция не доступна в версии инструментов, которые Вы выполняете. Даже если у Вас есть цель МАРШРУТА, от того, что я понимаю, не столь эффективно использовать netfilter для решений по маршрутизации, как это должно сделать маршрутизацию со стандартными таблицами маршрутизации с iproute2
управляет.
Многое из него также использует правильный инструмент для правильного задания. iproute2
прежде всего, разработан для управления маршрутизацией и адресами на Вашем компьютере. iptables
/Netfilter создается для брандмауэринга.
Я думаю, что в местах, где человек мог использовать любой инструмент, они будут обычно использовать инструмент, с которым они являются самыми знакомыми. Я знаю, что использую цель МАРКА iptables
отметить некоторые пакеты для одного маршрута или другого даже при том, что я мог записать то же правило с iproute2
.
По крайней мере Патч ядра BCache для отважных душ; Я понятия не имею, поддерживается ли это. Мы будем рады любым лучшим предложениям.
+1 за интересный вопрос!