I've been trying to solve this for days and I genuinely can't figure it out. I setup ethernet on my machine today that dual boots windows 11 and arch, the ethernet on windows 11 works but the ethernet on arch doesn't. It shows that the ethernet is connected in that it has the ethernet symbol on the waybar and I have to disable the enp5s0 device via terminal to be able to search anything up, as when I attempt to ping anything on ethernet, it just says "destination host unreachable." My MAC address is also the same on both windows and linux, so there's not randomized mac address funny business going on. I can't tell if I'm a moron and if this is something simple or not. I don't have NetworkManager or dhcpcd anything like that, I only have iwd and systemd-networkd.
More context:
Windows fast startup is disabled. I'm not using iwd network configuration, just networkd. I live in an apartment that uses WireStar networks as its ISP and they usually have you setup a localized network with its own password the first time you connect wirelessly so that all your devices are on their own network separate from other people in the building. Thus, my two NICs are in different CGNAT segments.
This is the output of ip a and ip r when iwd is enabled:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
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 noprefixroute
valid_lft forever preferred_lft forever
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether <MAC_REDACTED> brd ff:ff:ff:ff:ff:ff
inet 100.101.x.x/21 metric 100 brd 100.101.7.255 scope global dynamic enp5s0
valid_lft 86395sec preferred_lft 86395sec
inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether <MAC_REDACTED> brd ff:ff:ff:ff:ff:ff
inet 100.64.xxx.xxx/24 metric 600 brd 100.64.169.255 scope global dynamic wlan0
valid_lft 86235sec preferred_lft 86235sec
inet6 fe80::1xxxx:xxxx:xxxx:xxxx/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
link/ether <MAC_REDACTED> brd ff:ff:ff:ff:ff:ff
inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
valid_lft forever preferred_lft forever
~ ❯ ip r
default via 100.101.x.1 dev enp5s0 proto dhcp src 100.101.x.x metric 100
default via 100.64.xxx.1 dev wlan0 proto dhcp src 100.64.xxx.xxx metric 600
100.64.xxx.0/24 dev wlan0 proto kernel scope link src 100.64.xxx.xxx metric 600
100.64.xxx.1 dev wlan0 proto dhcp scope link src 100.64.xxx.xxx metric 600
100.101.x.0/21 dev enp5s0 proto kernel scope link src 100.101.x.x metric 100
100.101.x.1 dev enp5s0 proto dhcp scope link src 100.101.x.x metric 100
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown