Уважаемое сообщество ServerFault
У меня возникла проблема с общей конфигурацией WireGuard Tunnel.
У меня есть VPS OVH с 4 общедоступными IP-адресами (MY_PUBLIC), выступающий в роли сервера WireGuard и перенаправляющий весь трафик (и порты) на мой маршрутизатор EdgeRouter-X (192.168.255.1) (который действует как клиент WireGuard), и тогда перенаправляет его на мой сервер Debian (192.168.255.10).
Проблема в том, что когда на сервере Debian я пытаюсь выполнить привязку к любому из общедоступных IP-адресов OVH VPS WireGuard (MY_PUBLIC) [я пытался сделать привязку Apache к ним вместе с MariaDB и Docker, но ничего] я получаю сообщение об ошибке привязки, говорящее мне, что это невозможно.
bind: невозможно назначить запрошенный адрес.
После некоторых исследований я нашел это:
Сообщение «Не удается назначить запрошенный адрес» предполагает, что имя хоста/IP, которое вы пытаетесь связать, не разрешается в локальный сетевой интерфейс.
Судя по онлайн-исследованиям, кажется, что NAT находится где-то между VPS и сервером. Я новичок в сетях и понятия не имею, как решить эту проблему.
Это серьезная проблема, поскольку сервер может использовать только те IP-адреса, которые привязаны к 0.0.0.0.
Моя конфигурация ER-X:
брандмауэр {
включить все ping
широковещательный пинг отключить
группа {
address-group MY_PUBLIC { // IP-адреса OVH VPS
адрес 92.CENSORED.CENSORED.108
адрес 149.CENSORED.CENSORED.64
адрес 37.CENSORED.CENSORED.244
адрес 149.CENSORED.CENSORED.244
}
}
ipv6-имя WANv6_IN {
падение действия по умолчанию
описание "Входящий трафик WAN перенаправляется в LAN"
включить-по-умолчанию-журнал
правило 10 {
действие принять
description «Разрешить установленные/связанные сеансы»
государство {
установленный включить
связанные включить
}
}
правило 20 {
падение действия
описание "Удалить недопустимое состояние"
государство {
недопустимое включение
}
}
}
ipv6-имя WANv6_LOCAL {
падение действия по умолчанию
описание "Входящий трафик WAN на маршрутизатор"
включить-по-умолчанию-журнал
правило 10 {
действие принять
description «Разрешить установленные/связанные сеансы»
государство {
установленный включить
связанные включить
}
}
правило 20 {
падение действия
описание "Удалить недопустимое состояние"
государство {
недопустимое включение
}
}
правило 30 {
действие принять
описание "Разрешить IPv6 icmp"
протокол ipv6-icmp
}
правило 40 {
действие принять
описание "разрешить dhcpv6"
пункт назначения {
порт 546
}
протокол udp
источник {
порт 547
}
}
}
ipv6-receive-redirects отключить
ipv6-src-маршрут отключить
ip-src-маршрут отключить
лог-марсиане позволяют
изменить wireguard_route {
правило 5 {
действие изменить
пункт назначения {
группа {
адресная группа MY_PUBLIC
}
}
изменить {
главная таблица
}
}
правило 7 {
действие изменить
пункт назначения {
адрес 172.16.1.0/24
}
изменить {
главная таблица
}
}
правило 10 {
действие изменить
описание wireguard-vpn
изменить {
Таблица 1
}
источник {
адрес 192.168.255.0/24
}
}
}
имя WAN_IN {
падение действия по умолчанию
описание "WAN на внутренний"
правило 10 {
действие принять
описание "Разрешить установленные/связанные"
государство {
установленный включить
связанные включить
}
}
правило 20 {
падение действия
описание "Удалить недопустимое состояние"
государство {
недопустимое включение
}
}
}
имя WAN_LOCAL {
падение действия по умолчанию
описание "WAN к роутеру"
правило 10 {
действие принять
описание "Разрешить установленные/связанные"
государство {
установленный включить
связанные включить
}
}
правило 20 {
падение действия
описание "Удалить недопустимое состояние"
государство {
недопустимое включение
}
}
правило 30 {
действие принять
описание openvpn
пункт назначения {
порт 1194
}
протокол udp
}
}
прием-перенаправления отключить
включить переадресацию отправки
проверка источника отключена
синхронизация файлов cookie
}
интерфейсы {
Ethernet eth0 {
адрес dhcp
описание Интернет
dhcpv6-pd {
пд 0 {
интерфейс eth1 {
служба dhcpv6 с отслеживанием состояния
}
интерфейс eth2 {
служба dhcpv6 с отслеживанием состояния
}
интерфейс eth3 {
служба dhcpv6 с отслеживанием состояния
}
интерфейс switch0 {
адрес хоста ::1
обслуживание
}
длина префикса /64
}
включить быструю фиксацию
}
дуплекс авто
брандмауэр {
в {
ipv6-имя WANv6_IN
имя WAN_IN
}
местный {
ipv6-имя WANv6_LOCAL
имя WAN_LOCAL
}
}
IPv6 {
адрес {
автоконф
}
dup-addr-detect-transmits 1
}
скорость авто
}
Ethernet eth1 {
описание Местный
дуплекс авто
скорость авто
}
ethernet eth2 {
описание Местный
дуплекс авто
скорость авто
}
Ethernet eth3 {
описание Местный
дуплекс авто
скорость авто
}
Ethernet eth4 {
описание Местный
дуплекс авто
по {
выход выключен
}
скорость авто
}
петля вот {
}
openvpn vtun0 {
режим сервера
сервер {
сервер имен 192.168.255.1
push-маршрут 192.168.255.0/24
подсеть 172.16.1.0/24
}
тлс {
ca-cert-файл /config/auth/cacert.pem
файл сертификата /config/auth/server.pem
dh-файл /config/auth/dh.pem
ключевой файл /config/auth/server.key
}
}
переключатель switch0 {
адрес 192.168.255.1/24
описание Местный
брандмауэр {
в {
изменить wireguard_route
}
}
мту 1500
коммутатор-порт {
интерфейс eth1 {
}
интерфейс eth2 {
}
интерфейс eth3 {
}
интерфейс eth4 {
}
отключить поддержку vlan
}
}
проволока WG0 {
адрес 10.0.0.2/30
описание Wireguard
порт прослушивания 51821
мту 1420
партнер CENSORED+CENSORED+CENSORED= {
разрешено-ips 0.0.0.0/0
конечная точка 92.CENSORED.CENSORED.108:51821
постоянный-keepalive 25
предварительный ключ /config/auth/wg-preshared.key
}
закрытый ключ /config/auth/wg.key
разрешенный маршрут ips ложный
}
}
порт вперед {
автоматическое включение брандмауэра
шпилька-nat включить
переключатель lan-интерфейса0
правило 1 {
описание "Разрешить ВСЕ"
переслать {
адрес 192.168.255.10
}
оригинальный порт 1-65535
протокол tcp_udp
}
wan-интерфейс WG0
}
протоколы {
статический {
Таблица 1 {
description "таблица для принудительной установки wg0:aws"
интерфейс-маршрут 0.0.0.0/0 {
интерфейс следующего перехода wg0 {
}
}
маршрут 0.0.0.0/0 {
черная дыра {
расстояние 255
}
}
}
}
}
оказание услуг {
DHCP-сервер {
отключено ложно
отключить обновление хост-файла
имя общей сети LAN-X {
авторитетное отключение
подсеть 192.168.255.0/24 {
маршрутизатор по умолчанию 192.168.255.1
днс-сервер 192.168.255.1
аренда 86400
старт 192.168.255.2 {
остановка 192.168.255.254
}
статическое отображение iDRAC {
ip-адрес 192.168.255.120
mac-адрес CENSORED:CENSORED:CENSORED:CENSORED:CENSORED:CENSORED
}
узел статического отображения2 {
ip-адрес 192.168.255.10
mac-адрес CENSORED:CENSORED:CENSORED:CENSORED:CENSORED:CENSORED
}
}
}
статический-arp отключить
использовать-dnsmasq отключить
}
днс {
пересылка {
размер кеша 150
переключатель прослушивания0
слушать на vtun0
}
}
графический интерфейс {
http-порт 80
https-порт 443
старые шифры позволяют
}
нат {
правило 5001 {
описание wireguard-nat
журнал отключить
исходящий интерфейс wg0
протоколировать все
источник {
адрес 192.168.255.0/24
}
тип маскарад
}
правило 5002 {
описание "маскарад для WAN"
журнал отключить
исходящий интерфейс eth0
протоколировать все
тип маскарад
}
}
сш {
порт 22
версия протокола v2
}
унмс {
}
}
система {
аналитика-обработчик {
отправить-аналитика-отчет ложно
}
обработчик сбоев {
отправить отчет о сбое false
}
имя хоста EdgeRouter-X-5-Port
авторизоваться {
пользователь ubnt {
аутентификация {
зашифрованный пароль CENSORED
}
уровень администратора
}
}
НТП {
сервер 0.ubnt.pool.ntp.org {
}
сервер 1.ubnt.pool.ntp.org {
}
сервер 2.ubnt.pool.ntp.org {
}
сервер 3.ubnt.pool.ntp.org {
}
}
разгрузить {
hwnat включить
ipsec включить
}
системный журнал {
Глобальный {
объект все {
уведомление об уровне
}
протоколы объекта {
уровень отладки
}
}
}
часовой пояс UTC
}
Конфигурация WG моего OVH VPS:
[Интерфейс]
Адрес = 10.0.0.1/30
Порт прослушивания = 51821
PrivateKey = ЦЕНЗИРОВАНО
### Клиент впн
[Вглядеться]
Публичный ключ = ЦЕНЗИРОВАНО
PresharedKey = ЦЕНЗИРОВАНО
Разрешенные IP-адреса = 10.0.0.2/30
Мои OVH IPTables:
# Сгенерировано iptables-save v1.8.7 в воскресенье, 9 января, 11:04:33 2022 г.
*фильтр
:ВВОД ПРИНЯТЬ [971:145912]
:ВПЕРЕД ПРИНЯТЬ [920:137172]
: ВЫВОД ПРИНЯТ [637:108812]
:f2b-sshd - [0:0]
СОВЕРШИТЬ
# Завершено в воскресенье, 9 января, 11:04:33 2022 г.
# Сгенерировано iptables-save v1.8.7 в воскресенье, 9 января, 11:04:33 2022 г.
*натуральный
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [133:6792]
:ВВОД ПРИНЯТ [61:2272]
: ВЫВОД ПРИНЯТ [3:228]
:ОТПРАВКА ПРИНЯТИЯ [66:4011]
-A PREROUTING -i ens3 -p udp -m многопортовый --dports 1000:51820 -j DNAT --к-назначению 10.0.0.2
-A PREROUTING -i ens3 -p udp -m многопортовый --dports 51822:65534 -j DNAT --к-назначению 10.0.0.2
-A PREROUTING -i ens3 -p tcp -m multiport --dports 51822:65534 -j DNAT --к месту назначения 10.0.0.2
-A PREROUTING -i ens3 -p tcp -m multiport --dports 1000:51820 -j DNAT --к месту назначения 10.0.0.2
-A PREROUTING -i ens3 -p tcp -m multiport --dports 21,22,80,25,995,110,443,465,993,143 -j DNAT --к месту назначения 10.0.0.2
-A PREROUTING -i ens3 -p udp -m multiport --dports 21,22,80,25,995,110,443,465,993,143 -j DNAT --к месту назначения 10.0.0.2
-A POSTRAOUTING -o ens3 -j МАСКАРАД
СОВЕРШИТЬ
# Завершено в воскресенье, 9 января, 11:04:33 2022 г.
Просто для устранения неполадок я попытался привязаться к моему офисному IP-адресу, который, как и ожидалось и хотел, не работает, как за туннелем WireGuard ER-X.
Вот несколько тем, которые помогли мне настроить мою текущую структуру WireGuard: https://community.ui.com/questions/EdgeRouter-X-as-WireGuard-Client-Forward-ports-from-WG-tunnel-to-LAN/f19957fb-70be-485f-832d-381c6ea4b306
https://community.ui.com/questions/EdgeRouter-X-as-a-WireGuard-client-with-port-forwarding-or-User-IP-is-shown-to-be-WireGuard-tunnels/2a8b19ab- ac0c-48ed-b367-afd3914de9c2
Заранее спасибо за вашу помощь!