Comments 26
Спасибо, а ZeroTier One тоже можно на микротике настроить?
Чем они отличается: ZeroTier и WireGuard?
wireguard подразумевает что вы вручную своими силами обеспечите устройствам связаность либо через одно из своих устройств либо каждый с каждым, тут как фантазия разгуляется, что означает что минимум одно устройство должно иметь белый адрес или проброшенный наружу порт через устройство с белым адресом. В zerotier же устройства сами находят друг друга через сервер, трафик не ездит через сервер в этом случае, он нужен только для того чтобы устройства нашли друг друга и соединились даже если ВСЕ они сидят за NAT.
трафик не ездит через сервер в этом случае, он нужен только для того чтобы устройства нашли друг друга и соединились даже если ВСЕ они сидят за NAT
Но если устройство A и устройство B сидят за Hide NAT, как они будут шифровать друг с другом, без участия сервера, даже если узнают друг о друге через сервер? А если не Hide NAT, а статический, тогда все равно, что NAT отстутсвует, если есть полноценный публичный IP, доступный извне.
Для Wireguard у меня поднят маленький VPS с публичным адресом. И все клиенты за Hide NAT к нему подключаются, и через него взаимодействуют уже друг с другом.
Если честно, ожидал более подробную статью (например, с ipv6 клиентам). По данным шагам из статьи, имхо, быстро разберётся любой кто хоть немного с микротиками работает, больше на интуитивном плане (и может немного гугла).
А ещё не обязательно в том же микроте прописывать endpoint ip, что удобно если нужно подключиться к домашнему микроту находясь где нибудь ещё.
Извините, что не совсем соответствует ожиданиям. Я старался сделать HowTo для начинающих, к коим собственно и себя отношу. Поэтому старался излагать максимально просто и только основные настройки, для начальной работы.
В любом случае, учту ваше пожелание, и, возможно, сделаю отдельную advanced статью в которую ещё добавлю пару фишек из личного опыта с mikrotik'ами.
Согласен, с тем, что endpoint не обязательно прописывать в каждой точке, т.к. подключение одноранговое. Особенно если роутер находится за NAT. Но, имхо, так надёжнее, т.к. при наличии 2х белых IP, подключение пройдёт с большей вероятность. Ведь иногда с этим бывают проблемы у mikrotik'ов.
Из плюсов WireGuard по сравнению с OpenVPN это то что он способен загрузить все ядра роутера если у такового они имеются, в отличии от последнего который однопоточный отсюда высокая скорость
Не знаю как WG реализован в микротиках, но в линуксе он в ядре и хорошая скорость в т.ч. из-за этого т.к. не нужно переключать контекст в юзерспейс как с OpenVPN.
И из того факта что он в ядре уже вытекает что работа идёт через многопоточные kworker.
А в Роутерос он вполне может оказаться в юзерспейсе...
Вы абсолютно правы, это как раз одна из интересных "фишек". Т.к. OpenVPN в mikrotik действительно работает крайне странно и, похоже, использует аппаратное ускорение с определенными типами шифрования, которое довольно медленное. Хотя, должно быть наоборот.
Но есть еще один нюанс, чтобы в mikrotik использовать всю мощь процессора необходимо выключать fasttrack
в IP -> Firewall
. Если конечно, он уже не отключен.
Без этих изменений WireGuard работает еще хуже чем OpenVPN. А с отключенным fasstrack
скорость передачи через WireGuard очень высокая, но и нагрузка на процессор тоже.
Могу посоветовать не отключать fasttrack полностью, а добавить в нём ограничения на интерфейс и routing mark (или иным способом исключить пакеты, уходящие в vpn) — тогда работа основной сети не будет задействовать процессор, что освободит порядочно ресурсов.
/ip/firewall/filter/add chain=forward action=fasttrack-connection
живу с этим правилом уже много лет и все прекрасно работает. поэтому, думаю, не нужно указывать конкретные интерфейсы и метить пакеты
Для соединения точка-точка (как выше написано железные маршрутизаторы) может проще и с аппаратной разгрузкой IPIP с IPSEC ?
Конечно, возможен и такой вариант, и он вполне хорошо работает. Из плюсов, используя как раз аппаратное ускорение. Но там есть определенные недостатки в шифровании и, кмк, настройка будет несколько сложнее, особенно для новичков.
В настройке IPIP одна галка использовать IPSEC и ввести пароль - всё готово. Политики микротик создаст сам.
Можно и так. Но как я читал в других источниках, на текущий момент это не совсем безопасно, т.к. существуют MitM-атаки по типу Evil clones, которые вполне просто реализуемы и в таком случае IPsec требует дополнительной и довольно сложной настройки безопасности.
Роман Козлов тестировал, wireguard быстрее, если уж на то пошло. А уж без аппаратной поддержки разница совсем неприличная выходит. Ну, минусы тоже очевидны, универсальных решений не бывает.
@empenosohttps://help.mikrotik.com/docs/display/ROS/ZeroTier тут официальная дока по зеротир, не уверен что это то же что Zerotier One, но фича если не готова - то в разработке и в течение какого-то времени появится.
Отдельно для mikrotik есть недостаток в том, что для каждой подсети нужно настраивать маршруты. Для win-клиентов они определяются и задаются исходя из AllowedAddress.
Это не недостаток. Эта фича позволяет:
Создать несколько Wireguard туннелей типа Site2site и использовать динамическую маршрутизацию (ospf) в этих туннелях. На основе только AllowedIPs невозможно построить несколько site2site без NAT и с ospf.
Гранулированно управлять трафиком, например через маркировку трафика и Policy Based Routing.
Для Windows это допустимое упрощение в случае, если Windows является конечным узлом, а не роутером.
Всё бы хорошо, но мой микротик уходит в бутлуп при обновлении до последней версии :(
Пришлось познать всё прелести прошивки микротика через tftp
А точно обновление железки в текущих условиях- это хорошая идея?
Спасибо за статью, но вот по самой настройке wireguard статей в интернете не мало. Сдейте лучше статью где допустим есть главный офис с микротиком, на котором поднят 1 сервер wireguard, к нему подключаются филиалы. А вот вся маршрутизация между всеми точками должна быть через OSPF.
Ctrl-F -> "fast track", "fasttrack", ничего не нашлось - статью в помойку.
Пользователи, поднявшие wg0 по вашему мануалу поверх quick setup будут ходить и знатно удивляться, почему у них интерфейс <100kbps выдаёт.
(tldr - нужно исключить wg0 из правила fasttrack, чтобы wg работал).
Настройка WireGuard на Mikrotik