Ben "Werner" Zucker

  • 21 Posts
Joined 1 year ago
Cake day: July 1st, 2023


  • Use a firewall to block all outgoing packages through all interfaces but lo and tun (or wg for Wireguard). Like this for iptables:

    -A FORWARD -j REJECT --reject-with icmp-port-unreachable
    -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A OUTPUT -o lo -j ACCEPT
    -A OUTPUT -d -p udp -j ACCEPT #replace with public IP of your VPN you try to connect
    -A OUTPUT -p icmp -j ACCEPT
    -A OUTPUT -o tun+ -j ACCEPT #replace with wg+ for Wireguard
    -A OUTPUT -j REJECT --reject-with icmp-port-unreachable

    If you are paranoid you could mess with INPUT table as well but if OUTPUT is configured properly nobody well ever know your real IP address.

    Not sure how well this works with Docker and such, I use LXC containers.

    The funny thing is that I am actually seeding Linux ISOs (yes, real ones). The reason I am using a VPN to seed those is because the ISP is complaining about random peers hitting (non-existing obviously) addresses in private IPv4 ranges (like and instead if simply dropping those packages at the switch … oh well. I guess some people have multiple peers connected to each other via private networks but external peers don’t know about these connections and simply try to reach them on their private addresses over public internet.

    Anyway yeah I could mess with routing table on my server and null-route those ranges but I have an active VPN contract already so why not using it?