Dragă comunitate ServerFault
Am o problemă cu configurația generală a tunelului meu WireGuard.
Am un VPS OVH cu 4 IP-uri publice (MY_PUBLIC) care acționează ca server WireGuard și redirecționează tot traficul (și porturile) către routerul meu EdgeRouter-X (192.168.255.1) (care acționează ca client WireGuard) și că, atunci, îl trimite către serverul meu Debian (192.168.255.10).
Problema este că atunci când pe serverul Debian încerc să mă conectez la oricare dintre IP-urile publice ale OVH VPS WireGuard (MY_PUBLIC) [am încercat să fac ca Apache să se leagă de ele, împreună cu MariaDB și Docker, dar nimic] primesc o eroare de legare care îmi spune că nu este posibil.
bind: nu poate atribui adresa solicitată.
Dupa cateva cercetari am gasit asta:
Mesajul „Nu se poate atribui adresa solicitată” sugerează că numele de gazdă/IP-ul pe care încercați să îl legați nu se rezolvă la o interfață de rețea locală.
Din cercetările online, acest lucru pare să sugereze că un NAT se află undeva între VPS și server. Sunt un începător cu rețele și nu am idee cum să rezolv această problemă.
Aceasta este o problemă majoră, deoarece serverul poate folosi numai acele IP-uri care se leagă la 0.0.0.0.
Configurația mea ER-X:
firewall {
activare all-ping
dezactivare broadcast-ping
grup {
address-group MY_PUBLIC { // IP-urile VPS-ului OVH
adresa 92.CENSORED.CENSORED.108
adresa 149.CENSORED.CENSORED.64
adresa 37.CENSORED.CENSORED.244
adresa 149.CENSORED.CENSORED.244
}
}
nume-ipv6 WANv6_IN {
drop-acțiune implicită
descriere „Trafic de intrare WAN redirecționat către LAN”
enable-default-log
regula 10 {
acțiune accepta
descriere „Permite sesiuni stabilite/conexe”
stat {
activat stabilit
activare aferentă
}
}
regula 20 {
picătură de acțiune
descriere „Renunțați la starea nevalidă”
stat {
activare nevalidă
}
}
}
nume-ipv6 WANv6_LOCAL {
drop-acțiune implicită
descriere „Trafic de intrare WAN către router”
enable-default-log
regula 10 {
acțiune accepta
descriere „Permite sesiuni stabilite/conexe”
stat {
activat stabilit
activare aferentă
}
}
regula 20 {
picătură de acțiune
descriere „Renunțați la starea nevalidă”
stat {
activare nevalidă
}
}
regula 30 {
acțiune accepta
descriere „Permite icmp IPv6”
protocol ipv6-icmp
}
regula 40 {
acțiune accepta
descriere „permite dhcpv6”
destinație {
portul 546
}
protocol udp
sursă {
portul 547
}
}
}
ipv6-receive-redirects dezactivat
ipv6-src-route dezactivat
ip-src-route dezactivat
log-martians permit
modifica wireguard_route {
regula 5 {
modificarea acțiunii
destinație {
grup {
grup de adrese MY_PUBLIC
}
}
modifica {
tabel principal
}
}
regula 7 {
modificarea acțiunii
destinație {
adresa 172.16.1.0/24
}
modifica {
tabel principal
}
}
regula 10 {
modificarea acțiunii
descriere wireguard-vpn
modifica {
tabelul 1
}
sursă {
adresa 192.168.255.0/24
}
}
}
nume WAN_IN {
drop-acțiune implicită
descriere „WAN către intern”
regula 10 {
acțiune accepta
descriere „Permite stabilit/relativ”
stat {
activat stabilit
activare aferentă
}
}
regula 20 {
picătură de acțiune
descriere „Renunțați la starea nevalidă”
stat {
activare nevalidă
}
}
}
nume WAN_LOCAL {
drop-acțiune implicită
descriere „WAN la router”
regula 10 {
acțiune accepta
descriere „Permite stabilit/relativ”
stat {
activat stabilit
activare aferentă
}
}
regula 20 {
picătură de acțiune
descriere „Renunțați la starea nevalidă”
stat {
activare nevalidă
}
}
regula 30 {
acțiune accepta
descriere openvpn
destinație {
portul 1194
}
protocol udp
}
}
dezactivarea redirecționărilor de primire
activare trimitere-redirecționări
dezactivarea validării sursei
activați syn-cookie-urile
}
interfețe {
ethernet eth0 {
adresa dhcp
descriere Internet
dhcpv6-pd {
pd 0 {
interfață eth1 {
service dhcpv6-stateful
}
interfață eth2 {
service dhcpv6-stateful
}
interfață eth3 {
service dhcpv6-stateful
}
comutator de interfață0 {
adresa gazdă ::1
service slaac
}
prefix-lungime /64
}
activare rapid-commit
}
duplex automat
firewall {
în {
nume-ipv6 WANv6_IN
nume WAN_IN
}
local {
nume-ipv6 WANv6_LOCAL
nume WAN_LOCAL
}
}
ipv6 {
abordare {
autoconf
}
dup-addr-detect-transmite 1
}
viteza automata
}
ethernet eth1 {
descriere Local
duplex automat
viteza automata
}
ethernet eth2 {
descriere Local
duplex automat
viteza automata
}
ethernet eth3 {
descriere Local
duplex automat
viteza automata
}
ethernet eth4 {
descriere Local
duplex automat
poe {
ieșire oprită
}
viteza automata
}
loopback lo {
}
openvpn vtun0 {
server de mod
Server {
server de nume 192.168.255.1
push-route 192.168.255.0/24
subrețeaua 172.16.1.0/24
}
tls {
ca-cert-file /config/auth/cacert.pem
fișier-cert /config/auth/server.pem
dh-file /config/auth/dh.pem
fișier-cheie /config/auth/server.key
}
}
comuta comutator0 {
adresa 192.168.255.1/24
descriere Local
firewall {
în {
modifica wireguard_route
}
}
mtu 1500
switch-port {
interfață eth1 {
}
interfață eth2 {
}
interfață eth3 {
}
interfață eth4 {
}
dezactivare vlan-aware
}
}
wireguard wg0 {
adresa 10.0.0.2/30
descriere Wireguard
portul de ascultare 51821
mtu 1420
peer cenzurat+cenzurat+cenzurat= {
permis-ips 0.0.0.0/0
punctul final 92.CENSORED.CENSORED.108:51821
persistent-menținere în viață 25
preshared-key /config/auth/wg-preshared.key
}
cheie-privată /config/auth/wg.key
route-allowed-ips false
}
}
port-forward {
activare auto-firewall
hairpin-nat enable
comutator lan-interfață0
regula 1 {
descriere „Permite TOATE”
transmite {
adresa 192.168.255.10
}
original-port 1-65535
protocol tcp_udp
}
wan-interfață wg0
}
protocoale {
static {
tabelul 1 {
descrierea „tabel pentru a forța wg0:aws”
interfață-rută 0.0.0.0/0 {
next-hop-interfață wg0 {
}
}
ruta 0.0.0.0/0 {
gaură neagră {
distanta 255
}
}
}
}
}
serviciu {
Server DHCP {
dezactivat fals
hostfile-update dezactivat
nume-rețea-partajat LAN-X {
dezactivare autoritară
subrețea 192.168.255.0/24 {
router implicit 192.168.255.1
dns-server 192.168.255.1
inchiriere 86400
începe 192.168.255.2 {
opri 192.168.255.254
}
iDRAC cu cartografiere statică {
adresa ip 192.168.255.120
adresa mac CENSORED:CENSORED:CENSORED:CENSORED:CENSORED:CENSORED
}
static-mapping node2 {
adresa ip 192.168.255.10
adresa mac CENSORED:CENSORED:CENSORED:CENSORED:CENSORED:CENSORED
}
}
}
dezactivare static-arp
use-dnsmasq dezactivați
}
dns {
redirecționare {
dimensiunea cache-ului 150
comutator de ascultare0
listen-on vtun0
}
}
gui {
http-port 80
https-port 443
Cifrele mai vechi permit
}
nat {
regula 5001 {
descriere wireguard-nat
dezactivare jurnal
interfață de ieșire wg0
protocol toate
sursă {
adresa 192.168.255.0/24
}
tip mascarada
}
regula 5002 {
descriere „masquerade for WAN”
dezactivare jurnal
interfață de ieșire eth0
protocol toate
tip mascarada
}
}
ssh {
portul 22
versiunea de protocol v2
}
unms {
}
}
sistem {
analytics-handler {
trimite-analytics-raport false
}
crash-handler {
send-crash-report false
}
numele gazdă EdgeRouter-X-5-Port
Autentificare {
utilizator ubnt {
autentificare {
parolă criptată CENZURAT
}
nivel admin
}
}
ntp {
server 0.ubnt.pool.ntp.org {
}
server 1.ubnt.pool.ntp.org {
}
server 2.ubnt.pool.ntp.org {
}
server 3.ubnt.pool.ntp.org {
}
}
descărcare {
hwnat activare
activare ipsec
}
syslog {
global {
facilitate toate {
aviz de nivel
}
protocoale de facilitate {
depanare la nivel
}
}
}
fus orar UTC
}
Configurația WG a VPS-ului meu OVH:
[Interfață]
Adresa = 10.0.0.1/30
ListenPort = 51821
PrivateKey = Cenzurat
### Client VPN
[Peer]
PublicKey = Cenzurat
PresharedKey = Cenzurat
AllowedIPs = 10.0.0.2/30
IPTtablele mele OVH:
# Generat de iptables-save v1.8.7 pe Duminica 9 ianuarie 11:04:33 2022
*filtru
:INPUT ACCEPT [971:145912]
: FORWARD ACCEPT [920:137172]
: ACCEPT IEȘIRE [637:108812]
:f2b-sshd - [0:0]
COMMIT
# Finalizat duminică, 9 ianuarie 11:04:33 2022
# Generat de iptables-save v1.8.7 pe Duminica 9 ianuarie 11:04:33 2022
*nat
:ACCEPTAREA PRE-ROUTARE [133:6792]
:INPUT ACCEPT [61:2272]
: ACCEPT IEȘIRE [3:228]
: POSTROUTING ACCEPT [66:4011]
-A PREROUTING -i ens3 -p udp -m multiport --dports 1000:51820 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -i ens3 -p udp -m multiport --dports 51822:65534 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -i ens3 -p tcp -m multiport --dports 51822:65534 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -i ens3 -p tcp -m multiport --dports 1000:51820 -j DNAT --to-destination 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 --to-destination 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 --to-destination 10.0.0.2
-A POSTROUTING -o ens3 -j MASQUERADE
COMMIT
# Finalizat duminică, 9 ianuarie 11:04:33 2022
Doar pentru depanare, am încercat să mă leg de IP-ul meu Office care, așa cum era de așteptat și dorit, nu funcționează ca în spatele tunelului WireGuard al ER-X.
Iată câteva subiecte care m-au ajutat să îmi stabilesc structura actuală 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
Multumesc in avans pentru ajutor!