PCC на 3 провайдера

RIP, OSFP, BGP, MPLS/VPLS
joker
Сообщения: 25
Зарегистрирован: 29 апр 2019, 16:22

Re: PCC на 3 провайдера

Сообщение joker » 14 ноя 2019, 11:42

Chupaka писал(а):
13 ноя 2019, 15:58
А вы не хотите просто per-connection-classifier=both-addresses-and-ports сменить на per-connection-classifier=src-address? Если не хотите - то сделайте два набора правил:
1) порты 80/tcp,443/tcp - per-connection-classifier=src-address
2) всё остальное - per-connection-classifier=both-addresses-and-ports

Проблема возникает потому, что несколько соединений даже к одному IP могут пойти через разные каналы.
Сделал по вашей рекомендации.
Гляньте своим профессиональным глазом, так правильно будет?
И где правильно поставить passthrough=yes или no

Код: Выделить всё

/ip firewall mangle
add action=mark-connection chain=input comment="Input Mark connection" in-interface=ether1-wan1 new-connection-mark=ISP3-WAN1-connection passthrough=yes
add action=mark-connection chain=input in-interface=ether2-wan2 new-connection-mark=ISP3-WAN2-connection passthrough=yes
add action=mark-connection chain=input in-interface=pppoe-out1_ByFly new-connection-mark=ISP3-WAN3-connection passthrough=yes

add action=mark-connection chain=prerouting comment="Per Connection Classifier HTTPS HTTP" connection-state=new disabled=yes dst-port=80,443 new-connection-mark=ISP1-WAN1-80-443 passthrough=yes per-connection-classifier=src-address:3/0 protocol=\tcp
add action=mark-connection chain=prerouting connection-state=new disabled=yes dst-port=80,443 new-connection-mark=ISP2-WAN2-80-443 passthrough=yes per-connection-classifier=src-address:3/1 protocol=tcp
add action=mark-connection chain=prerouting connection-state=new disabled=yes dst-port=80,443 new-connection-mark=ISP3-WAN3-80-443 passthrough=yes per-connection-classifier=src-address:3/2 protocol=tcp
add action=mark-routing chain=prerouting connection-mark=ISP1-WAN1-80-443 disabled=yes new-routing-mark=80_443-ISP1-WAN1 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=ISP2-WAN2-80-443 disabled=yes new-routing-mark=80_443-ISP2-WAN2 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=ISP3-WAN3-80-443 disabled=yes new-routing-mark=80_443-ISP3-WAN3 passthrough=yes

add action=mark-connection chain=prerouting comment="Per Connection Classifier" connection-state=new new-connection-mark=ISP3-WAN1-connection passthrough=yes per-connection-classifier=both-addresses-and-ports:3/0
add action=mark-connection chain=prerouting connection-state=new new-connection-mark=ISP3-WAN2-connection passthrough=yes per-connection-classifier=both-addresses-and-ports:3/1
add action=mark-connection chain=prerouting connection-state=new new-connection-mark=ISP3-WAN3-connection passthrough=yes per-connection-classifier=both-addresses-and-ports:3/2
add action=mark-routing chain=prerouting connection-mark=ISP3-WAN1-connection new-routing-mark=ISP1-WAN1 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=ISP3-WAN2-connection new-routing-mark=ISP2-WAN2 passthrough=yes
add action=mark-routing chain=prerouting connection-mark=ISP3-WAN3-connection new-routing-mark=ISP3-WAN3 passthrough=yes

add action=mark-routing chain=output comment="Output Mark Routing" connection-mark=ISP3-WAN1-connection new-routing-mark=ISP1-WAN1 passthrough=yes
add action=mark-routing chain=output connection-mark=ISP3-WAN2-connection new-routing-mark=ISP2-WAN2 passthrough=yes
add action=mark-routing chain=output connection-mark=ISP3-WAN3-connection new-routing-mark=ISP3-WAN3 passthrough=yes

Код: Выделить всё

/ip route
add distance=1 gateway=pppoe-out1_ByFly routing-mark=ISP3-WAN3
add distance=1 gateway=82.1.1.125 routing-mark=ISP1-WAN1
add distance=1 gateway=82.2.2.117 routing-mark=ISP2-WAN2
add comment=lan-out-80_443-ISP1-WAN1 disabled=yes distance=1 gateway=82.1.1.125 routing-mark=80_443-ISP1-WAN1
add disabled=yes distance=1 gateway=82.2.2.117 routing-mark=80_443-ISP2-WAN2
add disabled=yes distance=1 gateway=pppoe-out1_ByFly routing-mark=80_443-ISP3-WAN3

Аватара пользователя
Chupaka
Сообщения: 2167
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: PCC на 3 провайдера

Сообщение Chupaka » 14 ноя 2019, 14:51

В три правила comment="Per Connection Classifier" и дальше добавьте connection-mark=none, чтобы они не перемаркировывали то, что вы в "Per Connection Classifier HTTPS HTTP" уже намаркировали.
joker писал(а):
14 ноя 2019, 11:42
И где правильно поставить passthrough=yes или no
Ну, если дальнейшая обработка пакета в данной цепочке не требуется после срабатывания заданного правила - тогда =no, если дальше что-то ещё должно с пакетом произойти (навесить, например, routing mark вдобавок к только что накинутой connection mark) - тогда =yes :)

joker
Сообщения: 25
Зарегистрирован: 29 апр 2019, 16:22

Re: PCC на 3 провайдера

Сообщение joker » 14 ноя 2019, 16:16

Chupaka писал(а):
14 ноя 2019, 14:51
В три правила comment="Per Connection Classifier" и дальше добавьте connection-mark=none, чтобы они не перемаркировывали то, что вы в "Per Connection Classifier HTTPS HTTP" уже намаркировали.
Если я сделаю в 3-х правилах под комментарием "Per Connection Classifier" action=mark-connection new-connection-mark=no-mark , то следующие 3 правила action=mark-routing не будут иметь смысла. Маркированных коннекшинов не будет и в роутинг не чего будет загонять.

Аватара пользователя
Chupaka
Сообщения: 2167
Зарегистрирован: 29 фев 2016, 15:26
Откуда: Минск
Контактная информация:

Re: PCC на 3 провайдера

Сообщение Chupaka » 14 ноя 2019, 19:52

А вы так не делайте :) Вы сделайте так, как я написал: connection-mark=no-mark, а не new-connection-mark=no-mark. Т.е. не снимать метку, а НЕ обрабатывать коннекшены, на которых уже есть метка. Ну и routing-mark оставить просто ISP2-WAN2, не надо создавать никаких 80_443-ISP2-WAN2

Ответить