1

Я настроил openvpn-клиент на моем dd-wrt для подключения к хосту в паре состояний. Прекрасно работает (также проверил таблицу маршрутов), но я хочу только туннелировать http-трафик. Я всегда использовал IPtables для моего маршрутизатора dd-wrt. Вот что у меня есть, но, похоже, это не работает:

iptables -I FORWARD 1 -p tcp -m multiport --dports 80 -o tun1 -j ACCEPT
iptables -I FORWARD 2 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -I FORWARD 3 -j DROP

Я также слышал, что мне следует использовать маршрутизацию на основе политик, но я действительно не знаю, почему / как? Я думаю, что IP-таблицы будут работать. Так что любая помощь по поводу того, почему вышеупомянутое не сработает, будет потрясающей.

Спасибо!

1 ответ1

1

Итак, что вы хотите, это направить dport 80 к туннельному интерфейсу, а все остальное - к исходящему Ethernet без контроля?

Вы не можете сделать это с iptables, по крайней мере, по умолчанию. iptables может отбрасывать, разрешать и изменять или изменять пакеты. iptables обычно не принимает решения о маршрутизации. Фактически, к моменту оценки пакета таблицей FORWARD решение о маршрутизации уже принято. Вот почему вы можете использовать исходящий интерфейс в качестве параметра; это уже определено.

Правила, которые вы разместили здесь, просто сбрасывают что-то не на порт 80, а на туннель. Это может даже упасть в туннель, но я думаю, что это будет обрабатываться OUTPUT.

Маршрутизация на основе политик выходит далеко за рамки моего опыта, и даже некоторые быстрые поиски в Google приводят к множеству способов ее реализации. Грубо говоря, если вы хотите, чтобы это работало, вы всегда будете добавлять правила в таблицу PREROUTING. Вот документ, который описывает патч для iptables, поэтому он добавляет цель для непосредственного изменения маршрутов. Вот раздел расширенного документа маршрутизации, который использует iptables для маркировки пакетов и настраивает таблицу маршрутизации для работы через теги. Есть еще кое-что (Google "маршрутизация на основе политик с использованием iptables"), и я, к сожалению, не представляю, насколько это работает с DD-WRT. Надеюсь, это поможет вам начать масштабирование кроличьей норы.

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