conntrack: generic helper won't handle protocol 47
by poma
Hello there,
"... Please consider loading the specific helper module."
$ grep 47 /etc/protocols
gre 47 GRE # Generic Routing Encapsulation
https://en.wikipedia.org/wiki/Generic_Routing_Encapsulation
"In conjunction with PPTP to create VPNs."
= Brief analysis and diagnosis:
- Point-to-Point Tunneling Protocol (PPTP) Client:
$ firewall-cmd --version
0.4.4.3
$ pptp --version
pptp version 1.9.0
$ nmcli --version
nmcli tool, version 1.7.1-0.9.20170224git9138967.fc24
$ firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p gre -j ACCEPT
success
$ firewall-cmd --reload
success
$ nmcli connection up pptp ifname enp2s5
Error: Connection activation failed: the VPN service stopped unexpectedly.
$ journalctl -b -u NetworkManager.service -o cat
[...]
LCP: timeout sending Config-Requests
LCP: timeout sending Config-Requests
** Message: nm-pptp-ppp-plugin: (nm_phasechange): status 11 / phase 'disconnect'
Connection terminated.
- PoPToP Point to Point Tunneling Server:
$ firewall-cmd --version
0.4.4.3
$ pptpd --version
pptpd v1.4.0
$ systemctl is-active firewalld pptpd
active
active
$ firewall-cmd --get-automatic-helpers
yes
$ firewall-cmd --list-ports
[...] 1723/tcp
$ grep -a pptp /var/log/firewalld
2017-02-27 19:58:41 DEBUG1: nf_conntrack_pptp: pptp
2017-02-27 19:58:41 DEBUG1: Loading helper file '/usr/lib/firewalld/helpers/pptp.xml'
2017-02-27 19:58:41 DEBUG1: config.HelperAdded('pptp')
$ dmesg -T | grep conntrack
[Mon Feb 27 19:58:40 2017] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
[Mon Feb 27 19:59:05 2017] conntrack: generic helper won't handle protocol 47. Please consider loading the specific helper module.
= Conclusion:
As already concluded, what is needed:
# modprobe nf_conntrack_pptp
# modinfo nf_conntrack_pptp | grep 'description\|depends'
description: Netfilter connection tracking helper module for PPTP
depends: nf_conntrack,nf_conntrack_proto_gre
OR perhaps,
how proto GRE is set on PPTP Client,
to do the same on PTPP Server:
$ firewall-cmd --direct --get-all-rules
ipv4 filter INPUT 0 -p gre -j ACCEPT
OR leave as is - for security's sake;
"PPTP is known to be a faulty protocol. The designers of the protocol, Microsoft, recommend not to use it due to the inherent risks. Lots of people use PPTP anyway due to ease of use, but that doesn't mean it is any less hazardous. The maintainers of PPTP Client and Poptop recommend using OpenVPN (SSL based) or IPSec instead."
http://poptop.sourceforge.net/dox/protocol-security.phtml
Ref.
"netfilter: conntrack: disable generic tracking for known protocols"
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/ne...
"netfilter: conntrack: warn the user if there is a better helper to use"
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/ne...
"LCP: timeout sending Config-Requests"
http://pptpclient.sourceforge.net/howto-diagnosis.phtml#lcp_timeout
7 years, 1 month