[–] 2 points 2 weeks ago

I actually don’t remember off the top of my head, huh. The output chain is not the one I use often. I'd think nft add rule tracing filter output ip protocol icmp icmp type echo-reply meta nftrace set 1 would do it. Just make sure the priority is low enough again.

  • source
  • parent
  • context
  • [–] 1 point 3 weeks ago

    systemd will try to save any kernel panics in pstore via systemd-pstore, if it's enabled in your kernel. I'd check /var/lib/systemd/pstore and see if anything in there on the next boot.

    Can you elaborate on ping "running"? Do you get actual icmp replies coming back? Because there's no code path I can imagine where a ping would cause hdd activity (on a normally running system).

    If ssh times out (and you don’t do anything fancy with the firewall), then it's not sshd dead, it's sshd not being able to respond. Grab a tcpdump for dst port 22 from your local machine while RPi is stuck and see if you get any replies whatsoever or it's just retransmits going into the void.

    My first rough suspicion would be ram abuse. Something eats up all ram and the system locks up and semi-dies. Pstore would have OOMs. You could run a local script for telemetry recording too to see if ram use spikes up before the system gets unresponsive.

  • source
  • [–] 4 points 3 weeks ago (4 children)

    nftables offers a very decent debugging interface. First, you add a rule to trace the packet (a new chain with high priority works best). Usually I’d suggest to add those rules by hand instead of relying on declarative configs:

    nft add table ip ping_trace
    nft 'add chain ip ping_trace prerouting { type filter hook prerouting priority -301; policy accept; }'
    

    Then you add the actual tracing rule there with the shape to match the incoming traffic:

    nft 'add rule ip ping_trace prerouting icmp type { echo-request, echo-reply } meta nftrace set 1'
    

    now you can run nft monitor trace and see the decisions made for the matching packets. Remember to delete the ping_trace table afterwards to clean up.

  • source
  • [–] 3 points 1 month ago (1 child)

    First on how to get an ASN: you can buy it for reasonably cheap from a LIR. Some will even toss a free /48 with that. Happy to offer names in private so that there's no advertising. Expect a budget quoted above.

    Once you have an ASN, you need to get an upstream - actually two as RIPE mandates at least two (otherwise why’d you need an ASN). Some LIRs would offer transit with ASN purchase. You can upstream via your ISP, if they allow you to (that's very rare). Another option is a tunnel (there are free and paid ones) or a VM somewhere (some cloud providers offer to set up bgp with VMs they host). Generally, free ones are enough for basic stuff. Not much bandwidth and oftentimes IPv6 only, but you don’t pay anything either. Besides, you can ask around in various network related chats. Practically, I can offer ip transit with some marginally low burstable bandwidth, and that’s pretty common. You can look/ask around https://discord.gg/ipv6 for example.

    For getting ASN to your homelab you’re looking at a tunnel option, most probably. Great if you have static ipv4 - allows you to use more common tunnels, but is still doable with a floating IP (e.g. check bgptunnel).

  • source
  • parent
  • context
  • [–] 2 points 1 month ago (4 children)

    BGP anycast person here. If you have any presence in the region RIPE operates in then the pricing is within the homelab reach. ASN and a block of /48 would be about 70 EUR/year.

    Alternatively, something like route64 would happily tunnel you IPs they announce for about 2 EUR/month.

  • source
  • [–] 4 points 4 months ago

    I actually had lots of fun writing a clojure compiler in rust that would target wasm. This allows to write it all in rust and then get it to self-host bit by bit.

  • source
  •  

    Federation is eventually consistent, but when we're talking practical terms, how long is too long for a node to be offline?

    I suffered a bit of a data loss and while I was able to recover my mastodon instance within 2 days, lemmy took me a week and I don't see anyone spamming the inboxes again.

    Should I expect that other servers effectively defederated me and should I resubscribe to my communities or I should give it a few days?

     

    I finally got to cleaning up the metrics in my homelab and researched the means to separate my long-term and short-term data. This way you can scrape all kinds of noisy sources (e.g. kubernetes) while having a separate store for things you want to observe on longer time windows (months and years). The best thing? It's transparent for grafana and the like, so you can keep all your dashboards intact.

     

    I moved off a Synology NAS to a self-managed machine and one thing I still struggle to replace is something like a synology drive. Here are my requirements:

    • server side store data in a plain FS (I want transparency)
    • client side (windows), it must support VFS (download files when needed, support offloading of large files)
    • having snapshots of data is a must

    I have a 40gbit uplink to my desktop, so if everything else fails I’ll just use samba with zfs snapshots exposed to VSS, but we’re talking some large files still (think several hundreds of MBs) and I’m not sure Blender will be happy working off a network disk.

    I’ve been pointed to next/own-cloud previously, but they don’t seem to cover my use case, I think. Should I actually try one of those? I browsed around owncloud's storage bit (which is written in go), and it seems mostly fitting, but I’ve been told I should steer away from ownCloud towards nextCloud.

     

    I’m reading the ActivityPub spec here and it seems pretty fit for client-to-server communications. Yeah, it might be somewhat bulkier than your typical rest api, but it's more universal, which begs the question: why do mastodon and lemmy both decided to implement custom (and incompatible) APIs for their clients to talk to the servers? Wouldn’t it be more straightforward if e.g. my voyager app talked ActivityPub to lemmy.world which then talked ActivityPub to lemmy.ml or something.

    What am I missing?

    submitted 3 years ago* (last edited 3 years ago) by to c/fediverse@lemmy.world
     

    I wasn't sure how to find the communities I'm interested in, so I quickly hacked together a scraper that makes a list of all the communities(1) of all the servers mine is federating to(2).

    You can find it (with a very trivial UI) at directory.fstab.sh. Hover over the link to see the description. Use the search bar to search by text.

    Is this something useful or there was a better way to do the same?

    • (1) it does its best to scrape them all but incidents might happen
    • (2) updated nightly
    view more: next ›