Я не могу установить VPN-соединение между экземпляром AWS EC2 и общедоступным облаком OVH.
В /var/журнал/системный журнал
ошибок нет, просто немного информации о WG-быстро
такие операции, как добавление маршрутизации и т. д.
Экземпляр AWS EC2:
ОПЕРАЦИОННЫЕ СИСТЕМЫ: Убунту 20.04.2 ЛТС
Внутренний IP-адрес: напр. 10.0.22.22/16
энс4
Общедоступный IP-адрес: напр. 123.123.123.123/32
общедоступный интерфейс авс
Порт 12345/удп
и 12345/TCP
открыт через Группа безопасности
Конфигурация:
/etc/wireguard/wg0.conf
:
[Интерфейс]
Адрес = 10.10.0.1/24
Сохранение конфигурации = ложь
PrivateKey = <aws-закрытый ключ>
Порт прослушивания = 12345
PostUp = iptables -A FORWARD -i %i -j ПРИНЯТЬ; iptables -A FORWARD -o %i -j ПРИНЯТЬ; iptables -t nat -A POSTROUTING -o ens4 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ПРИНЯТЬ; iptables -D FORWARD -o %i -j ПРИНЯТЬ; iptables -t nat -D POSTROUTING -o ens4 -j MASQUERADE;
[Вглядеться]
PublicKey = <ovh-открытый-ключ>
Разрешенные IP-адреса = 10.10.0.2/24, 192.168.10.0/16
Конечная точка = 321.321.321.321:12345
Экземпляр общедоступного облака OVH:
ОПЕРАЦИОННЫЕ СИСТЕМЫ: Убунту 21.04
Внутренний IP-адрес: напр. 192.168.10.100/16
enp0s2
Общедоступный IP-адрес: напр. 321.321.321.321/32
enp0s1
Порт 12345/удп
и 12345/TCP
открыт через уфв
Конфигурация:
/etc/wireguard/wg0.conf
:
[Интерфейс]
Адрес = 10.10.0.2/24
Сохранение конфигурации = ложь
PrivateKey = <ovh-закрытый ключ>
Порт прослушивания = 12345
PostUp = iptables -A FORWARD -i %i -j ПРИНЯТЬ; iptables -A FORWARD -o %i -j ПРИНЯТЬ; iptables -t nat -A POSTROUTING -o enp0s1 -j MASQUERADE;
PostDown = iptables -D FORWARD -i %i -j ПРИНЯТЬ; iptables -D FORWARD -o %i -j ПРИНЯТЬ; iptables -t nat -D POSTROUTING -o enp0s1 -j MASQUERADE;
[Вглядеться]
PublicKey = <открытый-ключ aws>
Разрешенные IP-адреса = 10.10.0.1/24, 10.0.0.0/16
Конечная точка = 123.123.123.123:12345
Оба экземпляра:
сеть.ipv4.ip_forward=1
в /etc/sysctl.conf
- команда:
wg-быстро /etc/wireguard/wg0.conf
- оба работают и создали
WG0
интерфейсы с IP-адресами из WG0.conf
Резюме:
завиток
чтобы приложение прослушивало открытый порт 80/TCP
не работает в обе стороны.
Я что-то пропустил? Как я могу отладить это? Прочитал несколько статей, но так и не понял.
ОБНОВИТЬ:
Связь работает после модификации /etc/wireguard/wg0.conf
:
от Разрешенные IP-адреса = 10.10.0.x/24, (...)
к Разрешенные IP-адреса = 10.10.0.x/32, (...)
как предложил @Tom Yan.
Но я борюсь с маршрутизацией.
Вот как это выглядит с эхо-запросами на другие серверы, которые находятся в тех же сетях, что и VPN-серверы.
В АМС Я добавил в таблицу маршрутизации правило:
192.168.10.0/16
с помощью AWS-VPN-интерфейс
В OVH-какой-то экземпляр я побежал:
IP-маршрут добавить 10.0.0.0/16 через 192.168.10.100 dev eno4
Итог пинга:
OVH-VPN -> AWS-VPN OK
OVH-VPN -> Тайм-аут AWS-некоторого экземпляра
OVH-некоторый экземпляр -> AWS-VPN OK
OVH-некоторый-экземпляр -> Тайм-аут AWS-некоторого-экземпляра
AWS-VPN -> OVH-VPN ОК
AWS-VPN -> OVH-некоторый экземпляр OK
AWS-некоторый экземпляр -> тайм-аут OVH-VPN
AWS-некоторый-экземпляр -> тайм-аут OVH-некоторого-экземпляра
В логах вижу только информацию:
$: dmesg -wH
[20 июля, 13:40] wireguard: wg0: получение пакета подтверждения активности от узла 5 (123.123.123.123:12345)
IPTables и маршрутизация
AWS-VPN:
$: iptables-сохранить
-P ВВОД ПРИНЯТЬ
-P ВПЕРЕД ПРИНЯТЬ
-P ВЫВОД ПРИНЯТЬ
-A ВПЕРЕД -i wg0 -j ПРИНЯТЬ
-A ВПЕРЕД -o wg0 -j ПРИНЯТЬ
$: IP-маршрут
по умолчанию через 10.0.22.1 dev ens4 proto dhcp src 10.0.22.22 метрика 100
10.0.22.0/19 dev ens4 ссылка на область ядра proto src 10.0.22.22
10.0.22.1 dev ens4 proto dhcp scope link src 10.0.22.22 метрика 100
10.10.0.2 ссылка на область dev wg0
Ссылка на область действия 192.168.10.0/16 dev wg0
### Правила панели консоли AWS для сервера AWS-VPN
Пользовательский TCP TCP 12345 321.321.321.321/32
Пользовательский UDP UDP 12345 321.321.321.321/32
Весь трафик Все Все 321.321.321.321/32
Весь трафик Все Все 10.0.0.0/16
Весь трафик Все Все 192.168.10.0/16
Весь трафик Все Все 10.10.0.2/32
ОВХ-VPN:
$: iptables-сохранить
*фильтр
:ВВОД ПРИНЯТЬ [26612:55893110]
:ВПЕРЕД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТ [34036:3715836]
-A ВПЕРЕД -i wg0 -j ПРИНЯТЬ
-A ВПЕРЕД -o wg0 -j ПРИНЯТЬ
СОВЕРШИТЬ
*натуральный
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [0:0]
:ВВОД ПРИНЯТЬ [0:0]
: ВЫВОД ПРИНЯТЬ [0:0]
:ОТПРАВКА ПРИНЯТИЯ [69:5450]
-A РАЗМЕЩЕНИЕ -o enp0s1 -j МАСКАРАД
СОВЕРШИТЬ
$: IP-маршрут
по умолчанию через 321.321.321.1 dev enp0s1 proto dhcp src 321.321.321.321 метрика 100
Ссылка на область действия 10.0.0.0/16 dev wg0
321.321.321.1 dev enp0s2 proto dhcp scope link src 321.321.321.321 метрика 100
169.254.169.254 через 192.168.10.2 dev enp0s2 proto dhcp src 192.168.10.100 метрика 100
Ссылка на область действия 10.10.0.1 dev wg0
192.168.10.0/16 dev enp0s2 ссылка на область ядра proto src 192.168.10.100
$: firewall-cmd --list-all-zones
# я удалил пустые строки
внутренний (активный)
цель: по умолчанию
icmp-инверсия блока: нет
интерфейсы:
источники: 10.0.0.0/16 10.10.0.1/32 123.123.123.123/32
службы: dhcpv6-клиент mdns ssh
порты: 12345/tcp 12345/udp
публичный (активный)
цель: по умолчанию
icmp-инверсия блока: нет
интерфейсы:
источники: 123.123.123.123/32
службы: dhcpv6-клиент ssh
порты: 12345/tcp 12345/udp
Что еще я должен сделать, чтобы заставить его работать?