37

Wireguard, Keenetic и объединение сетей

Сделал вчера наверно пятую за последние три года попытку донастроить свою сеть. Маленькая сеточка из 4 подсетей, топология звезда, построена на Keenetic и wireguard. За выбор оборудования не ругать - сеть домашняя) А вообще - кинетики вполне рулят: настройка простая, работают быстро, с надежностью проблем тоже еще не было. А c появлением wireguard так вообще стало всё замечательно - можно за минуту, например, настроить выход в инет любого устройства из любой подсети через любой роутер. Полезная фича в наш век блокировок.

Вернее - почти любого через почти любой) Об этом и пойдет речь

Итак, условия задачи: есть сеть С (от слова Central, 10.220.60.0/24), в ней находится роутер Keenetic Giant - центральный узел нашей большой сети. Белый ip, резервный канал, все дела. Есть сети L и R (Left 10.220.14.0/24 и Right 10.220.19.0/24). Тоже кинетики, но попроще, и тоннели wireguard до сети C. Всё работает отлично, с любого устройства в сетях L и R можно зайти на любое устройство в сети C, а с любого устройства сети C - вообще на любое устройство всей нашей сети. Но вот из сети L в R, и наоборот - нельзя.

Сначала грешил на косяки маршрутизации, сетевого экрана, на гребанный ip_forward... Но вчера стал копать в направлении политик доступа, анализировать конфиг... В общем - залез достаточно глубоко, и вот что получается:

Чисто теоретически работать это всё должно без особых проблем

Из статьи "Настройка правил межсетевого экрана из командного интерфейса" с сайта кинетика

Из статьи "Настройка правил межсетевого экрана из командного интерфейса" с сайта кинетика

Нужно только сделать наши сети L и R приватными, на роутере C командой

interface <имя интерфейса> security-level private

Имена интерфейсов, а также их свойства смотрим командой show interface. Да, чтобы добраться до CLI - просто в адресной строке браузера допишите /a к ip адресу роутера.

Затем, руководствуясь этим "доступ закрыт, но может быть разрешен", делаем

no isolate-private

Казалось бы всё, должно работать! Но нееет))) Роем дальше, командой show ip nat в таблице маршрутизации видим, что кинетик C делает с пакета на входящем интерфейсе с сетей L и R SNAT, т.е. подменяет исходный адрес адресом интерфейса wireguard

Роемся в документации, делаем на роутере C

no ip nat <имя интерфейса>

Казалось бы теперь точно всё! Но снова нет. show ip nat говорит нам, что nat на интерфейсах сетей L и R по-прежнему включен! Соответственно, передачи пакетов между сетями L и R нет

Копаем дальше, находим пару интересных обсуждений про работу ip nat и ip static, в которых уже лет как 10 поднимается этот вопрос к инженерам кинетика... Суть следующая: если на роутер приходит пакет, адрес назначения находится вне известных кинетику приватных сетей, то он делает SNAT независимо от того, установлен или ip nat для исходного интерфейса или нет. И удалить эту конфигурационную запись вроде нельзя. Или можно? Точного ответа пока не нашел(

В общем - несмотря на то, что подсеть L и подсеть R прописаны в таблице статической маршрутизации роутера C, прописаны в настройках wireguard - для целей nat роутер считает эти сети неизвестными публичными (ну правильно, адрес интерфейса wireguard 10.220.100.1, а сеть за ним - 10.220.19.0/24) В итоге ip форвардинг не пашет.

Внимание, вопрос: кто-то сумел настроить сеть в такой конфигурации на кинетиках? Смену оборудования просьба не предлагать)

Разберусь сам - естественно напишу решение. Но как всегда хочется немного упростить задачу)))

Решение: всего час, и от пользователя stranneek получен совет, решивший проблему: на роутерах L и R нужно прописать в маршруты не только удаленные сети, но и подсети туннелей wireguard, ведущие к удаленным подсетям. Т.е. Не только 10.220.14.0/24, но и 10.220.100.0/24, в которой находятся два интерфейса wireguard 10.220.100.1 (на роутере C) и 10.220.100.2 (на роутере удаленной подсети). Спасибо огромное! Думаю, эта инфа кому-нибудь да сэкономит несколько часов)

З.Ы. Проверил - эти подсети должны быть и в настройках тоннеля wireguard, и в маршрутах. Всё со стороны удаленных сетей, в центре ничего прописывать не нужно

З.З.Ы. Да, все эти security-level и no isolate-private тоже не нужны. Достаточно в межсетевом экране на всех роутерах открыть нужные протоколы/порты на всех wireguard интерфейсах)

З.З.З.Ы. Еще полчаса экспериментов показали, что связь начинает работать, когда на роутере в подсети-получателе (т.е. не в той, из которой пингуем, а в той, которую пингуем) прописан маршрут до подсети wireguard отправителя. Ну и тогда вся логика сразу встала на свои места. nat никуда не делся, ip адрес отправителя путем SNAT поменялся на ip интерфейса wireguard, ну а роутер сети-получателя вообще не в курсе, что это за сеть и куда посылать к ней пакеты. И пока не пропишешь эту подсеть в настройках тоннеля и в маршрутизации - ничего не работает. Проверил show ip nat - и НЕТ! Нету этого коннекта в таблице nat на центральном роутере. В общем - полон загадок этот кинетик, но способ сделать полноценную распределенную сетку всё-таки есть)

Лига Сисадминов

2.5K постов19K подписчиков

Правила сообщества

Мы здесь рады любым постам связанным с рабочими буднями специалистов нашей сферы деятельности.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества