Проблема настройки VPN тоннеля между сервером и клиентом
Доброго времени суток. Слезно прошу помочь, прошла уже неделя как я пытаюсь настроить VPN, но совершенно не хвтает знаний.
Не получается настроить тоннель между клиентом и сервером. Сервер (10.8.0.1) - это одноплатник orange pi4 (192.168.1.204) на armbian, находящийся за роутером с openwrt(192.168.1.1). Для создания VPN тоннеля используется wireguard. Ip-динамический, пока что, для временного создания тоннеля, т.е. я всегда могу узнать внешний ip и вбить в конфигурацию клиента(10.8.0.2).
Вот что выдает ip show route на стороне сервера:
root@orangepi4:~# ip route show
default via 192.168.1.1 dev eth0 proto dhcp metric 100
10.8.0.0/24 dev wg0 proto kernel scope link src 10.8.0.1
169.254.0.0/16 dev wg0 scope link metric 1000
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.204 metric 100
За неимением возможности соединиться с клиентом, сервер(wg0) создает соединение по 169.254.0.0/16 по который, наверное, предназначен для настройки. Возможно это связано с настройками брандмауэра сервера, то ли брандмауэра роутера или еще из-за чего я не понимаю. Вот конфигурация сервера:
[Interface]
Address = 10.8.0.1/24
SaveConfig = true
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t>
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables >
ListenPort = 51820
PrivateKey = приватный ключ сервера
[Peer]
PublicKey = публичный ключ клиента (ноутбук)
AllowedIPs = 10.8.0.2/32
[Peer]
PublicKey = публичный ключ клиента (телефон)
AllowedIPs = 10.8.0.7/32
Вот настройка конфигурации клиента:
[Interface]
Address = 10.8.0.2/32
PrivateKey = приватный ключ клиента
DNS = 8.8.8.8
[Peer]
PublicKey = публичный ключ сервера
Endpoint = внешний ip сервера:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
Вот что выдает ping 10.8.0.2 со стороны сервера:
root@orangepi4:~# ping 10.8.0.2
PING 10.8.0.2 (10.8.0.2) 56(84) bytes of data.
From 10.8.0.1 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Destination address required
From 10.8.0.1 icmp_seq=2 Destination Host Unreachable
ping: sendmsg: Destination address required
From 10.8.0.1 icmp_seq=3 Destination Host Unreachable
ping: sendmsg: Destination address required
From 10.8.0.1 icmp_seq=4 Destination Host Unreachable
ping: sendmsg: Destination address required
^C
--- 10.8.0.2 ping statistics ---
4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3056ms
Настройки iptables со стороны сервера:
root@orangepi4:~# iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
root@orangepi4:~# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target prot opt source destination
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
MASQUERADE all -- 0.0.0.0/0 0.0.0.0/0
Вот статус включенного wireguard со стороны сервера:
root@orangepi4:~# systemctl status wg-quick@wg0
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2020-11-26 22:37:02 +05; 1min 54s ago
Docs: man:wg-quick(8)
man:wg(8)
https://www.wireguard.com/
https://www.wireguard.com/quickstart/
https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
Process: 11107 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)
Main PID: 11107 (code=exited, status=0/SUCCESS)
ноя 26 22:37:02 orangepi4 systemd[1]: Starting WireGuard via wg-quick(8) for wg0...
ноя 26 22:37:02 orangepi4 wg-quick[11107]: [#] ip link add wg0 type wireguard
ноя 26 22:37:02 orangepi4 wg-quick[11107]: [#] wg setconf wg0 /dev/fd/63
ноя 26 22:37:02 orangepi4 wg-quick[11107]: [#] ip -4 address add 10.8.0.1/24 dev wg0
ноя 26 22:37:02 orangepi4 wg-quick[11107]: [#] ip link set mtu 1420 up dev wg0
ноя 26 22:37:02 orangepi4 wg-quick[11107]: [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
ноя 26 22:37:02 orangepi4 systemd[1]: Finished WireGuard via wg-quick(8) for wg0.
Вот ip a со стороны сервера:
root@orangepi4:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether ce:6a:f5:32:ef:39 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.204/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
valid_lft 34998sec preferred_lft 34998sec
inet6 fdf3:ecea:788b:0:17fb:56ea:3052:e0af/64 scope global temporary dynamic
valid_lft 603245sec preferred_lft 84703sec
inet6 fdf3:ecea:788b::723/128 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fdf3:ecea:788b:0:d519:b866:17a6:dcfe/64 scope global temporary deprecated dynamic
valid_lft 516988sec preferred_lft 0sec
inet6 fdf3:ecea:788b:0:db93:657b:a807:7d01/64 scope global mngtmpaddr noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::85c0:7e26:b1bf:8d62/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether b0:02:47:bc:6e:51 brd ff:ff:ff:ff:ff:ff
19: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet 10.8.0.1/24 scope global wg0
valid_lft forever preferred_lft forever