У меня следующая простая ситуация: два интернет-соединения через две разные сетевые сетевые карты, eth0 и eth1, и две точки доступа (конечно, я использую hostapd) на двух разных беспроводных картах, wlan0 и wlan1. Две карты Wi-Fi имеют разные подсети (192.168.53.0/24, 10.0.15.0/24), а две карты Ethernet находятся в разных подсетях (192.168.1.0/24, 10.10.2.0/24).

Я хотел бы продолжать пересылку совершенно отдельно, другими словами:

   wlan0 --> eth0
   wlan1 --> eth1

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

1 ответ1

3

Вам нужна политика маршрутизации.

Обычная маршрутизация выберет адрес или интерфейс следующего перехода на основе адреса назначения и ничего больше. То есть все пакеты по одному и тому же адресу будут использовать один и тот же маршрут.

Как только вы используете другие факторы, такие как входящий интерфейс, для влияния на решение о маршрутизации, вы по определению выполняете политику маршрутизации.

У netfilter/iptables есть дополнение, обеспечивающее цель "ROUTE" для выполнения PBR только с netfilter, но его принятие, обслуживание и тестирование неэффективны по сравнению с типичным подходом на основе правил iproute2. Как говорят даже администраторы netfilter,

«По возможности, вы должны использовать цель MARK вместе с iproute2 вместо этой цели [iptables] ROUTE».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .