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

Wireguard - маршрутизация в подсети за vpn-сервером

Я хочу настроить между двумя местоположениями сеть vpn с защитой от проводов. В настоящее время у меня есть рабочее соединение между моим udoo в местоположении a и моим вторым udoo в местоположении b, но я хочу также подключиться к другим серверам через сервер Wireguard, который находится за сетью vpn (192.168.178.0/24). На странице Arch Wiki я кое-что прочитал о маршрутизации с NAT, но это не работает. Поэтому я не знаю, как правильно настроить маршрутизаторы.

Вот некоторая информация о моей сети.

+------------------------------------------------------+--------------------------------------------+-------------+
|                     description                      | lan ip/prefix                              | wan         |
+------------------------------------------------------+--------------------------------------------+-------------+
| Subnet - Location A                                  | 192.168.178.0/24                           |             |
| Subnet - Location B                                  | 192.168.179.0/24                           |             |
| Subnet - VPN                                         | 192.168.180.0/24                           |             |
| fileserver.localtion-a.example.com                   | 192.168.178.100                            |             |
| router.location-a.example.com                        | 192.168.178.13, 192.168.180.1              | 88.47.69.5  |
| router.location-b.example.com                        | 192.168.179.10, 192.168.180.3              | dynamic ip  |
| computer.localtion-b.example.com                     | 192.168.179.20                             |             |
+------------------------------------------------------+--------------------------------------------+-------------+

Я использую systemd-networkd для настройки сетевых интерфейсов во всех системах. Для стендовых систем udoo я определил маршруты. Вот мои интерфейсы systemd-networkd без открытых, закрытых и предварительных ключей.

router.location-a.example.com

/etc/systemd/network/10-wireguard.netdev

[NetDev]
Name = wg0
Kind = wireguard
Description = Wireguard

[WireGuard]
ListenPort = 51820
PrivateKey = <removed>

[WireGuardPeer]
PublicKey = <removed>
PresharedKey = <removed>
AllowedIPs = 192.168.178.0/24, 192.168.179.0/24, 192.168.180.3/24

/etc/systemd/network/10-wireguard.network

[Match]
Name = wg0

[Network]
Address=192.168.180.1/32

[Route]
Gateway=192.168.180.1
Destination=192.168.179.0/24
GatewayOnlink=true

[Route]
Gateway=192.168.180.1
Destination=192.168.180.0/24

router.location-b.example.com

/etc/systemd/network/10-wireguard.netdev

[NetDev]
Name = wg0
Kind = wireguard
Description = Wireguard

[WireGuard]
ListenPort = 51820
PrivateKey = <removed>

[WireGuardPeer]
PublicKey = <removed>
PresharedKey = <removed>
AllowedIPs = 192.168.178.0/24, 192.168.179.0/24, 192.168.180.0/24
Endpoint = 88.47.69.5:51820
PersistentKeepalive = 25

/etc/systemd/network/10-wireguard.network

[Match]
Name=wg0

[Network]
Address=192.168.180.3/32

[Route]
Gateway=192.168.180.1
Destination=192.168.178.0/24
GatewayOnlink=true

[Route]
Gateway=192.168.180.1
Destination=192.168.180.0/24
GatewayOnlink=true

NAT

Чтобы правильно маршрутизировать соединения на 192.168.178.13, я определил новый файл конфигурации на /etc/sysctl.d/99-sysctl.conf со следующим содержанием:

net.ipv4.ip_forward = 1
net.ipv6.conf.default.forwarding = 1
net.ipv6.conf.all.forwarding = 1

Неправильная маршрутизация

Теперь, когда я на своем udoo (router.location-b.example.com) и хочу пропинговать свой файловый сервер (192.168.178.100), я не получаю никаких действий. То же и с traceroute.

$ ping 192.168.178.100
PING 192.168.178.100 (192.168.178.100) 56(84) bytes of data.
^C
--- 192.168.178.100 ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3035ms
$ traceroute 192.168.178.100
traceroute to 192.168.178.100 (192.168.178.100), 30 hops max, 60 byte packets
 1  192.168.180.1 (192.168.180.1)  42.275 ms  41.707 ms  42.814 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  *^C

Но в чем проблема конфигурации?

Волкер