Closed jordan-ivpn closed 1 year ago
Tested the latest ARM desktop Rasp Pi OS release and the firewall issue is still present. This suggests that the issue is not related to a missing package.
An issue is also present with the splittun
feature.
# ivpn splittun -appadd /usr/bin/chromium-browser
Error: unable to run application in Split Tunneling environment: Split Tunneling is disabled
# ivpn splittun -on
Split Tunnel : Enabled
# ivpn splittun -appadd /usr/bin/chromium-browser
Error: failed to enable Split Tunneling: (exit status 2) Warning: Default IPv6 gateway is not defined.
iptables v1.8.7 (nf_tables): Couldn't load match `cgroup':No such file or directory
Try `iptables -h' or 'iptables --help' for more information.
I had disabled IPv6 on this device. I'll re-enable it to see if the error goes away.
Seems to be the same issue with the iptables cgroup match:
$ ivpn splittun -appadd /usr/bin/chromium-browser
Error: failed to enable Split Tunneling: (exit status 2) iptables v1.8.7 (nf_tables): Couldn't load match `cgroup':No such file or directory
Try `iptables -h' or 'iptables --help' for more information.
Added the -x
option to the splittun.sh
and firewall.sh
scripts for debugging:
# ivpn splittun -appadd /usr/bin/chromium-browser
Error: failed to enable Split Tunneling: (exit status 2) + _cgroup_name=ivpn-exclude
+ _cgroup_classid=0x4956504e
+ _cgroup_folder=/sys/fs/cgroup/net_cls/ivpn-exclude
Pointer to report from Reddit: https://www.reddit.com/r/IVPN/comments/yt2m0q/cant_use_ivpn_with_firewall_on_raspberry_pi_os/
The firewall script is fixed. Now the IVPN firewall will not fail if allowing rules for split-tunnel are unable to apply. The change will be available in the next official release of the IVPN client.
But this change does not fix Split-Tunnel functionality. Split-Tunneling does not work on the latest 'Raspberry Pi OS Lite'.
The iptables ... -m cgroup --cgroup ...
keep failing.
It seems, the cgroup
match module for iptables
does not work (or is not installed) for some reason on 'Raspberry Pi OS Lite'.
I am going to close the ticket since the IVPN firewall issue is fixed. We can create a separate ticket related to the Split-Tunnel issue on "Raspberry PI OS Lite"
@gorkapernas v3.9.53. The chanbge is ninimal. I do not expect any side effects. Simple regression check required: FW should work as before.
Verified on v3.9.53, run a sanity on a couple of Linux distros (Ubuntu 20.04 and Fedora 37) with especial attention on the FW feature, everything works as expected.
Released in v3.10.0 Beta
Bug report
Describe your environment
Describe the problem
Using Raspberry Pi OS Lite (Release date: September 22nd 2022) based on Debian bullseye from: https://www.raspberrypi.com/software/operating-systems/ https://downloads.raspberrypi.org/raspios_lite_armhf/images/raspios_lite_armhf-2022-09-26/2022-09-22-raspios-bullseye-armhf-lite.img.xz sha256sum: 9bf5234efbadd2d39769486e0a20923d8526a45eba57f74cda45ef78e2b628da
The issue is not present on a working system that uses an older version of the Raspberry Pi OS Desktop (May 2021) based on Debian buster.
Original cgroups hierarchy details on the non-working system are different from the working system:
Possible to change cgroup hierarchy to match the working system. https://raspberrypi.stackexchange.com/a/137994
Edit
/boot/cmdline.txt
to add thesystemd.unified_cgroup_hierarchy=0
bit at the end, then reboot:Confirm hierarchy on the non-working system has changed after reboot:
After changing the GRUB cmdline on the non-working system:
I have changed the cgroup hierarchy on the non-working system to match the hierarchy on the working system (hierarchies are the same), but the issue persists, so the issue does not seem to be
systemd.unified_cgroup_hierarchy
related.Non-working system:
Working system (not connected is same as connected with firewall ON + lan allow):
Same list on both systems, hierarchy numbers are different. This is from the-non-working system:
Not-working:
Working:
nftables
is not installed on the working system. It is installed by default on the non-working system.Not-working:
Working (no further upgrade is available):
Raspberry Pi OS project provides a 32-bit Desktop version of their OS for x86 systems. Download at the bottom of the page: https://www.raspberrypi.com/software/operating-systems/ https://downloads.raspberrypi.org/rpd_x86/images/rpd_x86-2022-07-04/2022-07-01-raspios-bullseye-i386.iso sha256sum: 5fa906df25e600bf7d7e6a5eb7b0e9b6605e60992ee6c8efe79bc99e7c2452bd
Using our build guide to compile and install
ivpn
base package, the issue is not present: https://www.ivpn.net/knowledgebase/linux/building-the-ivpn-cli-client-for-linux-on-a-raspberry-pi/This x86 installation includes the X server, a desktop environment, and GUI applications; there are 1936 installed packages. The non-working ARM installation only has 624 packages. Package lists for each system are included just in case it helps (ARM = not working, x86 = working).
arm-installed.txt x86-installed.txt