Încerc să conectez un port de la un client wireguard la rețeaua gazdă a serverului.
Am încercat să o fac cu IPtables, dar întotdeauna primesc răspunsul „unreachable”
Se pare că configurația mea ar putea fi problema?
Mulțumiri!
Test de conexiune
root@wiretest3:~# curl -I 10.7.0.2:6060
HTTP/1.1 200 OK
Server: nginx/1.20.1
Data: duminica, 18 iulie 2021 10:37:38 GMT
Tip de conținut: text/html
Lungimea conținutului: 988
Ultima modificare: sâmbătă, 17 iulie 2021 10:07:05 GMT
Conexiune: păstrați-vă în viață
ETag: „60f2abc9-3dc”
Accept-Range: octeți
root@wiretest3:~# curl -I 192.168.1.180:6060
curl: (28) Nu s-a putut conecta la portul 192.168.1.180 6060: Conexiune a expirat
root@wiretest3:~# curl -I 127.0.0.1:6060
curl: (7) Nu s-a putut conecta la portul 127.0.0.1 6060: Conexiune a fost refuzată
Configurare server:
Gazdă: 192.168.1.183
Rețea Wireguard: 10.7.0.1
root@wiretest3:~# cat /etc/wireguard/wg0.conf
# Nu modificați rândurile comentate
# Sunt folosite de wireguard-install
# ENDPOINT wireguard.demo.net
[Interfață]
Adresa = 10.7.0.1/24
PrivateKey = QAOETAJYMK3PcDhN/y+xFJKcJetm4...........
ListenPort = 51823
# BEGIN_PEER client
[Peer]
PublicKey = YxM7cwbmBm7VIyNcRdDBhtiEwFWL........
PresharedKey = W9Y0qCku0Fv1uFiMpy5ImStbs+.........
IP-uri permise = 10.7.0.2/32, 192.168.1.183/32
# client END_PEER
IP a
root@wiretest3:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue stare UNKNOWN grup implicit 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 pentru totdeauna preferred_lft pentru totdeauna
inet6 ::1/128 scope host
valid_lft pentru totdeauna preferred_lft pentru totdeauna
2: eth0@if47: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue stare UP grup implicit qlen 1000
link/ether 2e:f5:1e:38:32:06 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.1.183/24 brd 192.168.1.255 scope global eth0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::2cf5:1eff:fe38:3206/64 scope link
valid_lft pentru totdeauna preferred_lft pentru totdeauna
3: wg0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1420 qdisc mq state NECUNOSCUT grup implicit qlen 500
link/niciuna
inet 10.7.0.1/24 scope global wg0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::6613:2cc4:bb7d:6bd4/64 scope link stabil-confidențialitate
valid_lft pentru totdeauna preferred_lft pentru totdeauna
Reguli IPtables:
iptables -P FORWARD DROP;
iptables -A FORWARD -i eth0 -j ACCEPT;
iptables -t nat -A PREROUTING -p tcp --dport 6060:6060 -j DNAT --to-destination 10.7.0.2;
iptables -w -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
IPtables: (iptables-salvare)
root@wiretest3:~# iptables-save
# Generat de iptables-save v1.8.7 pe duminica 18 iulie 13:17:28 2021
*filtru
:INPUT ACCEPT [0:0]
: FORWARD DROP [0:0]
: ACCEPT IEȘIRE [0:0]
-A INTRARE -p udp -m udp --dport 51823 -j ACCEPT
-A FORWARD -m stare --stare RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 10.7.0.0/24 -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
COMMIT
# Finalizat duminică, 18 iulie 13:17:28 2021
# Generat de iptables-save v1.8.7 pe duminica 18 iulie 13:17:28 2021
*nat
:ACCEPTAREA PRE-ROUTARE [0:0]
:INPUT ACCEPT [0:0]
: ACCEPT IEȘIRE [0:0]
: POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp --dport 6060 -j DNAT --to-destination 10.7.0.2
-A POSTOUTING -s 10.7.0.0/24 ! -d 10.7.0.0/24 -j SNAT --to-source 192.168.1.183
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Finalizat duminică, 18 iulie 13:17:28 2021
root@wiretest3:~#
IPtables: iptables -L -n -t nat (acum)
root@wiretest3:~# sudo iptables -L -n -t nat
PRERUUTARE în lanț (politica ACCEPTĂ)
target prot opt sursă destinație
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:6060 la:10.7.0.2
INTRARE în lanț (politica ACCEPTĂ)
target prot opt sursă destinație
Ieșire în lanț (politica ACCEPT)
target prot opt sursă destinație
POSTOUTING în lanț (politica ACCEPT)
target prot opt sursă destinație
SNAT toate -- 10.7.0.0/24 !10.7.0.0/24 la:192.168.1.183
MASQUERADE toate -- 0.0.0.0/0 0.0.0.0/0
Configurare client:
root@wiredocker:/etc/wireguard# cat /etc/wireguard/wg0.conf
[Interfață]
Adresa = 10.7.0.2/24
DNS = 8.8.8.8, 8.8.4.4
PrivateKey = GAF31cqwu2YSWQPdiSvlWie2Pma.........
[Peer]
PublicKey = 3VMnaI8JvoXZ6DthLcDy5MnVmNq..............
PresharedKey = W9Y0qCku0Fv1uFiMpy5ImStbs+...............
IP-uri permise = 0.0.0.0/0, ::/0, 192.168.1.0/24
Punct final = wireguard.demo.net:51823
PersistentKeepalive = 25
IP a
root@wiredocker:/etc/wireguard# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue stare UNKNOWN grup implicit 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 pentru totdeauna preferred_lft pentru totdeauna
inet6 ::1/128 scope host
valid_lft pentru totdeauna preferred_lft pentru totdeauna
2: eth0@if12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue stare UP grup implicit qlen 1000
link/ether 76:d3:5b:64:b4:f0 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.178.178/24 brd 192.168.178.255 scope global eth0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::74d3:5bff:fe64:b4f0/64 scope link
valid_lft pentru totdeauna preferred_lft pentru totdeauna
4: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP grup implicit
link/ether 02:42:bb:9b:28:90 brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft pentru totdeauna preferred_lft pentru totdeauna
inet6 fe80::42:bbff:fe9b:2890/64 scope link
valid_lft pentru totdeauna preferred_lft pentru totdeauna
10: veth508c767@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 stare UP grup implicit
link/ether ea:cd:96:6e:33:0b brd ff:ff:ff:ff:ff:ff link-netnsid 1
inet6 fe80::e8cd:96ff:fe6e:330b/64 scope link
valid_lft pentru totdeauna preferred_lft pentru totdeauna
15: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue stare UNKNOWN grup implicit qlen 1000
link/niciuna
inet 10.7.0.2/24 scope global wg0
valid_lft pentru totdeauna preferred_lft pentru totdeauna