diff --git a/frontend/src/MikrotikTools.jsx b/frontend/src/MikrotikTools.jsx
index 55f063d..60f7b8d 100644
--- a/frontend/src/MikrotikTools.jsx
+++ b/frontend/src/MikrotikTools.jsx
@@ -199,6 +199,16 @@ function MikrotikTools() {
[jumphostServers, serverId]
);
+ const gatewaysForServer = useMemo(() => {
+ if (!serverId || !gateways.length) return [];
+ const ids = currentServer
+ ? new Set(
+ [serverId, currentServer.id, currentServer.ip, currentServer.dns].filter(Boolean).map(String)
+ )
+ : new Set([String(serverId)]);
+ return gateways.filter((g) => g && g.ip && ids.has(String(g.serverId)));
+ }, [serverId, currentServer, gateways]);
+
const currentServerLabel =
currentServer?.dns || currentServer?.ip || makeServerId(currentServer || {}) || 'Не выбран';
@@ -304,58 +314,143 @@ function MikrotikTools() {
- {/* Горизонтальная панель: режим (Traceroute/Ping) + основное действие — по образцу Tabler "page-header" с btn-list */}
-
-
-
-
-
-
-
-
-
-
-
-
+ {/* Шлюз и параметры проверки — только когда выбран сервер, в том же стиле что и блок серверов */}
+ {serverId && (
+ <>
+ {/* Выбор gateway в стиле карточек серверов */}
+
+
+
Шлюз (gateway)
+
+ {gatewaysForServer.length > 0
+ ? 'Выберите шлюз для привязки проверки (опционально). Можно искать по IP или интерфейсу ниже.'
+ : 'Нет настроенных шлюзов для этого сервера. Проверка пойдёт без привязки к gateway.'}
+