Назад | Перейти на главную страницу

iproute2 rules и iptables NAT… в чем разница?

У нас есть 2 разных интернет-провайдера. Наш предыдущий «айтишник» настроил наш брандмауэр следующим образом:

когда /etc/rc.local был выполнен при запуске, он сделал кучу ip rule add и ip route add команды для маршрутизации определенных внутренних хостов для использования определенных соединений ISP.

Тогда в конце /etc/rc.local, он выполнил наши iptables правила брандмауэра, которые были созданы Firewall Builder. Эти iptables В правилах установлены правила политики и NAT.

Я не понимаю, почему он использовал iproute2 для указания правил и маршрутов, но также для указания правил NAT для iptables? Почему он просто не сделал все в одном или другом вместо того, чтобы использовать их обоих? Мог ли он избавиться от iproute2 правила и маршруты и просто поместите все те же правила в iptables Настройки NAT?

Хотя функциональность этих двух инструментов частично совпадает, многое можно сделать только с помощью одного из них. iproute2 не может ничего сделать с правилами брандмауэра netfilter. iptables не может делать такие вещи, как назначение IP-адресов.

Даже в тех местах, где функциональность кажется частично совпадающей, она не перекрывается. Например, вы можете выполнить перевод адресов с помощью обоих iproute2 и iptables. Но преобразование адресов, которое вы можете сделать с помощью iproute, не принимает во внимание какое-либо состояние и абсолютно не перезаписывает пакет. Существует несколько сетевых протоколов, таких как FTP, SIP, H.323 и т. Д., Где IP-адреса включены в пакет, а не только в заголовки. Если вы используете метод iproute для трансляции адресов, эти типы протоколов будут нарушены. Netfilter намного лучше справляется с преобразованием адресов.

В большинстве случаев, когда функциональные возможности частично совпадают, они обрабатываются по-разному. Возможно с помощью модуля сделать маршрутизацию с iptables, но в прошлый раз я проверил, что в большинстве дистрибутивов модуля нет, чтобы не было netfilter /iptables пропатчен МАРШРУТ цель. Если эта цель недоступна, вы не можете использовать netfilter для маршрутизации, если только вы не настроены компилировать свои собственные ядра. Ваше решение о том, какой инструмент использовать, будет принято просто потому, что эта функция недоступна в версии инструментов, которые вы используете. Даже если у вас есть цель ROUTE, насколько я понимаю, использовать netfilter для принятия решений о маршрутизации не так эффективно, как выполнять маршрутизацию со стандартными таблицами маршрутизации с iproute2 манипулирует.

Многие из них также используют правильный инструмент для правильной работы. iproute2 в первую очередь предназначен для управления маршрутизацией и адресами на вашем компьютере. iptables/ Netfilter создан для брандмауэра.

Я думаю, что там, где человек может использовать любой из инструментов, он обычно использует тот инструмент, с которым он наиболее знаком. Я знаю, что использую цель MARK iptables чтобы пометить некоторые пакеты для того или иного маршрута, хотя я мог бы написать то же правило с iproute2.