Задать вопрос

Соединил две сети с помощью WG, как настроить маршрутизацию в локальную сеть в обе стороны?

Всем добрый день.
Имеется две сети в разных городах. В одной стоит OPNsense-Роутер, во второй OpenWRT.
На Opnsense поднят WG, всё работает, но маршрутизация работает только в одну сторону.
С OpenWRT и его локалки пингуются локальные ресурсы, например 10.0.0.200, а вот с Opnsense к локальным ресурсам доступа нет, например 192.168.10.1. Подозреваю, что косяк в настройках OpenWRT, так как маршрут настроен и обрывается на роутере, не уходя в другой интерфейс.
Трассировка из сети OPNsense:
Трассировка маршрута к 192.168.10.1 с максимальным числом прыжков 30
  1    <1 мс    <1 мс    <1 мс  10.0.0.10
  2     *        *        *     Превышен интервал ожидания для запроса.
  3     *        *        *     Превышен интервал ожидания для запроса.

Трассировка маршрута к 10.100.0.2 с максимальным числом прыжков 30
  1    <1 мс    <1 мс    <1 мс  10.0.0.10
  2    35 ms    35 ms    35 ms  10.100.0.2

Трассировка из сети OpenWRT:
traceroute to 10.0.0.200 (10.0.0.200), 20 hops max, 46 byte packets
 1  10.100.0.1  34.017 ms
 2  10.0.0.200  33.839 ms


Схема сети:
66b9008c2fda1518511720.png
Настройки OpenWRT:
66b9038e4f4fe091106493.png
66b90396ab196842213798.png
Настройки OPNsense:
66b903b2d73fb120296817.png

UPD:
Я понял в какую сторону копать, оказывается, адреса, которые подключены в сам роутер OpenWRT (проводом) у меня пингует, а вот те, которые находится в той же сети -- нет, хотя маршрут прописан. Сам роутер их видит, а через туннель -- уже нет. OpenWRT работает без WAN просто подключен локальными портами с адресом локальной сети, как на схеме.

Маршруты:
66b9347e25f4a776660157.png

UPD2:
Попробовал убрать гейты, сперва обрадовался, что пинг пошёл, а потом понял, что пинг этот при любом адресе в сети 192.168.10.0/24 пингует сам роутер
66b93a429bcde685721906.png
  • Вопрос задан
  • 4234 просмотра
Подписаться 4 Средний 11 комментариев
Пригласить эксперта
Ответы на вопрос 7
@RomanKu
Не знаком с этими системами, но общие правила следующие
  1. На 10.0.0.10/24 прописываем статический маршрут подсети 192.168.10.254/24 через шлюз 10.110.0.2
  2. На 192.168.10.254/24 прописываем статический маршрут подсети 10.0.0.10/24 через шлюз 10.110.0.1 - вот тут у вас, скорее всего проблема, т.к. комп с IP 192.168.10.10 при попытке достучаться на 10.0.0.200 пойдет в дефолтный роутер 192.168.10.1 а он ничего не знает по соседнюю сеть, соответственно, надо на роутере 192168.10.1 для сети 10.0 и 10.100 прописать next-hoop в лице 192.168.10.254, в теории, можно на роутере 192.168.10.1 в dhcp прописать отдачу статических маршрутов, у меня дома это нормально работает.
  3. Отключить везде маскарадинг и оставить только маршрутизацию (на 10.0.0.10 и 192.168.0.254)
  4. На фаерволах открыть правило forward = allow для того, чтобы ходил трафик между сетями (на 10.0.0.10 и 192.168.0.254)


У вас проходит Трассировка из сети OpenWRT это не из сети 192.168.0.0/24 а с самого OpenWRT устройстава 192.168.10.254?
  • Если да, то это работает потому, что пинг идет не из сети 192.168, а из сети 10.100, соответственно, роутер знает, что сеть 10.0.0.0/24 доступна через 10.100.0.1 и отправляет туда пакет, с адреса 10.100.0.2, хост 10.0.0.200 получает пакет и отвечает на адрес 10.100.0.2, но он его или отправлять опять на свой дефолтный роутер 10.0.0.1, что неправильно, или же у вас дефолтным является 10.0.0.10 и тогда работает, но я встречался с ситуацией, когда даже при дефолтном 10.0.0.1 хост 10.0.0.200 прописывал у себя маршрут в сеть 10.110.0.0/24 через 10.0.0.10
    В Linux можно посмотреть командой `ip route`
  • Если нет, то все равно смотреть маршруты

В общем, смысл в том, что
1. Самое простое, если у вас на дефолтном роутере в сети есть VPN и он соединяет сети между собой и маршрутизирует трафик
2. Если VPN не на дефолтном роутере, то ваши сети локальные должны понимать, что в соседнюю сеть надо ходить не через дефолтный роутер а через отдельный хост в сети

Во втором случае, можно реализовать одним из следующих способов (причем, с обоих концов, т.е. ответ на пинг тоже надо смаршрутизировать, я прописываю только со стороны OpenWRT):
  1. На хосте в сети прописать что-то типа route add -net 10.0.0.0/24 gw 192.168.10.254 - это самое простое, что можно сделать для того, чтобы убедиться, что это работает
  2. На роутере 192.168.0.1 в маршрутизацию 10.0.0.0/24 через next-hoop 192.168.10.254
  3. На роутере в для dhcp сервера добавить опции 121 и 249 с зашитым маршрутом


Еще в UPD и UPD2 у Вас Одинаковый target, что странно
Ответ написан
Комментировать
@Gremlin_groj
У самого подобная проблема но только на облачных микротиках. L2tp/ipsec работает, а вот по wg пакеты в никуда даже в прямом направлении
Ответ написан
Комментировать
@v0rdych
А openwrt случайно не делает nat при прохождении трафика через wg интерфейс? Тогда понятно, что пинговаться не будет.
Ответ написан
Комментировать
@otlejal
Если клиент в другой стране, то это блок от ркмндзр. Ищите более изящный впн или маскируйте трафик.
Ответ написан
@andreysam
Если пингуется с одной стороны, то маршруты верные. Нужно смотреть в сторону фаервола на стороне куда не пингует
Ответ написан
@fastboot
кста, автор на букву "Д" не указал своего провайдера и его NAT сеть :(
66bb751d0221a363595702.png
66bb7596b0d75062654407.png
66bb75b818182755552110.png
66bb773d3ed44683152971.png

а вот за 10 подсеть тебе по рукам нужна дать... и советчикам которые говорят что если с одной стороны работает то с другой должно... никому оно не должно... если ваша сеть откликается у провайдера "псевдо NAT" то и провайдерская NAT ответит "не доступен"

66bb781d650e4906865816.png

вот и ответ...

OpenWRT я вроде не трогал штатный FW
pfSense трогал интерфейс WG как 100.64.9.0/24 и в роутах прописал подсеть которая мне нужна и обращение к OpenWRT WG if
Может быть нужно будет трогать NAT Outbound... и WRT требует перезапуск интерфейса... были проблемы какие не помню :) но перезапуск творит чудеса))
Ответ написан
@Voha888
Я на клиенте за Openwrt запускал Wireshark и ставил фильтр icmp, тут наверное врятли такие примитивные советы нужны, но мне помогло)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы