Имея такую схему сети 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 проблемы, которые складывались друг в друга, что мешало мне найти решение ранее:
Вот что у меня было / вам понадобится: Для обоих
/usr/local/etc/tinc/example
как шаблон, если хотитеКвантовый
Ракета
Проблема с этим / fooled me: когда вы перезапускаете tincd, интерфейс tinc0 теряет свой IP, и маршрут удаляется автоматически, запуск tincd не будет их читать. Либо вам нужно opnsense, чтобы принудительно применить их повторно, перезагрузить сервер или, скорее всего, но эти маршруты в тин-ап. Тем не менее, поиск идеального решения для этого я не закончил, но, возможно, это также выходит за рамки этого вопроса.
Когда вы запустили tincd и после этого установили Route, все должно работать.
Я вообще-то поставил Subnet 10.0.6.0 / 24, а не 10.1.6.0/24 в файле rocket hosts / rocket - это блокировало пакеты на уровне tinc
ОБНОВЛЕНИЕ 1
Наконец, я также решил проблему сбоя / очевидной установки для 1. Что вам нужно, так это
s dynamic. This way the route is created to be
10.1.6.0/24 tinc0`, а не на ip 172.16.0.5 .. таким образом, когда вы завершаете tincd и tinc0 теряет свой ip, этот маршрут не удаляется, поскольку tinc0 все еще там. Таким образом, это сохраняется после перезапуска tincd или аналогичного.Я объединю это в свой ответ позже, чтобы люди поняли проблему / рабочий процесс.