Нужна более понятная объяснение по поводу "Nth"., RouterOS
ekkas
Guest
0
27.02.2008 20:42:00
Пытаюсь реализовать пример Load Balance из Wiki с 4 строками, но не могу скопировать/вставить текст, так как ‘Nth=1,1,1’ выдает ошибку ‘Integer value needed’ (ROS3.3). Так что просто ввожу вручную из Winbox. Что означают 1,1,1 или 1,1,0? Что мне нужно ввести в WinBox под Nth? Это для WAN1: every=3, packet=0, WAN2: every=3, packet=1, WAN3: every=3, packet=2, WAN4: every=3, packet=3. Так правильно?
mson77
Guest
0
19.03.2008 06:03:00
Привет, janisk… Хочу задать вопрос по Nth в v3.x, касающийся проблемы балансировки нагрузки. Я видел примеры балансировки нагрузки, где пакеты распределяются, как можно увидеть здесь: Я понимаю, что нужно распределять соединения, чтобы достичь балансировки нагрузки, а не пакеты. Можно ли распределять пакеты для реализации балансировки нагрузки? Это правильно?
=======================================
Можно ли использовать вот это ниже? /ip firewall mangle
Снова… с “mark-packet” на “mark-connection”. Стоит ли использовать mark-packet или mark-connection для балансировки нагрузки?
С уважением,
janisk
Guest
0
19.03.2008 07:40:00
Если отмечать только пакеты, можно нарушить связь, потому что пакеты от других источников просто будут отбрасываться (особенно если у вас NAT), SSH перестанет работать и так далее. Поэтому сначала отмечаете соединения, а потом уже отмечаете пакеты, чтобы указать, к каким соединениям они принадлежат.
mson77
Guest
0
19.03.2008 12:40:00
Привет, janisk! Спасибо за быстрый ответ. Давайте рассмотрим LB с 3 ссылками. Исходя из того, что ты сказал, я бы сделал следующее: (v3.x) /ip firewall mangle
add action=mark-connection chain=prerouting new-connection-mark=AAA nth=3,1 passthrough=no; add action=mark-connection chain=prerouting new-connection-mark=BBB nth=2,1 passthrough=no; add action=mark-connection chain=prerouting new-connection-mark=CCC ; Для NAT таблицы: /ip firewall nat add chain=srcnat packet-mark=AAA action=src-nat to-addresses=<ip_ether_AAA> to-ports=0-65535 add chain=srcnat packet-mark=BBB action=src-nat to-addresses=<ip_ether_BBB> to-ports=0-65535 add chain=srcnat packet-mark=CCC action=src-nat to-addresses=<ip_ether_CCC> to-ports=0-65535 Для /ip route table: /ip route add add dst-address=0.0.0.0/0 gateway=<gw_ether_AAA> check-gateway=ping interface=<ether_AAA> routing-mark=AAA add dst-address=0.0.0.0/0 gateway=<gw_ether_BBB> check-gateway=ping interface=<ether_BBB> routing-mark=BBB add dst-address=0.0.0.0/0 gateway=<gw_ether_CCC> check-gateway=ping interface=<ether_CCC> routing-mark=CCC Буду благодарен, если ты проверишь мои правила выше касательно таблиц mangle, nat и route. Если все ок, пожалуйста, напиши "OK"... а если нет... напиши правильный способ/правило... пожалуйста. В таблице mangle... я помечаю пакеты и информацию о маршрутизации над существующей связью перед "passthrough=no". В таблице nat... я sourceNAT, используя packet mark вместо информации о connection mark. С уважением,
janisk
Guest
0
19.03.2008 13:45:00
Нет, есть кое-что, что нужно сначала улучшить. Добавляйте action=mark-connection chain=prerouting comment="myMark" connection-state=new disabled=no new-connection-mark="" passthrough=no nth=3,1, а потом можете отмечать каждую вторую новую связь как хотите с nth=2,1. А для 3-й отметки можно просто сделать правило без поля nth, так будет меньше сравнений, меньше нагрузки на процессор. Я не тестировал это на практике, но, должно сработать как-то, если исправить эту ошибку. И если это не работает, нужно проверить, через какие интерфейсы идёт трафик, и отмечать согласно интерфейсам, потому что входящий трафик тоже будет NAT’ится, если делать так, как вы сейчас делаете.
mson77
Guest
0
19.03.2008 13:52:00
Привет, janisk… Так… что не так с: /ip firewall mangle
add action=mark-connection chain=prerouting new-connection-mark=AAA nth=3,1 passthrough=no; add action=mark-connection chain=prerouting new-connection-mark=BBB nth=2,1 passthrough=no; add action=mark-connection chain=prerouting new-connection-mark=CCC ; regarding… then you can mark every other new connections as you wish with nth=2,1 and for the 3rd mark you can simply make rule without nth field set, so less to compare, less strain on CPU I didn’t understand you comment and suggestion. TIA Regards,