Назад | Перейти на главную страницу

Тинк на OPNsense

Имея такую ​​схему сети https://imgur.com/rhLepAU Я могу заставить его работать, используя mode = switch с tinc, но не используя mode = routed

Это детали сети

О квантовой это маршруты / config (подсказка, внешний IP-адрес был обфусцирован до 1.1.1.1)

netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            1.1.1.1     UGS      vtnet0
8.8.8.8            1.1.1.1     UGHS     vtnet0
10.1.5.0/24        link#2             U        vtnet1
10.1.5.1           link#2             UHS         lo0
10.1.6.0/24        tinc0              US        tinc0
127.0.0.1          link#4             UH          lo0
172.16.0.0/24      link#7             U         tinc0
172.16.0.5         link#7             UHS         lo0
1.1.1.0/29  link#1             U        vtnet0
1.1.1.1     link#1             UHS         lo0


ifconfig vtnet1 | grep inet
    inet 10.1.5.1 netmask 0xffffff00 broadcast 10.1.5.255

ifconfig tinc0 | grep inet
    inet 172.16.0.5 netmask 0xffffff00 broadcast 172.16.0.255

с этой записью хоста tinc

Address=1.1.1.1 655
Subnet=10.1.5.0/24
Cipher=aes-256-cbc
Digest=sha256
-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----

на ракете (подсказка, внешний IP-адрес был обфусцирован до 2.2.2.2)

netstat -rn4
Routing tables

Internet:
Destination        Gateway            Flags     Netif Expire
default            2.2.2.2      UGS      vtnet0
8.8.8.8            2.2.2.2      UGHS     vtnet0
10.1.5.0/24        tinc0              US        tinc0
10.1.6.0/24        link#2             U        vtnet1
10.1.6.1           link#2             UHS         lo0
2.2.2.0/29   link#1             U        vtnet0
2.2.2.2      link#1             UHS         lo0
127.0.0.1          link#4             UH          lo0
172.16.0.0/24      link#7             U         tinc0
172.16.0.6         link#7             UHS         lo0

ifconfig vtnet1 | grep inet
    inet 10.1.6.1 netmask 0xffffff00 broadcast 10.1.6.255

ifconfig tinc0 | grep inet
    inet 172.16.0.6 netmask 0xffffff00 broadcast 172.16.0.255

с этой записью хоста tinc

Address=2.2.2.2 655
Subnet=10.1.6.0/24
Cipher=aes-256-cbc
Digest=sha256
-----BEGIN RSA PUBLIC KEY-----
...
-----END RSA PUBLIC KEY-----

Дальнейшие подробности

При выполнении ping -S 10.1.5.1 10.1.6.1 от кванта до ракеты, я вижу на FW, что пакет ICMP проходит брандмауэр, но никогда не достигает ракеты, блока или прохода.

Вопрос

Что не так с моей настройкой, почему mode = routed не работает?

После того, как я некоторое время обдумывал это, я обнаружил 2 проблемы, которые складывались друг в друга, что мешало мне найти решение ранее:

1. Это действительно полезная вещь

Вот что у меня было / вам понадобится: Для обоих

  • Установить https://github.com/EugenMayer/tinc-opnsenseсм. README, чтобы узнать больше
  • Следуйте инструкциям по созданию сети, используйте /usr/local/etc/tinc/example как шаблон, если хотите

Квантовый

  • Вам необходимо создать Gateway Rocket, который настроен на прохождение tinc0 с «динамическим» (не вводите IP в поле шлюза, см. Проблему ниже и ОБНОВЛЕНИЕ)
  • Вам нужен Рут до 10.1.6.0/24 через TINCGW
  • Добавьте свой интерфейс tinc0 в раздел Интерфейс, назовите его TINCLAN. Вы можете настроить адрес ipv4 или нет, не имеет значения. Если да, то используйте настроенный адрес tinc-up. Это позволило вам создать правила FW для TINCLAN, которые нам понадобятся. Подсказка: интерфейс был создан как tinc0, а не как tun0, поскольку в противном случае вы не смогли бы добавить его в opnsense, так как все tun * отфильтрованы (устаревшая ошибка)
  • ПРАВИЛО FW, позволяющее TINCLAN 2 TINCLAN
  • ПРАВИЛО FW для выделения TINCLAN 2 LAN (Lan - 10.1.5.0/24)

Ракета

  • Вам необходимо создать Gateway Rocket, который настроен на прохождение tinc0 с «динамическим» (не вводите IP в поле шлюза, проблема ниже и ОБНОВЛЕНИЕ)
  • Вам нужен Рут к 10.1.5.0/24 через TINCGW
  • Добавьте свой интерфейс tinc0 в раздел Интерфейс, назовите его TINCLAN. См. Квант выше
  • ПРАВИЛО FW "dest TINCLAN" на вкладке TINCLAN, чтобы разрешить TINCLAN 2 TINCLAN
  • ПРАВИЛО FW "dest LAN" на вкладке TINCLAN, чтобы разрешить TINCLAN 2 LAN (Lan - 10.1.6.0/24)

Проблема с этим / fooled me: когда вы перезапускаете tincd, интерфейс tinc0 теряет свой IP, и маршрут удаляется автоматически, запуск tincd не будет их читать. Либо вам нужно opnsense, чтобы принудительно применить их повторно, перезагрузить сервер или, скорее всего, но эти маршруты в тин-ап. Тем не менее, поиск идеального решения для этого я не закончил, но, возможно, это также выходит за рамки этого вопроса.

Когда вы запустили tincd и после этого установили Route, все должно работать.

2. Опечатка, неважно (тупой второй выпуск, но преподала мне урок)

Я вообще-то поставил Subnet 10.0.6.0 / 24, а не 10.1.6.0/24 в файле rocket hosts / rocket - это блокировало пакеты на уровне tinc

ОБНОВЛЕНИЕ 1

Наконец, я также решил проблему сбоя / очевидной установки для 1. Что вам нужно, так это

  • При создании шлюза TINCGW не вводите IP-адрес шлюза в поле «Шлюз» - такs dynamic. This way the route is created to be10.1.6.0/24 tinc0`, а не на ip 172.16.0.5 .. таким образом, когда вы завершаете tincd и tinc0 теряет свой ip, этот маршрут не удаляется, поскольку tinc0 все еще там. Таким образом, это сохраняется после перезапуска tincd или аналогичного.

Я объединю это в свой ответ позже, чтобы люди поняли проблему / рабочий процесс.