Привет, p2p трафик по умолчанию идет через шлюз 1. Весь остальной трафик — по шлюзу 2, назначенному политикой. Когда я использую соответствие только 80 TCP порту, политический маршрут работает хорошо, и www приходит через шлюз 2. А когда я применяю соответствие, например, на все трафику и добавляю политический маршрут в интернет, это перестает работать. Это пример из справки MikroTik.
Примечания: Вы можете использовать политическую маршрутизацию даже при использовании маскирования на ваших частных сетях. Адрес источника будет таким же, как в локальной сети. В предыдущих версиях RouterOS адрес источника изменялся на 0.0.0.0.
Невозможно распознать p2p трафик по первому пакету. Сопоставление возможно только для уже установленных соединений. Это также означает, что если NAT обрабатывает p2p трафик иначе, чем обычный трафик, то p2p программы не будут работать (общее применение — перенаправление обычного трафика через один интерфейс, а p2p трафика — через другой).
Известное решение этой проблемы — решить её с другой стороны: заставить не p2p трафик идти через другой шлюз, а весь остальной полезный трафик — через другой шлюз. Другими словами, указать, какие протоколы (HTTP, DNS, POP3 и т.д.) будут идти через шлюз A, оставляя весь остальной трафик (включая p2p трафик) использовать шлюз B (не имеет значения, какой шлюз какой; важно лишь, чтобы p2p трафик был вместе со всем остальным трафиком, кроме указанных протоколов).
Пример: Добавить правило, которое указывает, что все пакеты с хоста 10.0.0.144 должны использовать таблицу маршрутизации mt:
[admin@MikroTik] ip firewall mangle add action=mark-routing new-routing-mark=mt ... chain=prerouting
[admin@MikroTik] ip route> add gateway=10.0.0.254 routing-mark=mt
[admin@MikroTik] ip route rule> add src-address=10.0.0.144/32 ... table=mt action=lookup
[admin@MikroTik] ip route rule> print
Flags: X - disabled, I - invalid
0 src-address=192.168.0.144/32 action=lookup table=mt
[admin@MikroTik] ip route rule>
Примечания: Вы можете использовать политическую маршрутизацию даже при использовании маскирования на ваших частных сетях. Адрес источника будет таким же, как в локальной сети. В предыдущих версиях RouterOS адрес источника изменялся на 0.0.0.0.
Невозможно распознать p2p трафик по первому пакету. Сопоставление возможно только для уже установленных соединений. Это также означает, что если NAT обрабатывает p2p трафик иначе, чем обычный трафик, то p2p программы не будут работать (общее применение — перенаправление обычного трафика через один интерфейс, а p2p трафика — через другой).
Известное решение этой проблемы — решить её с другой стороны: заставить не p2p трафик идти через другой шлюз, а весь остальной полезный трафик — через другой шлюз. Другими словами, указать, какие протоколы (HTTP, DNS, POP3 и т.д.) будут идти через шлюз A, оставляя весь остальной трафик (включая p2p трафик) использовать шлюз B (не имеет значения, какой шлюз какой; важно лишь, чтобы p2p трафик был вместе со всем остальным трафиком, кроме указанных протоколов).
Пример: Добавить правило, которое указывает, что все пакеты с хоста 10.0.0.144 должны использовать таблицу маршрутизации mt:
[admin@MikroTik] ip firewall mangle add action=mark-routing new-routing-mark=mt ... chain=prerouting
[admin@MikroTik] ip route> add gateway=10.0.0.254 routing-mark=mt
[admin@MikroTik] ip route rule> add src-address=10.0.0.144/32 ... table=mt action=lookup
[admin@MikroTik] ip route rule> print
Flags: X - disabled, I - invalid
0 src-address=192.168.0.144/32 action=lookup table=mt
[admin@MikroTik] ip route rule>
