35
submitted 6 months ago by Shinji_Ikari@hexbear.net to c/linux@lemmy.ml

I'm trying to set up a somewhat weird network configuration, three interfaces on a pi, an adhoc AP, a wireless lan, and a USB modem.

I want clients of the USB device to talk to clients of the AP, I want clients of the AP to talk to other clients and a single host on the wireless network.

Sorta simple right? Just a couple firewall rules? Well NetworkManager is a land of logical defaults that do not like to be adjusted. I had it working where the AP clients could not reach out to the internet, but could reach the USB clients. NetworkManager automagic'd a NFTables ruleset that doesn't appreciate being changed.

Okay so I'll tell NM to not use a firewall backed in the conf, firewall-backend=none, easy.

But once NM is restarted, the networking is behaving like the firewall is still active, despite NFtables and iptables reporting no rulesets, as NM has taken its ball and gone home.

I can't even figure out a baseline of "what the fuck is going on" because the level of opaque NM automagic happening behind the scenes. I just poke at it and hope something happens. Half the NetworkManager behavior is hidden in dev blog posts that you need to sift through, the official documentation just basically gives the bare minimum info for a feature.

top 21 comments
sorted by: hot top controversial new old
[-] bjoern_tantau@swg-empire.de 12 points 6 months ago

Why don't you just get rid of NM? Like you said it's more intended for easy default cases.

[-] delirious_owl@discuss.online 1 points 6 months ago
[-] lemmyvore@feddit.nl 1 points 6 months ago
[-] delirious_owl@discuss.online 1 points 6 months ago

Help. Now my DNS doesn't work because systemd expects nm

[-] lemmyvore@feddit.nl 3 points 6 months ago

🤦 Then you probably shouldn't uninstall it. When you enter a discussion about an advanced use case people are going to assume you want to manage /etc/resolv.conf and the network interfaces by hand.

[-] delirious_owl@discuss.online 1 points 6 months ago* (last edited 6 months ago)

No I'm fine to do that, but systemd overwrites it every few minutes.

[-] 8Bitz0@discuss.tchncs.de 2 points 6 months ago

You’re telling me you don’t want to update a configuration that updates a configuration that updates a configuration?

Just wait until you use Ubuntu cloud-init which updates netplan which then updates NetworkManager.

[-] delirious_owl@discuss.online 1 points 6 months ago

But once NM is gone, I don't even know how to update the thing that updates the thing that updates the thing.

My point is that NM is pretty baked-in, and I don't know how to remove it without breaking things

[-] qpsLCV5@lemmy.ml 1 points 6 months ago

use arch btw ;)

mostly kidding, but shit like this is exactly why i love arch so much. set up the entire system from ground up - no bullshit on it, and you know how (almost) every part works and what it does.

[-] allywilson@lemmy.ml 3 points 6 months ago

systemd-resolved

I feel like we're not far away from saying "There's a systemd for that."

[-] theshatterstone54@feddit.uk 1 points 6 months ago

I've been wondering about how feasible an all-systemd system would be. Like, take Arch and do a manual install but replace everything possible with systemd. Resolved, networkd, (whatever the fstab alternative is called), systemd-boot (of course) etc. And just have everything replaced by systemd as much as possible. It's an interesting idea and ClearLinux essentially did just that so I might check it out for inspiration.

[-] allywilson@lemmy.ml 1 points 6 months ago* (last edited 6 months ago)

I think Poettering did a blog post just before he left RedHat (or maybe it was just after) where he described his 'perfect' OS - it was pretty detailed, I imagine it was indeed what we'd call systemd+Linux

Edit: Found it

[-] theshatterstone54@feddit.uk 1 points 6 months ago

Holy crap, that dude is just next level. He's talking about getting absolutely everything encrypted, and here I am, not even having my root partition encrypted.

[-] drwankingstein@lemmy.dbzer0.com 12 points 6 months ago

Network Manager has been the absolute bane of my existence, however due to it being the defacto standard for most distros, one pretty much needs to support it. at the very least nmcli is... usable.

[-] Shinji_Ikari@hexbear.net 4 points 6 months ago

nmcli is quite nice actually. My only real issue with NM is keeping track of what it's doing behind the scenes.

[-] pastermil@sh.itjust.works 12 points 6 months ago

I don't think NetworkManager is in the market for "somewhat weird network configuration".

Why don't you turn it off and use dhclient or dhcpcd instead?

[-] lemmyreader@lemmy.ml 3 points 6 months ago

There used to be wicd as alternative for NM but its development is stalled. There is ConnMan though with apparently GUI and TUI options :

[-] Shinji_Ikari@hexbear.net 2 points 6 months ago

Thanks for the suggestion, but I'm using NM for managing the AP and managed connections, not so much the bare connecting to wifi things.

The only real alternative to NM in this situation is a handful of delicate config files for iwconfig and dnsmasq.

[-] krolden@lemmy.ml 1 points 6 months ago* (last edited 6 months ago)
[-] Shinji_Ikari@hexbear.net 1 points 6 months ago

So I want and have ip forwarding, and I only want to make a firewall whitelist between two of the interfaces.

I've uninstalled iptables, nftables isn't running, NM has the firewall backend disabled, and ip forwarding is on.

This should result in traffic moving between the interfaces, yet traffic is moving between two of the interfaces, and blocked between two of the interfaces. It just doesn't make sense.

[-] catfooddispenser@lemmy.ml 3 points 6 months ago* (last edited 6 months ago)

Sorry I only have this generic troubleshooting point to offer, but have you checked to see if NetworkManager might be modifying your IP routing table in unwanted ways during its operation?

From what you've described I'm under the impression that no Internet traffic needs to run through this system; perhaps NM is adding an unwanted default route?

this post was submitted on 05 May 2024
35 points (100.0% liked)

Linux

48247 readers
519 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS