Hello! I (tried, at least) converted an old laptop to a Debian home server, and I was trying to set up duckdns.org and to enable port forwarding on my router. internet connection was working, I installed packages, docker, immich, etc, and then suddenly (I don’t know exactly when) it refuses to connect to the internet. It does connect to local addresses (I can ssh into it) but ping google.com and any other internet-involving command fail. I had set up a rule on the router to forward port 80 to the device’s port 80, but I then removed the rule and it still does not connect to the internet. I rebooted the router but nothing changed. Any idea what could be? the router is a Vodafone router.

I changed the hostname to debianserver but on the router it is still written debian. Also, it’s the only device with unknown ipv6

thanks in advance!

EDIT: I rebooted again the server, and now ipv6 is not unknown anymore, and the hostname is correct. however, it still does not connect to the internet

EDIT 2:

only one device (debianserver) has this problem, other devices work as before

EDIT 3:

I don’t know if it’s useful or not, but if I boot a live debian USB in the server internet works

SOLUTION: aaaaand no it does not work, after restarting docker it seems to work because all the brodges are yet to be created and it takes some time, after like 30 seconds it does not work as before :(

  • edit the file /lib/systemd/system/docker.service
  • append the flag --bip=192.168.3.1/24 to ExecStart=....
  • systemctl daemon-reload
  • systemctl restart docker

docker was the fucker that messed everything up and made me lose a few hours!

EDIT 4:

it seems that ip route flush 0/0 restores the internet connectivity until reboot… I don’t know what does this means but can be a temporary workaround I guess? I really have no idea how to solve this

FINAL EDIT: I gave up. I removed debian and installed fedora, and now it all works like a charm

  • Stantana@lemmy.sambands.net
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    10 个月前

    I bet it has something to do with the LAN DHCP setup, since you have to set a static IP for the server…

    Update - That won’t work at all if it is indeed the issue. Let me think for a sec on how to pull external ip by doing a IP wget…

      • Stantana@lemmy.sambands.net
        link
        fedilink
        arrow-up
        3
        ·
        10 个月前

        Yeah, I realized after the fact. This should work: wget 104.18.114.97, and you should get a ERROR 403: Forbidden if your server has any internet connection.

        • tubbadu@lemmy.kde.socialOP
          link
          fedilink
          arrow-up
          2
          ·
          10 个月前
          tubbadu@debianserver:~$ wget 104.18.114.97
          --2024-01-18 21:35:38--  http://104.18.114.97/
          Connecting to 104.18.114.97:80... failed: No route to host.
          

          really really thanks for the help!

          • Stantana@lemmy.sambands.net
            link
            fedilink
            arrow-up
            3
            ·
            edit-2
            10 个月前

            Please try wget https://104.18.114.97, if this one goes through I’d think the problem could be related to a faulty forwarding of regular internet traffic (port 80). If that fails as well I’d guess it’s to due with the DHCP/Static IP’s and involves your router. I’m absolutely clueless about Vodafone routers though.

            Edit: Any connection would show “The certificate’s owner does not match hostname ‘104.18.114.97’”

              • Stantana@lemmy.sambands.net
                link
                fedilink
                arrow-up
                2
                ·
                10 个月前

                Something is completely shutting your server off from the internet, despite it having full LAN access. The only time I’ve run into this exact issue was when I misconfigured the firewall on a server, effectively only allowing for local connections. I simply started over by reinstalling Debian, wiping all my mistakes. But it could also be a setting on your router, and without you knowing what changes you made it’s hard to give any reasonable advice.

                These are just shots in the dark, and other might offer better solutions but I’d try;

                1. Boot the laptop into a live session directly from USB. All settings are default. Test again, either wget or maybe ping a website. If it works, it’s the server setup and I’d start over. If not…

                2. Try reversing all changes on the router, give the server a different static IP.

                3. Back up the router configuration to a file, consider making notes of important changes, reset the router and try again. If it STILL doesn’t work you can restore the important settings. If it works, you can reimplement the settings from your notes. (unless we’re talking manually imported VPN certificates and similar lol)

                Sorry I wasn’t able to help you out, I’m hosting from home and it’s a fantastic thing when things


                I don’t know if it’s useful or not, but if I boot a live debian USB in the server internet works

                Haha yes, as mentioned. The issue is a setting on your laptop server installation. The simplest thing is just reinstalling and starting over.

                • tubbadu@lemmy.kde.socialOP
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  10 个月前

                  The issue is a setting on your laptop server installation. The simplest thing is just reinstalling and starting over.

                  this is probably a good news I think, because it’s only tedious but easy to solve If there’s a way to do it without having to reinstall immich on docker would be awesome, but perhaps it’s faster to reinstall everything than to look for a way to do this

                  thank you very very very VERY much for your help!!!

                  • Stantana@lemmy.sambands.net
                    link
                    fedilink
                    arrow-up
                    1
                    ·
                    edit-2
                    10 个月前

                    Happy to help, sorry I can’t offer a simpler solution that avoids reformatting. It’s probably doable if you want to do more fine grain troubleshooting but I’ve never found it to be worth the time.

                    For my home self-hosting I also prefer pre-made scripts exactly to avoid having to manually set up everything. It’s such a slog and particularly if I have to restart from scratch. What’s the goal of your project, perhaps something like Yunohost or even DietPi could save you a lot of work and get straight to the fun of self-hosting?

            • tubbadu@lemmy.kde.socialOP
              link
              fedilink
              arrow-up
              1
              ·
              10 个月前

              Edit: Any connection would show “The certificate’s owner does not match hostname ‘104.18.114.97’”

              sorry I don’t think I understand, where should this be written?

              • Stantana@lemmy.sambands.net
                link
                fedilink
                arrow-up
                2
                ·
                10 个月前

                Here I’ve tried wget https://104.18.114.97. It’s able to connect to the IP on port 443, but shows an error message since I’m not using a domain name. But at least I know I’ve reached the server.

          • gornius@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            edit-2
            10 个月前

            You mentioned you changed firewall rules for that device. Any chance you have set outbound rule instead of inbound rule?

            Anyway, what’s the output of ip route?

            • tubbadu@lemmy.kde.socialOP
              link
              fedilink
              arrow-up
              1
              ·
              10 个月前

              Anyway, what’s the output of ip route?

              tubbadu@debianserver:~$ ip route
              0.0.0.0 dev veth60f206e scope link
              0.0.0.0 dev veth48a6716 scope link
              0.0.0.0 dev vethdf7381d scope link
              0.0.0.0 dev veth59e46aa scope link
              0.0.0.0 dev vethac4830e scope link
              default dev veth60f206e scope link
              default dev veth48a6716 scope link
              default dev vethdf7381d scope link
              default dev veth59e46aa scope link
              default via 192.168.1.1 dev enp1s0
              169.254.0.0/16 dev vethac4830e proto kernel scope link src 169.254.241.201
              169.254.0.0/16 dev veth59e46aa proto kernel scope link src 169.254.97.105
              169.254.0.0/16 dev vethdf7381d proto kernel scope link src 169.254.212.49
              169.254.0.0/16 dev veth48a6716 proto kernel scope link src 169.254.26.74
              169.254.0.0/16 dev veth60f206e proto kernel scope link src 169.254.212.242
              172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
              172.18.0.0/16 dev br-56cf32fc7cde proto kernel scope link src 172.18.0.1
              192.168.1.0/24 dev enp1s0 proto kernel scope link src 192.168.1.9
              192.168.1.1 dev enp1s0 scope link
              

              You mentioned you changed firewall rules for that device. Any chance you have set outbound rule instead of inbound rule?

              All I did was doing this and press Save:

              (now I rewrote it just to take the screenshot)

              after internet stopped working I edited it to set the port to 443, and then I removed the rule. there are no rules now