ip tunnel add v6-1 mode sit remote 209.51.161.14 local 45.139.184.150 ttl 255
ip link set v6-1 up
ip -6 addr add 2001:470:8a87:1111:1111:1111:1111:1111/128 dev v6-1
ip -6 rule add from 2001:470:8a87:1111:1111:1111:1111:1111/64 table 601
ip -6 route add default dev v6-1 table 601
#ip -6 rule add from $subnet1 table 601
ip tunnel add v6-2 mode sit remote 184.105.250.46 local 185.230.140.161 ttl 255
ip link set v6-2 up
ip -6 addr add 2001:470:411c:2222:2222:2222:2222:2222/128 dev v6-2
ip -6 rule add from 2001:470:411c:2222:2222:2222:2222:2222/64 table 602
ip -6 route add default dev v6-2 table 602
#ip -6 rule add from $subnet2 table 602
ip -6 route add default dev v6-1 metric 1
ip -6 route add default dev v6-2 metric 2
У меня работает вот в таком виде. Вместо $subnet1 и 2 нужно вставить подсети, которые Вы вещаете в локалку или ещё куда. Не вешайте их на sit интерфейсы! Если хотите взять адреса из этих сетей, то просто назначьте их на loopback интерфейс с маской /128.
Vincent1, Собрал стенд с похожей конфигурацией, но без sit и оно работает... Что это за префикс 2001:470:8a87:1839::/64 и на тот ли интерфейс Вы его вешаете?
Vincent1,
ip route add ::/0 dev ipv6tunnel metric 0
ip route add ::/0 dev ipv6tunnel-2 metric 1
Но смысла особого в двух default маршрутах нет ибо трафик пойдёт через приоритетный маршрут. Если это конфигурация роутера, то чтобы трафик ходил через правильные туннели полагаю нужно, использовать ip rule как тут.
Кстати есть ли смысл тратить подсеть /64 на sit интерфейс? На той стороне есть ли, кто то в этой подсети?
Гектор Синхром, Пример. Нужно добавить событие PositionChanged и в методе Read нужно поставить счётчик байтов и вызов обработчиков PositionChanged. А дальше:
var proxy = new StreamProxy(inputStream);
proxy.PositionChanged += UpdateCryptInfo;
proxy.CopyTo(encStream);
Таким образом событие PositionChanged будет вызываться каждый раз когда метод CopyTo будет читать очередной пакет данных. Код шифрования не будет захламляться циклами и останется читабелен. Для пущей расширяемости функцию UpdateCryptInfo можно принимать в качестве аргумента метода EncryptFile.
Сергей, ты просто плохо знаешь Clone. Он без необходимости большие массивы не копирует, а проявляет чудеса изобретательности играя с виртуальной памятью и отображая один кусок реальной памяти на множество кусков виртуальной в режиме CopyOnWrite. Нужно использовать первый вариант, но инициализировать каждый выделенный массив.
Magneto903, Если честно, понятия не имею насколько этот код может ускорить. Всё зависит от того, есть ли данные в кэше процессора и насколько хорошо процессор работает с невыровоненными данными. В лучшем случае код будет быстрее в разы, в худшем, будет чуть медленнее. А уж насколько он ускорит весь код в целом это вообще невозможно вычислить без тестов. Но с оптимизациями всегда стоит надеяться на лучшее, особенно, когда результат приходит без существенных затрат времени.
А, что там за memcpy null ? Судя по всему memcpy не компилируется в wasm, а импортируется. Но у меня есть сомнения, что эта функция есть в wasmimports.
AlexanderSuz, предлагаю такой вариант: склейте порты сетей офиса и бухов мостом(bridge). И настройте виланы поверх него. Так Вы сможете использовать любые порты любого коммутатора, при этом легко разделяя сети как Вам угодно. И в случае чего сможете перестроить сеть с минимальным кромсанием проводов.
AlexanderSuz, Ну вы же решили использовать VLAN. Это имеет смысл только если соединять две сети коммутаторами. И я предположил, что для микротика оно всё на одном порте.
DHCP-сервер вообще только по интерфейсам и настраивается. Если не настроить DHCP-сервер для интерфейса, то и не будет там DHCP от микротика.
AlexanderSuz, Что то вроде
/interface vlan
add name=vlanMain vlan-id=1 interface=eth2 disabled=no
add name=vlanBukh vlan-id=2 interface=eth2 disabled=no
/ip firewall nat
add chain=srcnat in-interface=vlanMain action=masquerade out-interface=ISP1
add chain=srcnat in-interface=vlanBukh action=masquerade out-interface=ISP2
Не разу в жизни с микротиками не работал, но нужно уметь придумывать решения на основе документации.
Его процессор не поддерживает ECC память, это не сервер! Это обычный ПК с парой таких плат расширения. Сколько стоят 9900K материнка к нему на 4 слота памяти и 64 Гб ddr4?
У меня работает вот в таком виде. Вместо $subnet1 и 2 нужно вставить подсети, которые Вы вещаете в локалку или ещё куда. Не вешайте их на sit интерфейсы! Если хотите взять адреса из этих сетей, то просто назначьте их на loopback интерфейс с маской /128.