this post was submitted on 11 Mar 2025
36 points (87.5% liked)

Selfhosted

44065 readers
618 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I have no idea why this is happening on my arch linux machine. I was trying to set it up as a client device, and now i have no internet connection on my wired network. This is bare metal not docker. I just wanted to add the device to my tailnet.

Any help is appreciated

Thank you for your time.

EDIT: I have completely uninstalled tailscale yet I still do not have internet access. I am connected to the network fine. If i cinnect through wifi it is the same result.

EDIT 2: the error I am recieving is limited connectivity.

EDIT 3: It has been fixed! scrion@lemmy.world solution fixed it!

top 37 comments
sorted by: hot top controversial new old
[–] TORFdot0@lemmy.world 1 points 4 hours ago

It looks like you fixed your issue but I had the same thing happen on windows 10 so I am gonna post how I fixed it in case someone runs across this thread later.

In my case everything had been working previously but after an arbitrary reboot, my windows 10 PC could ping the local network and nothing else suddenly. No access to the tailnet, Internet; DNS or otherwise. On the wired interface that is. I could connect to WiFi and it would work just fine. I had a DHCP reservation set, deleted the reservation, let it get a new IP and then it worked. No idea why? Recreated the reservation and it still worked back on the old IP again

[–] scrion@lemmy.world 19 points 13 hours ago* (last edited 13 hours ago) (2 children)

I don't know what your previous setup was, but given that running resolved fixes your DNS issues, run:

ln -sf ../run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

This will point programs that use /etc/resolved.conf during DNS resolution to the local DNS server provided by systemd-resolved.

Then, enable resolved so that it is started when you reboot:

systemctl enable systemd-resolved.service

Finally, start the service so that it is available immediately:

systemctl start systemd-resolved.service

You will want it run those with the required permissions, e. g. via sudo.

[–] Engywuck@lemm.ee 13 points 12 hours ago

"It's always DNS"

[–] ludicolo@lemmy.ml 5 points 13 hours ago

This seems to have fixed it!! Thank you so much!

[–] cecilkorik@lemmy.ca 8 points 14 hours ago

I don't use arch (shocking I know), so I can't help you directly, but I will recommend instead that you invest some effort in learning about the Linux networking stack. It's very powerful and can be very complicated, but usually the only thing you need to do to get it working is something very simple. Basically all distributions use the Linux kernel networking stack under the hood, usually with only a few user-interface sprinkles on top. Sometimes that can get in your way, but usually it doesn't. All the basic tools you need should be accessible through the terminal.

The most basic things you can check are ip a which should show a bunch of interfaces, the one you're particularly interested in is obviously the wired interface. This will tell you if it's considered and whether it has an "inet" address (among other things). If it doesn't, you need to get the interface configured and brought up somehow, usually by a DHCP broadcast. Network Manager is usually responsible for this in most distributions. Arch seems to have some information here.

If those things look good, next step is to look at ip r which will tell you the routes available. The most important one is the default route, this will tell your system where to send traffic when it isn't local, and usually sends traffic to an internet gateway, which should've been provided by DHCP and is usually your router, but could also be a firewall, the internet modem itself, or something else. The route will tell it what IP the gateway has, and what interface it can be found on.

Assuming that looks good, see if you can ping the gateway IP. If your packets aren't getting through (and back) that suggests something is wrong on a lower level, the kernel firewall might be dropping the packets (configuring the kernel firewall is a whole topic in itself) or one of the IPs is not valid and is not registered properly on the network, or the physical (wiring) or the hardware on either end is not functioning or misconfigured.

If you can ping the gateway successfully, the next step is to see if you can ping the internet itself by IP. ping 8.8.8.8 will reach out to one of Google's DNS servers which is what I usually use as a quick test. If you get no response then it's either not forwarding your traffic out to the internet, or the internet is not able to get responses back to it, and ultimately back to you. Or Google is down, but that's not very likely.

If you've gotten this far and 8.8.8.8 is responding to you, then congratulations, you HAVE internet access! What you might NOT have is DNS service, which is what translates names into IP addresses. A quick test for DNS is simply to ping google.com and like before, if that fails either your DNS is broken or Google is down, which is still not very likely.

Hopefully this will help you at least start to find out where things are going wrong. From there, hopefully you can at least steer your investigation in the right direction. Good luck!

[–] infinitejones@sh.itjust.works 14 points 17 hours ago (2 children)

I've had similar problems in the past - apparently no internet connection, and both times I narrowed it down to the machine being unable to resolve domain names.

Turns out Tailscale had changed the IP address for the machines' DNS resolution in resolv.conf to 100.100.100.100

That's fine when the machine is connected to Tailscale but not when it isn't!

Reverting the DNS IP back to whatever it was previously, or to something like 1.1.1.1 solved the problem for me, at least to the extent that it could resolve URLs again.

Worth a look, if only to rule it out...?

[–] possiblylinux127@lemmy.zip 2 points 14 hours ago

resolv.conf is usually set by systemd network manager. You should change the setting in /etc/systemd/... (Idk I forgot the full path)

[–] ludicolo@lemmy.ml 1 points 16 hours ago* (last edited 16 hours ago) (2 children)

I try to nano into my resolv.conf but it appears to only be a symbolic link file. I apologize for my ignorance but is there any other way to revert my dns back?

EDIT: the symbolic link leads to a directory that does not exist:

/run/systemd/resolve/stub-resolv.conf

[–] fossphi@lemm.ee 3 points 16 hours ago (1 children)

What's the output of systemctl status systemd-resolved

[–] ludicolo@lemmy.ml 1 points 16 hours ago (1 children)

○ systemd-resolved.service - Network Name Resolution Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; disabled; preset: enabled) Active: inactive (dead) Docs: man:systemd-resolved.service(8) man:org.freedesktop.resolve1(5) https://systemd.io/WRITING_NETWORK_CONFIGURATION_MANAGERS https://systemd.io/WRITING_RESOLVER_CLIENTS

[–] badlotus@discuss.online 3 points 15 hours ago* (last edited 15 hours ago) (2 children)

Have you tried deleting /etc/systemd/resolved.conf and restarting the service with systemctl restart systemd-resolved?

[–] ludicolo@lemmy.ml 1 points 14 hours ago (1 children)

Ok wtf. I retried this solution and it worked for some reason. I have no idea what happened differently. I didn't delete the file because it was already gone.

However if I restart it breaks again.

[–] badlotus@discuss.online 2 points 14 hours ago

I found an informative post about a related issue that might be of some use to you. Sounds like DHCP or Network Manager may be rewriting your systems-resolved.conf.

https://joshrnoll.com/my-tailscale-dns-woes/

[–] ludicolo@lemmy.ml 1 points 15 hours ago (1 children)

That did not work, I deleted the file and then I restarted the service. I then restarted the pc just to make sure. Still no internet access and still same limited connectivity error.

[–] possiblylinux127@lemmy.zip 1 points 14 hours ago (1 children)
[–] ludicolo@lemmy.ml 1 points 14 hours ago

None of those config files exist in that folder location.

[–] pipe01@programming.dev 3 points 16 hours ago (1 children)
[–] ludicolo@lemmy.ml 2 points 16 hours ago

Yes it does

[–] badlotus@discuss.online 2 points 16 hours ago* (last edited 16 hours ago) (1 children)

Did you undo the reverse path strict filtering your guide suggested?


net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1

Above is what the guide suggests to force reverse path strict filtering. Try setting as shown below:


net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0

According to the guide, “By default, these are set in /usr/lib/sysctl.d/50-default.conf

[–] ludicolo@lemmy.ml 1 points 16 hours ago (1 children)

No I did not edit this at all. Bkth were set to the value '2'

I changed them both to 0 and 1 and it did not fix my issue 🫤

[–] Agility0971@lemmy.world 1 points 7 hours ago

Hold up. Dont change stuff in /usr/lib/. That directory contains default settings that comes with packages. If you need to overwrite those settings use /etc for that.

[–] possiblylinux127@lemmy.zip 1 points 14 hours ago* (last edited 14 hours ago) (1 children)

What do you mean by not working? What part of the network stack is the problem? Can you ping any IP addresses? Start with a local device and then move to public IPs. If that works check DNS.

Edit: it sounds like DNS is borked. What happens if you do a full restart?

[–] ludicolo@lemmy.ml 1 points 14 hours ago

I can ping 1.1.1.1 and localhost but pinging google.com comes up with "temporary failure in name resolution"

I was able to get internet working by running the cimmand suggested by badlotus (I had already deleted the file they told me to the first time and then run the cimmand. So i didn't delete it again because it was gone.) When I run that command my internet cimes back. However if I restart the issue comes back.

[–] SuperUserDO@sh.itjust.works 1 points 14 hours ago (1 children)

Let us know the following

If ping works for: localhost, your gateway, 1.1.1.1, google.com.

The contents of your /etc/resolve.conf

If you have a tun0 interface (ifconfig or ip a)

You said you uninstalled tailscale. Are there any running process or active systemd units laying around?

[–] ludicolo@lemmy.ml 1 points 14 hours ago* (last edited 14 hours ago) (1 children)

So I was able to get it working again by doing this solution that badlotus suggested. I did not delete the file because it was already gone after the first timw I attempted this. If I reboot my device however the issue comes back. If I run the command again my internet is back.

Badlotus' solution:

"Have you tried deleting /etc/systemd/resolved.conf and restarting the service with systemctl restart systemd-resolved?"

[–] SuperUserDO@sh.itjust.works 1 points 11 hours ago* (last edited 11 hours ago)

Good that it's working (kinda).

So it sounds like your DNS resolver is botched. Id dig into the doc on how systemd-resolverd should look and see if you can't rectify what went wrong (the arch wiki should have examples of what a default config looks like).

I don't remember if arch uses cloud init configs but it being reset at boot feels like a cloud init config problem.

[–] litchralee@sh.itjust.works 1 points 17 hours ago (1 children)

It would help if you could recall what steps you did, a link to the instructions you followed, and what you're currently observing. Otherwise, we're all just guessing at what might be amiss.

[–] ludicolo@lemmy.ml 1 points 17 hours ago (1 children)

This is the guide I followed:

https://tailscale.com/kb/1036/install-arch

I then restarted because I was getting several errors when trying to use the tailscale up command.

After thay restart I was able to get tailscale up to work but that is when the issue with limited connectivity arose.

[–] just_another_person@lemmy.world 1 points 15 hours ago (1 children)

Did you insert the sysctl values and reboot?

[–] ludicolo@lemmy.ml 1 points 14 hours ago* (last edited 14 hours ago) (1 children)

I did and thay did not change anything.

As of right now I have tailscale uninstalled so I will reinstall it and try the values again.

EDIT: lol I forgot I do not have internet I cannot reinstall tailscale

EDIT 2: Pinging 1.1.1.1 works

[–] just_another_person@lemmy.world 1 points 14 hours ago (1 children)

Well only your DNS is broken, so that's all that needs to get fixed. Are you POSITIVE you're using systemd resolve and not networkmanager?

[–] ludicolo@lemmy.ml 1 points 14 hours ago (1 children)

Yeah I am positive I am running systemd

[–] just_another_person@lemmy.world 1 points 14 hours ago (1 children)

What's happening in journalctl -u systemd-resolved?

[–] ludicolo@lemmy.ml 1 points 14 hours ago* (last edited 14 hours ago) (1 children)

-- Boot b3a9a949f8d1499fb0404672a02d2e34 -- Mar 11 21:04:21 arch systemd[1]: Starting Network Name Resolution... Mar 11 21:04:21 arch systemd-resolved[1296]: Positive Trust Anchors: Mar 11 21:04:21 arch systemd-resolved[1296]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d Mar 11 21:04:21 arch systemd-resolved[1296]: . IN DS 38696 8 2 683d2d0acb8c9b712a1948b27f741219298d0a450d612c483af444a4c0fb2b16 Mar 11 21:04:21 arch systemd-resolved[1296]: Negative trust anchors: home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.a rpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-addr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa 170.0.0.192.in-addr.arpa 171.0.0.192.in-addr.arpa 168.192.in-addr.arpa d.f.ip6.arpa ipv4only.arpa resolver.arpa corp home internal intranet lan local private test Mar 11 21:04:21 arch systemd-resolved[1296]: Using system hostname 'arch'. Mar 11 21:04:21 arch systemd-resolved[1296]: mDNS-IPv4: There appears to be another mDNS responder running, or previously systemd-resolved crashed with some outstanding transfers. Mar 11 21:04:21 masonarch systemd-resolved[1296]: mDNS-IPv6: There appears to be another mDNS responder running, or previously systemd-resolved crashed with some outstanding transfers.

[–] just_another_person@lemmy.world 1 points 14 hours ago* (last edited 13 hours ago) (1 children)

See if this helps at all:

sudo systemctl revert systemd-resolved
sudo systemctl restart systemd-resolved

Also, what does ls -lh /etc/resolv* show?

[–] ludicolo@lemmy.ml 1 points 13 hours ago (1 children)

The issue fixes after the restart command but when I reboot it cimes back.

'ls -lh /etc/resolv*' spits out:

lrwxrwxrwx 1 root root 37 Mar 11 16:48 /etc/resolv.conf -> /run/systemd/resolve/stub-resolv.conf

[–] just_another_person@lemmy.world 1 points 13 hours ago

I really think you have conflicting resolvers running on startup, which would explain this. Double check your systemd units that are enabled on boot. If you don't see anything like networkmanager, reboot the machine, get the status of systemd-resolv to make sure it's actually running after a fresh boot, check the logs and see if you see anything interesting there, then restart it and check the logs again once DNS works. Something is different between those two actions.