<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title>Mikrotik.moscow [тема: BTH BUG просачивается в обычный Wireguard.]</title>
		<link>http://mikrotik.moscow</link>
		<description>Новое в теме BTH BUG просачивается в обычный Wireguard. форума RouterOS на сайте Mikrotik.moscow [mikrotik.moscow]</description>
		<language>ru</language>
		<docs>http://backend.userland.com/rss2</docs>
		<pubDate>Fri, 31 Jul 2026 18:49:52 -0400</pubDate>
		<item>
			<title>BTH BUG просачивается в обычный Wireguard.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393359">BTH BUG просачивается в обычный Wireguard.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Правила маршрутизации не применимы, когда используются динамические IP-адреса. Сейчас я использую DNAT-правило, которое придумал Анав, и оно работает, но это точно баг. <br />
			<i>12.05.2024 15:58:00, Cha0s.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393359</link>
			<guid>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393359</guid>
			<pubDate>Sun, 12 May 2024 15:58:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>BTH BUG просачивается в обычный Wireguard.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393358">BTH BUG просачивается в обычный Wireguard.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Хм, есть два варианта: можно использовать правило dst-nat или использовать маршрутные правила. Маршрутные правила, вроде, более понятные. Но в моём первом сообщении речь шла о MT, который выступает сервером для рукопожатия! Насчёт MT как клиента при рукопожатии не уверен, но если пытаться контролировать, какой WAN использовать — можно представить что-то похожее. Чтобы освежить воспоминания по dst-nat правилу: &nbsp;<br />/ip firewall nat chain=dstnat dst-address-type=local in-interface=WAN2 protocol=udp dst-port=wg-port action=dst-nat to-addresses=ip.of.wan.1 &nbsp;<br />Когда хочешь принимать Wireguard трафик на WAN2, хотя WAN1 — основной. Мы, так сказать, «обманываем» роутер, чтобы он не менял назначение любого Wireguard-трафика, приходящего с WAN1, а отправлял его обратно через WAN2 при выходе. <br />
			<i>12.05.2024 15:07:00, anav.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393358</link>
			<guid>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393358</guid>
			<pubDate>Sun, 12 May 2024 15:07:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>BTH BUG просачивается в обычный Wireguard.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393357">BTH BUG просачивается в обычный Wireguard.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У меня такая же проблема в точно такой же ситуации с двумя WAN и WireGuard на неосновном WAN. <br />
			<i>12.05.2024 10:09:00, Cha0s.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393357</link>
			<guid>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393357</guid>
			<pubDate>Sun, 12 May 2024 10:09:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>BTH BUG просачивается в обычный Wireguard.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393356">BTH BUG просачивается в обычный Wireguard.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			@anav, ты уже сообщил об этом баге? Похоже, что они могут и не исправить... Частично причина, почему WG такой быстрый, в том, что это происходит на уровне ядра, а вот переключение на mangle, скорее всего, скажется на производительности. Но я точно не знаю. В общем, это как раз обратная претензия к @DarkNate из его [Discussion] о сложности абстракции конфигурации MikroTik, где он выступает за большее использование datapaths на уровне ядра вместо правил mangle. «Гибкость» — не проблема, проблема в том, что для обработки данных используется фреймворк Linux Netfilter. (перевод: /ip/firewall/mangle == Linux Netfilter) <br />
			<i>11.05.2024 16:07:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393356</link>
			<guid>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393356</guid>
			<pubDate>Sat, 11 May 2024 16:07:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>BTH BUG просачивается в обычный Wireguard.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393355">BTH BUG просачивается в обычный Wireguard.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Итак, есть два варианта решения: правило dst-nat, указанное выше, или использование правил маршрутизации согласно Rplant. Пока MT не разберётся с этой неразберихой. <br />
			<i>11.05.2024 13:34:00, anav.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393355</link>
			<guid>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393355</guid>
			<pubDate>Sat, 11 May 2024 13:34:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>BTH BUG просачивается в обычный Wireguard.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393354">BTH BUG просачивается в обычный Wireguard.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			Ну, лучше использовать правила маршрутизации, а не mangle. Хотя mangle здесь тоже должен работать, чтобы быть совместимым с RouterOS… но WG, кажется, слишком строго следует тому, как это сделано в ядре Linux, а не в потоке пакетов Mikrotik. <br />
			<i>12.05.2024 13:51:00, Amm0.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393354</link>
			<guid>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393354</guid>
			<pubDate>Sun, 12 May 2024 13:51:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
		<item>
			<title>BTH BUG просачивается в обычный Wireguard.</title>
			<description><![CDATA[<b><a href="http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393353">BTH BUG просачивается в обычный Wireguard.</a></b> <i>RouterOS</i> в форуме <a href="http://mikrotik.moscow/forum/forum57/">RouterOS</a>. <br />
			У меня обычная ситуация, когда WIREGUARD должен работать через WAN2, несмотря на то, что WAN1 — основной маршрут. Пример: AX3 в роли пира (клиент для рукопожатия) и CCR2004 в роли пира (сервер для рукопожатия). Всё легко решается при помощи базового манглинга, таблиц и маршрутизации.<br /><br />/ip mangle &nbsp;<br />add chain=input action=mark-connection connection-mark=no-mark in-interface=WAN2 new-connection-mark=incomingWAN2 passthrough=yes &nbsp;<br />add chain=output action=mark-route connection-mark=incomingWAN2 new-route-mark=useWAN2 passthrough=no<br /><br />/routing-table &nbsp;<br />add fib name=useWAN2<br /><br />/ip route &nbsp;<br />add distance=1 dst-address=0.0.0.0/0 gateway=gw1-IP check-gatway=ping &nbsp;<br />add distance=2 dst-address=0.0.0.0/0 gateway=gw2-IP check-gatway=ping &nbsp;<br />add dst-address=0.0.0.0/0 gateway=gw2-IP routing-table=useWAN2<br /><br />Проблема в том, что хотя туннель вроде бы поднимается, он работает неправильно — доказательство в том, что не получается подключиться к роутеру через winbox. Довольно грубое решение, которое вроде сработало — добавить вот это правило Dstnat, которое, кстати, совершенно неочевидно:<br /><br />/ip firewall nat &nbsp;<br />chain=dstnat dst-address-type=local in-interface=WAN2 protocol=udp dst-port=wg-port action=dst-nat to-addresses=ip.of.wan.1<br /><br />До применения этого правила в трекинге соединений видно, что первый запрос от моего публичного IP идёт на WAN2, но ответ приходит с WAN1… очень странно. Оба такие соединения отмечены как C… (то есть без ответов?) После применения правила с WAN1 к моему wireguard-соединению ответов больше не было, прогресс есть. Трекинг соединений переключался (никогда одновременно) между Cd сейчас и SACd — они появлялись и исчезали…<br /><br />Почему я думаю, что это какая-то ошибка BTH? Потому что на данном пира (сервере для рукопожатия) не стоит keep alive, а значит, почему модуль wireguard связывается и использует WAN1, несмотря на наш манглинг? Почему он активно пытается «достучаться» до wireguard-пира (клиента для рукопожатия)? Логичные объяснения:<br /><br />а) persistent keep alive (не наш случай); &nbsp;<br />б) wireguard пытается отправить какой-то полезный трафик обратно пиру (возможно); &nbsp;<br />в) баг BTH, при котором сервер продолжает пытаться заново установить соединение с клиентом.<br /><br />В случаях б) и в) wireguard пытается подключиться к последнему известному адресу/порту пира, то есть к публичному IP (моему) клиента, но использует для этого основной маршрут роутера — в нашем случае WAN1. Что касается BTH-трафика, это не ответ клиенту, а попытка обновить IP-параметры пира.<br /><br />В итоге модуль wireguard игнорирует адрес назначения для рукопожатия и просто выходит через основной WAN, поскольку это исходящий трафик, а не ответный. Почему правило dst-nat работает — оно творит магию! Оно заставляет все ответы с локального интерфейса выглядеть так, будто это ответы на входящий трафик с удалённого пира, и им ставится connection-mark, после чего они маршрутизируются через WAN2.<br /><br />++++++++++++++++++++++++++++++++++ &nbsp;<br />Описание бага: даже если на обоих концах нет keepalive и полный простой до первого транспортного пакета, отправленного инициализирующим пиром, отвечающий пир шлёт ответ с адреса, выбранного маршрутизацией, а не с того, на который пришёл первый пакет. &nbsp;<br />++++++++++++++++++++++++++++++++++<br /><br />Прошу других попытаться воспроизвести это странное, если не баговое, поведение. Хочу убедиться, что не с ума сошёл, прежде чем обращаться в MT… <br />
			<i>06.04.2024 18:20:00, anav.</i>]]></description>
			<link>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393353</link>
			<guid>http://mikrotik.moscow/forum/forum57/85116-bth-bug-prosachivaetsya-v-obychnyy-wireguard./message393353</guid>
			<pubDate>Sat, 06 Apr 2024 18:20:00 -0400</pubDate>
			<category>RouterOS</category>
		</item>
	</channel>
</rss>
