I would like to configure an embedded device to behave as a wireless router, and I would like to achieve it preferably using networkd configuration files.I have two *.network files, a wired WAN interface and a wireless LAN interface, and I would like LAN traffic to be able to access WAN.# cat /etc/systemd/network/wired.network [Match]Name=eth0[Network]DHCP=ipv4IPForward=yesIPMasquerade=yesAs is common for wireless routers, the wireless LAN network anso provides DHCP. I used the systemd integrated DHCP server.# cat /etc/systemd/network/wireless.network[Match]Name=wlan0*[Network]Description = Wireless IP interfaceDHCPServer= yes[Address]Address   = 192.168.128.1/24Broadcast = 192.168.128.255[DHCPServer]PoolOffset          = 10PoolSize            = 40EmitDNS             = yesDNS                 = 8.8.8.8, 8.8.4.4DefaultLeaseTimeSec = 600MaxLeaseTimeSec     = 7200[Route]I assume there should be a NAT between the two networks, as is common for wireless routers, but it is not an explicit requirement.This is as far as I got with my current knowledge, the wired interface connects to WAN properly, and the wireless access point also provides DHCP addresses. But I am unable to access WAN (internet) if I connect to the WiFi AP.Here is some network interface status:# ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00    inet 127.0.0.1/8 scope host lo       valid_lft forever preferred_lft forever    inet6 ::1/128 scope host       valid_lft forever preferred_lft forever2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000    link/ether 00:26:32:f0:03:21 brd ff:ff:ff:ff:ff:ff    inet 192.168.178.107/24 brd 192.168.178.255 scope global dynamic eth0       valid_lft 4650sec preferred_lft 4650sec    inet6 fe80::226:32ff:fef0:321/64 scope link       valid_lft forever preferred_lft forever3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default    link/sit 0.0.0.0 brd 0.0.0.04: wlan0wext: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000    link/ether 00:1d:43:40:0d:04 brd ff:ff:ff:ff:ff:ff    inet 192.168.128.1/24 brd 192.168.128.255 scope global wlan0wext       valid_lft forever preferred_lft forever    inet6 fe80::21d:43ff:fe40:d04/64 scope link       valid_lft forever preferred_lft foreverAnd route status:# ip routedefault via 192.168.178.1 dev eth0  proto dhcp  src 192.168.178.107  metric 1024192.168.128.0/24 dev wlan0wext  proto kernel  scope link  src 192.168.128.1192.168.178.0/24 dev eth0  proto kernel  scope link  src 192.168.178.107192.168.178.1 dev eth0  proto dhcp  scope link  src 192.168.178.107  metric 1024# ip route show table localbroadcast 127.0.0.0 dev lo  proto kernel  scope link  src 127.0.0.1local 127.0.0.0/8 dev lo  proto kernel  scope host  src 127.0.0.1local 127.0.0.1 dev lo  proto kernel  scope host  src 127.0.0.1broadcast 127.255.255.255 dev lo  proto kernel  scope link  src 127.0.0.1broadcast 192.168.128.0 dev wlan0wext  proto kernel  scope link  src 192.168.128.1local 192.168.128.1 dev wlan0wext  proto kernel  scope host  src 192.168.128.1broadcast 192.168.128.255 dev wlan0wext  proto kernel  scope link  src 192.168.128.1broadcast 192.168.178.0 dev eth0  proto kernel  scope link  src 192.168.178.107local 192.168.178.107 dev eth0  proto kernel  scope host  src 192.168.178.107broadcast 192.168.178.255 dev eth0  proto kernel  scope link  src 192.168.178.107I was not able to find many examples for the [Route] section, and I only have the basic understanding of routing.Regards,Iztok Jeras
setup wireless router using systemd-networkd *.network files
wifi;router;systemd networkd