PPTP passthrough NAT upgrade után megállt

Üdv,

 

van itthon egy kis ITX-es gép, ez a tűzfal meg mindenes. Kicsit elhanyagoltam, és még mindig Debian 9 volt rajta - tegnapig, mikoris' hirtelen felindulásból upgradeltem 10-re, majd 11-re, végül 12-re.

Minden frankón működik, kivéve egy dolgot: a kliensről, ami NAT mögött van, nem megy a PPTP. (Most mindegy, hogy mennyire régi/elavult/... - van olyan ügyfél, ahol csak PPTP VPN van, és nekem mindenképp be kell jutnom).

Minden más VPN megy: OpenVPN (ok, ez sima ügy), L2TP+IPSec.

PPTP-ből egyik kiszolgáló sem. Frissítés előtt még ment mindegyik, a szerverek nem lettek átkonfigurálva, és a kliens sem.

A szerveren ezt látom a logban:

Sep  6 23:04:54 server pppd[4038238]: rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x5be9fa7f> <pcomp> <accomp>]
Sep  6 23:04:54 server pppd[4038238]: sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x5be9fa7f> <pcomp> <accomp>]
Sep  6 23:04:54 server pppd[4038238]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0x858d2da8> <pcomp> <accomp>]
Sep  6 23:04:57 server pppd[4038238]: LCP: timeout sending Config-Requests
Sep  6 23:04:57 server pppd[4038238]: Connection terminated.
Sep  6 23:04:57 server pptpd[4038224]: CTRL: Reaping child PPP[4038238]
Sep  6 23:04:57 server pppd[4038238]: Modem hangup
Sep  6 23:04:57 server pppd[4038238]: Exit.
Sep  6 23:04:57 server pptpd[4038224]: CTRL: Client 188.36.30.196 control connection finished

A kliensen ezt:

Sep  6 23:04:22 basil pptp[363633]: nm-pptp-service-363605 log[ctrlp_rep:pptp_ctrl.c:258]: Sent control packet type is 1 'Start-Control-Connection-Request'
Sep  6 23:04:22 basil pptp[363633]: nm-pptp-service-363605 log[ctrlp_disp:pptp_ctrl.c:781]: Received Start Control Connection Reply
Sep  6 23:04:22 basil pptp[363633]: nm-pptp-service-363605 log[ctrlp_disp:pptp_ctrl.c:815]: Client connection established.
Sep  6 23:04:23 basil pptp[363633]: nm-pptp-service-363605 log[ctrlp_rep:pptp_ctrl.c:258]: Sent control packet type is 7 'Outgoing-Call-Request'
Sep  6 23:04:23 basil pptp[363633]: nm-pptp-service-363605 log[ctrlp_disp:pptp_ctrl.c:900]: Received Outgoing Call Reply.
Sep  6 23:04:23 basil pptp[363633]: nm-pptp-service-363605 log[ctrlp_disp:pptp_ctrl.c:938]: Outgoing call established (call ID 37670, peer's call ID 10368).
Sep  6 23:04:53 basil pptp[363620]: nm-pptp-service-363605 warn[decaps_hdlc:pptp_gre.c:226]: short read (-1): Input/output error
Sep  6 23:04:53 basil NetworkManager[363615]: Child process /sbin/pptp 1.2.3.4 --nolaunchpppd --loglevel 0 --logstring nm-pptp-service-363605 (pid 363618) terminated with signal 15
Sep  6 23:04:53 basil pppd[363615]: Child process /sbin/pptp 1.2.3.4 --nolaunchpppd --loglevel 0 --logstring nm-pptp-service-363605 (pid 363618) terminated with signal 15
Sep  6 23:04:53 basil pptp[363620]: nm-pptp-service-363605 warn[decaps_hdlc:pptp_gre.c:238]: pppd may have shutdown, see pppd log
Sep  6 23:04:53 basil pptp[363633]: nm-pptp-service-363605 log[callmgr_main:pptp_callmgr.c:245]: Closing connection (unhandled)
Sep  6 23:04:53 basil pptp[363633]: nm-pptp-service-363605 log[ctrlp_rep:pptp_ctrl.c:258]: Sent control packet type is 12 'Call-Clear-Request'
Sep  6 23:04:53 basil pptp[363633]: nm-pptp-service-363605 log[call_callback:pptp_callmgr.c:84]: Closing connection (call state)

Próbáltam a tűzfalról is cli-ből (`pon` parancs), akkor a szerver logban ez látszik:

Sep  6 23:08:01 server pppd[4039609]: rcvd [LCP ConfReq id=0x1 <mru 1396> <asyncmap 0x0> <magic 0xadf9fbfd> <pcomp> <accomp>]
Sep  6 23:08:01 server pppd[4039609]: sent [LCP ConfAck id=0x1 <mru 1396> <asyncmap 0x0> <magic 0xadf9fbfd> <pcomp> <accomp>]
Sep  6 23:08:02 server pppd[4039609]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <auth chap MS-v2> <magic 0xacddbe04> <pcomp> <accomp>]
Sep  6 23:08:05 server pppd[4039609]: Modem hangup
Sep  6 23:08:05 server pptpd[4039608]: CTRL: Reaping child PPP[4039609]
Sep  6 23:08:05 server pppd[4039609]: Connection terminated.
Sep  6 23:08:05 server pppd[4039609]: Exit.

a kliensnél pedig ez:

2024-09-06T23:07:34.017199+02:00 thorp pptp[1301]: anon log[ctrlp_rep:pptp_ctrl.c:259]: Sent control packet type is 1 'Start-Control-Connection-Request'
2024-09-06T23:07:34.026354+02:00 thorp pptp[1301]: anon log[ctrlp_disp:pptp_ctrl.c:781]: Received Start Control Connection Reply
2024-09-06T23:07:34.027349+02:00 thorp pptp[1301]: anon log[ctrlp_disp:pptp_ctrl.c:815]: Client connection established.
2024-09-06T23:07:35.017319+02:00 thorp pptp[1301]: anon log[ctrlp_rep:pptp_ctrl.c:259]: Sent control packet type is 7 'Outgoing-Call-Request'
2024-09-06T23:07:35.026838+02:00 thorp pptp[1301]: anon log[ctrlp_disp:pptp_ctrl.c:900]: Received Outgoing Call Reply.
2024-09-06T23:07:35.028559+02:00 thorp pptp[1301]: anon log[ctrlp_disp:pptp_ctrl.c:939]: Outgoing call established (call ID 41702, peer's call ID 10496).
2024-09-06T23:08:04.990540+02:00 thorp pppd[1288]: LCP: timeout sending Config-Requests
2024-09-06T23:08:04.994278+02:00 thorp pppd[1288]: Connection terminated.
2024-09-06T23:08:05.015707+02:00 thorp pptp[1290]: anon warn[decaps_hdlc:pptp_gre.c:226]: short read (-1): Input/output error
2024-09-06T23:08:05.018355+02:00 thorp pptp[1290]: anon warn[decaps_hdlc:pptp_gre.c:238]: pppd may have shutdown, see pppd log
2024-09-06T23:08:05.021469+02:00 thorp pptp[1301]: anon log[callmgr_main:pptp_callmgr.c:245]: Closing connection (unhandled)
2024-09-06T23:08:05.030175+02:00 thorp pptp[1301]: anon log[ctrlp_rep:pptp_ctrl.c:259]: Sent control packet type is 12 'Call-Clear-Request'
2024-09-06T23:08:05.032816+02:00 thorp pptp[1301]: anon log[call_callback:pptp_callmgr.c:84]: Closing connection (call state)
2024-09-06T23:08:05.034784+02:00 thorp pppd[1288]: Modem hangup
2024-09-06T23:08:05.036844+02:00 thorp pppd[1288]: Exit.

A tűzfalon a conntrack modulok be vannak töltve. Az iptables-ben minden át van engedve, nincs eldobott csomag.

 

Viszont nem találok semmi érdemi megoldást 6.1-es kernel esetén.

 

Bármilyen ötletet szívesen veszek.

Hozzászólások

A tűzfalon a conntrack modulok be vannak töltve.

Régebbi kerneleknél elég volt egy nf_conntrack_helper=1 paraméter az nf_conntrack modulnak, a 6.0-s kerneltől ez megszűnt, a raw táblában kell hozzákapcsolni a CT targettel a megfelelő helpert az adott bejövő/kimenő kapcsolathoz (porthoz).

ftp esetén ez kell neki:

iptables -t raw -A PREROUTING -p tcp --dport ftp -j CT --helper ftp
iptables -t raw -A OUTPUT -p tcp --dport ftp -j CT --helper ftp

pptp-t soha nem használtam, majd kitalálálod, mi kell neki - gyakorlatilag ugyanazok a feltételek, mint amivel be/kiengeded a kapcsolatot.

Amúgy nem teljesen alaptalan a változtatás, a helperek eddig (nyilván) az adott protokoll default portjára bejövő/kimenő kapcsolatokra aktiválódtak csak, így pedig a nem szabványos portokon üzemelő szolgáltatások esetén is működnek.