PPTP an Docker authentifizéiert sech, awer dréit keen Trafic
PPTP brauch TCP 1723 fir d'Steierung an GRE fir d'Notzlaascht. An engem Container feelt dacks den conntrack-Helfer, dofir funktionéiert d'Anmeldung an soss näischt.
De Client authentifizéiert sech, PPP handelte eng Adress aus, an du beweegt sech näischt. Ping schléit feel, de Browser schléit feel, an de Container gesäit déi ganzen Zäit verbonne aus. Dëst Muster ass kee Routingtabellen-Problem, well Routingproblemer briechen normalerweis och d'Steierverbindung. Et ass den Notzlaascht-Wee, an bei PPTP ass d'Notzlaascht en anere Protokoll wéi deen, deen just erfollegräich war.
Fënnef Kontrollen, an der Rei, déi am meeschten Zäit spuert.
Kontroll 1: trennt de Steierkanal vun der Notzlaascht
PPTP authentifizéiert sech iwwer TCP 1723 an dréit duerno d'PPP-Notzlaascht an GRE, IP-Protokoll 47. GRE ass weder TCP nach UDP, dofir seet all Regel, déi de Steierport weiderleet, näischt doriwwer. En NAT oder eng Firewall, déi 1723 duerchléisst, kann de Protokoll 47 ouni Beschwéierde fale loossen, an d'Sessioun bleift hallef opgebaut op eng Manéier, déi wéi Erfolleg ausgesäit.
Wann d'Anmeldung funktionéiert an kee Pak zréckkënnt, hëlt fir d'éischt GRE un a bewaist et duerno.
Kontroll 2: bestätegt den Helfer um Hostkär
D'Verbindungsverfolgung kann eng TCP-Steierverbindung ouni Helfer net mat engem GRE-Floss verknäppen. De Modul ass nf_conntrack_pptp, en wunnt am Hostkär, an en an de Containerimage ze lueden bréngt näischt, well Moduler hostwäit gëllen. lsmod | grep nf_conntrack_pptp um Docker-Host ass d'Kontroll. Wann en feelt, luedt modprobe nf_conntrack_pptp en fir de lafende Kär a seet näischt iwwer den nächsten Start, dofir setzt en och an d'Hostkonfiguratioun.
E Modul, deen beim Neistart verschwënnt, gëtt nächsten Mount dee selwechte Ticket.
Kontroll 3: liest d'Kärpolitik, déi en ausschalt
Och wann de Modul do ass, setze Käre säit 4.7 net.netfilter.nf_conntrack_helper standardméisseg op 0, wat d'automatesch Helferzouweisung fir all Protokoll ausschalt. Dëse Standard ass de Grond, firwat en korrekt installéierte Modul nach ëmmer näischt mécht: de Code ass do an d'Politik seet, en net ze benotzen. sysctl net.netfilter.nf_conntrack_helper mellt de momentane Wäert, an en op 1 ze setzen zur Lafzäit mécht den Helfer erëm verfügbar. Behëlt de Wäert iwwer d'sysctl-Konfiguratioun vum Host, wann den Design et erlaabt.
D'automatesch Zouweisung léisst den Trafic implizit Erwaardunge schafen, an dat ass genau de Grond, firwat den Standard geännert gouf. Begrenzt en op den vertrauenswürdegen Host, oder benotzt eng explizit Regel, déi op den Helfer zilt.
Kontroll 4: kuckt de Wee vum Container getrennt un
En geluedene Helfer erstellt keng Route. De Container brauch e Wee zum PPTP-Server, an d'Weiderleedung um Host muss GRE a béide Richtunge erlaben: iptables -L FORWARD -v -n weist, ob de Protokoll 47 ugeholl gëtt an ob d'Zieler sech beweegen. D'Masquerade-Regele vun Docker iwwersetzen TCP an UDP, net de Protokoll 47, dofir kann en iwwerbréckte Container eng explizit Forward-Akzeptanz an op e puer Hoste seng eege Iwwersetzungsregel brauchen. Bestätegt och, datt de Container déi PPP-Gerätsënnerstëtzung huet, déi säin Image erwaart.
Liest d'Zieler amplaz vum Regeltext. Eng Regel, déi existéiert an op näischt passt, ass Dekoratioun.
Kontroll 5: bewaist, datt GRE verfollegt gëtt, entscheet dann iwwer PPTP
Wärend de Client leeft, liest d'Verfolgungstabell. En etabléierte PPTP-Steierantrag plus en zougehéieren GRE-Antrag heescht, datt den Helfer d'Flëss verknäppt an de verbleiwenen Feeler soss anzwousch ass. En Steierantrag ouni GRE-Antrag heescht, datt d'Notzlaascht fale gelooss oder net verfollegt gëtt, wat dech zréck op d'Kontrollen 2 an 3 bréngt.
PPTP selwer ass Legacy an MS-CHAPv2 ass schwaach. Wann de Server och L2TP/IPsec, IKEv2 oder WireGuard ubitt, dann hëlt en Iwwergank op ee vun deene déi ganz Klass vu Problemer ewech.
Wou PPTP misst bleiwen, hëlt de Client um Host lafe loossen amplaz an engem Container eng Schicht NAT a Filterung ewech, wat dacks déi méi bëlleg Entscheedung ass.