SSH-Verbindung zum Docker-Container, wenn der Host mit einem VPN verbunden ist [geschlossen]Linux

Linux verstehen
Anonymous
 SSH-Verbindung zum Docker-Container, wenn der Host mit einem VPN verbunden ist [geschlossen]

Post by Anonymous »

Ich habe ein Problem beim Herstellen einer SSH-Verbindung zu meinem Docker-Container, wenn der Docker-Host mit einem VPN (nordvpn) verbunden ist.
Das habe ich getan:
  • Auf meinem Router: Ich habe einen SSH-Verbindungsport an meinen SSH-Docker-Container-Port weitergeleitet: 222. Das reicht aus, um mich per SSH bei meinem Container anzumelden, wenn der VPN ist ausgeschaltet.
  • Für die Verbindung, wenn das VPN eingeschaltet ist, habe ich Port 222 auf meinem VPN auf die Whitelist gesetzt, in der Hoffnung, dass das den Zweck erfüllt.
Beim Ausführen eines TCP-Dumps auf Port 222 habe ich herausgefunden, dass es ein Routing-Problem gibt: Der Datenverkehr kommt über die End0-Schnittstelle herein, geht aber über die Nordlynx-Schnittstelle aus.

Code: Select all

10:39:10.808155 end0  In  IP x.x.x.x.62846 > 192.168.1.100.222: Flags [S], seq 382059475, win 64860, options [mss 1380,sackOK,TS val 1310442820 ecr 0,nop,wscale 7], length 0
10:39:10.808390 nordlynx Out IP 192.168.1.100.222 > x.x.x.x.62846: Flags [S.], seq 263244332, ack 382059476, win 65160, options [mss 1460,sackOK,TS val 2175849857 ecr 1310442820,nop,wscale 7], length 0
Ich habe versucht, mich mit der gleichen Konfiguration (Portweiterleitung an Port 22 und VPN-Whitelist-Port 22) direkt per SSH beim Docker-Host anzumelden, und es funktioniert einwandfrei. Hier tcpdump auf Port 22:

Code: Select all

10:28:33.108572 end0  In  IP x.x.x.x.3395 > 192.168.1.100.ssh: Flags [P.], seq 2808398916:2808398932, ack 3377658384, win 487, options [nop,nop,TS val 1309805121 ecr 143975779], length 16
10:28:33.151936 end0  Out IP 192.168.1.100.ssh > x.x.x.x.3395: Flags [.], ack 16, win 482, options [nop,nop,TS val 144008198 ecr 1309805121], length 0
Hier ist, was Routing-Tabellen zeigen (ich habe Einträge entfernt, die nichts mit meinem Problem zu tun zu haben schienen). 172.23.0.1 ist die IP meines Containers.

Code: Select all

default dev nordlynx table 205 scope link
default via 192.168.1.1 dev end0 proto dhcp src 192.168.1.100 metric 100
10.5.0.0/16 dev nordlynx proto kernel scope link src 10.5.0.2
172.23.0.0/16 dev br-d97f35d9b9ce proto kernel scope link src 172.23.0.1
192.168.1.0/24 dev end0 proto kernel scope link src 192.168.1.100 metric 100
192.168.1.1 dev end0 proto dhcp scope link src 192.168.1.100 metric 100
local 10.5.0.2 dev nordlynx table local proto kernel scope host src 10.5.0.2
broadcast 10.5.255.255 dev nordlynx table local proto kernel scope link src 10.5.0.2
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
local 172.23.0.1 dev br-d97f35d9b9ce table local proto kernel scope host src 172.23.0.1
broadcast 172.23.255.255 dev br-d97f35d9b9ce table local proto kernel scope link src 172.23.0.1
local 192.168.1.100 dev end0 table local proto kernel scope host src 192.168.1.100
broadcast 192.168.1.255 dev end0 table local proto kernel scope link src 192.168.1.100
Und hier sind die iptables-Regeln, die ich in der Mangle-Tabelle für Port 22 und 222 habe:

Code: Select all

Chain PREROUTING (policy ACCEPT)
ACCEPT     udp  --  anywhere             anywhere             udp dpt:222 /* nordvpn */
ACCEPT     udp  --  anywhere             anywhere             udp spt:222 /* nordvpn */
ACCEPT     udp  --  anywhere             anywhere             udp dpt:22 /* nordvpn */
ACCEPT     udp  --  anywhere             anywhere             udp spt:22 /* nordvpn */
ACCEPT     udp  --  anywhere             anywhere             udp dpt:222 /* nordvpn */
ACCEPT     udp  --  anywhere             anywhere             udp spt:222 /* nordvpn */
ACCEPT     udp  --  anywhere             anywhere             udp dpt:22 /* nordvpn */
ACCEPT     udp  --  anywhere             anywhere             udp spt:22 /* nordvpn */
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:222 /* nordvpn */
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:222 /* nordvpn */
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:222 /* nordvpn */
ACCEPT     tcp  --  anywhere             anywhere             tcp spt:222 /* nordvpn */

Chain OUTPUT (policy ACCEPT)
MARK       udp  --  anywhere             anywhere             udp spt:222 /* nordvpn_allowlist */ MARK set 0xe1f1
MARK       udp  --  anywhere             anywhere             udp spt:22 /* nordvpn_allowlist */ MARK set 0xe1f1
MARK       tcp  --  anywhere             anywhere             tcp spt:222 /* nordvpn_allowlist */ MARK set 0xe1f1
Können Sie mir helfen herauszufinden, was mir fehlt?
Danke!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post