Маршрутизация на основе политик
From DD-WRT Wiki
English • Deutsch • Español • Français • Italiano • 日本語 • Polski • Português • Русский • Svenska • 中文(中国大陆) • 中文(台灣) • |
Маршрутизация на основе политик, Policy Based Routing, PBR
Contents |
[edit] Введение
Традиционные функции маршрутизации отправляют пакеты из интерфейсов в зависимости от адреса назначения, сохраняя таблицу маршрутизации, какие сети подключены к каким интерфейсам. Маршрутизация на основе политик - это расширенная концепция, которая отправляет пакеты на основе других критериев, таких как адрес источника или порт TCP. Это достигается путем создания нескольких таблиц маршрутизации и правил, которые определяют, какую таблицу маршрутизации использовать на основе определенных критериев. Маршрутизация на основе адреса источника довольно проста в настройке и не требует особых знаний, но другие критерии требуют гораздо больше усилий.
[edit] Команды маршрутизации
[edit] Маршрутизация на основе адреса источника
Такая маршрутизация требует только нескольких команд:
ip rule add from [IP-адрес_источника]/[Маска_подсети] table 200 ip route add default via [Шлюз] dev [Интерфейс] table 200 ip route flush cache
[IP-адрес_источника] должен соответствовать IP-адресу компьютера, пакеты от которого вы хотите направить по особому адресу, или можно задать [Маска_подсети], чтобы указать целый диапазон адресов. [Шлюз] должен быть IP-адресом следующего маршрутизатора в цепочке направления трафика, он может указывать на VPN-сервер или IP-адрес шлюза интернет-провайдера. [Интерфейс] должен быть тем интерфейсом, по которому необходимо отправить трафик для достижения шлюза, например tun0 для VPN.
Пример:
ip rule add from 192.168.1.128/28 table 200 ip route add default via 10.0.0.1 dev ppp0 table 200 ip route flush cache
Вы можете показать содержимое таблицы маршрутизации с помощью команд (может не отобразить для нерабочего маршрута):
ip route list table table 200 ip rule show
[edit] Куда ввести команды
[edit] С OpenVPN
Ваши команды маршрутизации должны идти в сценарие маршрутизации (route-up script). См. Руководство OpenVPN для примеров того, как настроить сценарий маршрутизации.
[edit] С PPTP
Ваши команды маршрутизации должны указываться в сценарии /tmp/pptpd_client/ip-up или, возможно, .ipup как указано в статье Запуск сценариев по событию (требуется тестирование).
[edit] С физическим интерфейсом
Команды маршрутизации можно ввести в сценарий брандмауэра на странице Administration → Commands page.
[edit] Ссылки
- Сообщение на форуме с множеством руководств и сценариев: Policy Based Routing guide for DDWRT
- Linux Advanced Routing & Traffic Control: Simple source policy routing