DNS Filter script was broken after release upgrade, stopping all IPV4 and IPV6 connections
Describe your issue
What's the expected behaviour?
Be able to use wifi normally.
What's the current behaviour?
IPv4 and IPv6 requests are blocked.
How to reproduce your issue?
Not sure. I had a working postmarket OS install on a version (v22 or older, not sure the exact version). Wifi was working well. I upgraded to 23.06 using the instructions from the wiki, and after a successful install and reboot DNS wasn't working. I will add more details including a fix at the end.
What device are you using?
OnePlus 6
On what postmarketOS version did you encounter the issue?
-
edge (
master
branch) -
v23.12
-
v23.06
(supported until 2024-01-18) -
I confirm that the issue still is present after running
sudo apk upgrade -a
On what environment did you encounter the issue?
Environments
- GNOME Shell on Mobile
- Phosh
- Plasma Mobile
-
Sxmo (Wayland/Sway) Please post the output of
sxmo_version.sh
- Other: Please fill out
How did you get postmarketOS image?
- from https://images.postmarketos.org
- I built it using pmbootstrap
- It was preinstalled on my device
What's the build date of the image? (in yyyy-mm-dd format)
Additional information
I am able to connect to wifi connections normally, but cannot open any website or ping
/nslookup
anything.
nslookup google.com
would be empty
nslookup google.com 8.8.8.8
would return results (ipv6 only, ipv4 empty). leading us to investigate the dns issue
The fix that worked for me was
sudo chmod -x /etc/NetworkManager/dispatcher.d/99-dns-filter.sh;
sudo service networkmanager restart
So your problem is with the filtering script that's supposed to block IPv4 / IPv6 responses when connected to wifi if the wifi doesn't support it. But this detection is evidently broken for you and causing both v4 and v6 to be disabled The intent is that if the wifi only supports v4 and mobile data supports both, then we want to artificially fail v6 lookups, otherwise the application may end up using v6 over mobile data and cost the user money The "fix" I asked you to do is to mark it non-executable so that NM does not run it because it's evidently breaking for you
Big thanks for Arnavion on matrix for the incredible help