Blog

  • GTD – Getting Things Done

    The method to organize all the tasks in my professional and personal life.

  • Playing with /etc/hosts by Ansible

    dnsmasq is a better solution for this purpose, but the goal is to play with Ansible.

  • My own VPN on a VPS

    Why?

    As described in the post about privacy, I use my own Domain Name Server. It works great in the local network, but I am not able to access it from outside.

    That’s why I need my own VPN server.

    Other possible solutions

    Port Forwarding on my home router – impossible, because I don’t have access to the admin’s configuration. Besides, I don’t have static IP. There are solutions like Dynamic DNS, but they are not reliable on the long run,

    Tailscale (or other similar commercial solution) – it would work, but it’s not so much fun.

    The VPN server configuration

    The configuration is simple:

    [root@vps-dc91297d fedora]# cat /etc/wireguard/wg0.conf 
    [Interface]
    Address = 10.8.0.1/24
    ListenPort = 51820
    PrivateKey = (redacted)
    
    PostUp = firewall-cmd --direct --add-rule ipv4 filter FORWARD 0 -i wg0 -j ACCEPT
    PostDown = firewall-cmd --direct --remove-rule ipv4 filter FORWARD 0 -i wg0 -j ACCEPT
    
    # Example peer (add one per client)
    [Peer]
    PublicKey = (redacted)
    AllowedIPs = 10.8.0.2/32
    
    [Peer]
    PublicKey = (redacted)
    AllowedIPs = 10.8.0.3/32

    The VPN Clients’ configuration

    root@komputer01:/etc/wireguard# cat wg0.conf 
    [Interface]
    PrivateKey = (redacted)
    Address = 10.8.0.3/24
    
    [Peer]
    PublicKey = (redacted) 
    Endpoint = vpn.tomasz-avila.pl:51820
    AllowedIPs = 10.8.0.0/24   # route all VPN traffic through the server
    PersistentKeepalive = 25

    The results

    [root@vps-dc91297d fedora]# wg show
    interface: wg0
      public key: (redacted)
      private key: (hidden)
      listening port: 51820
    
    peer: c2dz9nLrd7bYfyTFj7fMQHBMkHaIz7GFoH1bRK+ermY=
      endpoint: 46.205.194.178:60080
      allowed ips: 10.8.0.3/32
      latest handshake: 15 seconds ago
      transfer: 10.89 MiB received, 3.80 MiB sent
    
    peer: XoOt5kWRfvUSFf8I+SGUHcDcC9TeNloifDspq9uw0BI=
      endpoint: 185.246.208.88:39392
      allowed ips: 10.8.0.2/32
      latest handshake: 1 minute, 5 seconds ago
      transfer: 4.07 MiB received, 11.15 MiB sent

    Now, I am able to connect to all my devices from all around the world.

  • Privacy Project

    Why does it matters?

    Why does it matters paragraph

    Web Browser: Librewolf

    Paragraph

    Custom DNS on Raspberry PI

    Paragraph

    Private notes: Joplin

    Paragraph

    Private files: Cryptomator

    Paragraph

    Accessing DNS from outside LAN

    I will describe it in the following article:

  • Hello world!

    Welcome to WordPress. This is your first post. Edit or delete it, then start writing!