On Mon, 2017-07-10 at 11:47 +0200, Xavier Bestel wrote: Hi,
> I have a machine with 3 interfaces (well, technically there are more > of > them but let's ignore that): > - one "upstream" eth0 interface with a public IPv4 address > - one "local" eth0 interface, 192.168.1.x > - one "local" wlan0 interface, 192.168.2.x > > I want my machine to act a a router for the "local" network, i.e.: > - NAT-ing the public IPv4 upstream address to local nets > - have every machines in the local nets to be accessible to each > other > - have every machines names visible to each other > > In fact I'd like to configure NM for my machine to act like a regular > OpenWRT router. However I'm stuck with a few problems: > - NM creates many dnsmasq instances which do not communicate with > each > other, so machines from 192.168.1.x can't see names of 192.168.2.x Well, NM's ipv4.method=shared is supposed to be something simple, with simple use-cases. For example, sharing the internet via Wi-Fi to your phone. Your scenario sounds rather complex, so NM might not be the best tool. You can drop dnsmasq configurations to /etc/NetworkManager/dnsmasq- shared.d/, but I don't think that is sufficient. You could also not use ipv4.method=manual, but start the dnsmasq service via a dispatcher script (see `man NetworkManager`). Also configure forwarding and NAT/iptables. > - NM fails to setup routes correctly, see > https://bugzilla.gnome.org/sh > ow_bug.cgi?id=782348 yeah, that sucks. I don't know why. > - I can't find a way to have a "global" dnsmasq (manually configured) > running and still have NM setup the eth1 and wlan0 interfaces > correctly > (especially the access point) How exactly does a global dnsmasq interfere with NM? Depends on your configuration, but in principle that should work. As DNS server, the dnsmasq instance(s) should not bind to conflicting :53 ports. See "listen-address". If you run a global DNS server, you may want to configure dns=none in `man NetworkManager.conf`. Or `dns=default && rc-manager=unmanaged` > Is my need so alien to NM ? Or is there some doc somewhere on how to > do > that ? No. ipv4.method=shared is rather simple though. - you may add config files to /etc/NetworkManager/dnsmasq-shared.d/ - you may configure ipv4.addresses. The first one, determines the IP range for DHCP. - ipv4.dns and ipv4.dns-search settings work - for debugging, set "NM_DNSMASQ_DEBUG=1" environment variable for NetworkManager (in NM's systemd-service file). - observe the argument that NM passes to dnsmasq. - see https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/src/dnsmasq/nm-dnsmasq-manager.c?id=0c23191b01fb0582d8f3d470f463afdabc2fdf46#n149 https://cgit.freedesktop.org/NetworkManager/NetworkManager/tree/src/devices/nm-device.c?id=0c23191b01fb0582d8f3d470f463afdabc2fdf46#n8320 best, Thomas
signature.asc
Description: This is a digitally signed message part
_______________________________________________ networkmanager-list mailing list [email protected] https://mail.gnome.org/mailman/listinfo/networkmanager-list
