knowledgebase/journals/2023_10_17.md
2024-10-10 12:38:20 +02:00

7.3 KiB
Raw Blame History

  • Riflessioni su backend #Probo (aka ProboArena) per la somministrazione dei test
    • L'arena è un backend separato dal collector
    • Espone un API REST per ricevere i test dal collector
      • Per creare un test (collezione di quiz)GET /test/create
        • Nella richiesta vanno inseriti i quiz e i partecipanti
    • Espone un API REST per la somministrazione dei test ai partecipanti
      • Per ricevere il test da svolgere GET /{id}
        • Il parametro id identifica in maniera univoca il test da svolgere
    • Si potrebbe pensare di scrivere il db sqlite all'interno di un file locale e di trasferire tutto il file sul backend in modo da ricrearlo in remoto.
  • 10:36 quick capture: FAQ - Docker Mailserver #docker #mailserver
  • 10:43 quick capture: Configuring NGINX as a Mail Proxy Server | NGINX Documentation #nginx #selfhosting
  • Conversazione con #GPT-4 su configurazione #openvpn #wireguard
    • guard e deve servire solo per raggiungere i servizi della mia infrastruttura homelab sulla rete 10.6.0.0/24 e il DNS server all'indirizzo 10.2.0.100. L'altra VPN è basata sul servizio ExpressVPN e funziona attraverso OpenVPN. Per quest'ultima possiedo il file di configurazione ovpn. La VPN basata su ExpressVPN mi serve per "uscire" su internet. Di conseguenza, l'IP pubblico associato alla mia macchina dev'essere quello fornito da Express VPN. Mostrami la configurazione necessaria e rilevante per configurare la mia distribuzione Arch Linux in modo da gestire contemporaneamente le due VPN.
    • Per raggiungere il tuo obiettivo, dovrai configurare entrambe le VPN e impostare le regole di routing appropriate. Ecco una guida passo-passo su come farlo:
      1. Installa Wireguard e OpenVPN:
    • sudo pacman -Syu openvpn wireguard-tools
      
      1. Configura la VPN Wireguard:
    • Crea un file di configurazione Wireguard (ad esempio /etc/wireguard/wg0.conf) e inserisci i dettagli della tua VPN Wireguard. Assicurati di impostare AllowedIPs alla rete del tuo homelab, cioè 10.6.0.0/24.
    • [Interface]
      PrivateKey = YOUR_PRIVATE_KEY
      Address = YOUR_WIREGUARD_VPN_ADDRESS
      - [Peer]
      PublicKey = PEER_PUBLIC_KEY
      AllowedIPs = 10.6.0.0/24
      Endpoint = PEER_ENDPOINT
      
      1. Avvia la VPN Wireguard:
    • sudo wg-quick up wg0
      
      1. Configura la VPN OpenVPN:
    • Metti il tuo file di configurazione OpenVPN (ad esempio client.ovpn) nella directory /etc/openvpn/client/.
      1. Modifica il file di configurazione OpenVPN:
    • Apri il file client.ovpn con un editor di testo e aggiungi la seguente riga alla fine del file:
    • route-nopull
      route 0.0.0.0 128.0.0.0
      route 128.0.0.0 128.0.0.0
      
    • Questo configurerà la VPN OpenVPN per gestire tutto il traffico Internet, tranne il traffico destinato alla rete 10.6.0.0/24.
      1. Avvia la VPN OpenVPN:
    • sudo systemctl start openvpn-client@client
      
      1. Configura il DNS:
    • Crea un file di configurazione per systemd-resolved (ad esempio /etc/systemd/resolved.conf.d/dns.conf) e inserisci il seguente contenuto:
    • [Resolve]
      DNS=10.2.0.100
      Domains=~.
      
    • Riavvia systemd-resolved:
    • sudo systemctl restart systemd-resolved
      
    • A questo punto, dovresti essere in grado di connetterti sia alla tua infrastruttura homelab tramite la VPN Wireguard che a Internet tramite la VPN ExpressVPN.
    • Non capisco il significato di queste due linee di configurazione:
    • route 0.0.0.0 128.0.0.0
    • route 128.0.0.0 128.0.0.0
    • Queste due righe di configurazione sono usate per dividere il traffico Internet in modo che tutto passi attraverso la VPN OpenVPN. Questo è noto come "split tunneling".
    • La riga route 0.0.0.0 128.0.0.0 indica che tutti gli indirizzi IP da 0.0.0.0 a 127.255.255.255 dovrebbero essere instradati attraverso la VPN.
    • La riga route 128.0.0.0 128.0.0.0 indica che tutti gli indirizzi IP da 128.0.0.0 a 255.255.255.255 dovrebbero essere instradati attraverso la VPN. Insieme, queste due righe coprono tutti gli indirizzi IP possibili (0.0.0.0 - 255.255.255.255), che significa che tutto il traffico Internet verrà instradato attraverso la VPN. Tuttavia, poiché hai configurato la VPN Wireguard per gestire il traffico destinato alla rete 10.6.0.0/24, quel traffico specifico non passerà attraverso la VPN OpenVPN.
    • Quali sono i comandi da linea di comando che posso utilizzare per verificare le impostazioni delle rotte, degii indirizzi ip configurati e delle interfacce di rete?
    • Per verificare le impostazioni delle rotte, puoi utilizzare il comando ip route o route -n. Questi comandi mostrano la tabella di routing del kernel. Ecco un esempio di output:
    • $ ip route
      default via 192.168.1.1 dev eth0 proto static 
      10.6.0.0/24 dev wg0 proto kernel scope link src 10.6.0.1 
      192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
      
    • Per verificare gli indirizzi IP configurati, puoi utilizzare il comando ip addr o ifconfig. Questi comandi mostrano le informazioni di configurazione per tutte le interfacce di rete. Ecco un esempio di output:
    • $ ip addr
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether b8:27:eb:45:22:37 brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
           valid_lft forever preferred_lft forever
      3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
        link/none 
        inet 10.6.0.1/24 scope global wg0
           valid_lft forever preferred_lft forever
      
    • Per verificare le interfacce di rete, puoi utilizzare il comando ip link o ifconfig. Questi comandi mostrano lo stato di tutte le interfacce di rete. Ecco un esempio di output:
    • $ ip link
      1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
      2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
        link/ether b8:27:eb:45:22:37 brd ff:ff:ff:ff:ff:ff
      3: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
        link/none 
      
  • *10:36
  • 10:39 quick capture: VPS Hosting » Server virtuali | Da 1 €/mese | IONOS #vpn #vps #selfhosting
  • 10:43 quick capture: Configuring NGINX as a Mail Proxy Server | NGINX Documentation #nginx #selfhosting
  • 13:56 quick capture: FAQ - Docker Mailserver
  • 18:25 quick capture: Interviews in the Age of AI: Ditch Leetcode Try Code Reviews Instead #freelance
  • 20:19 quick capture: Making CRDTs 98% More Efficient @
  • 20:23 quick capture: Llemma: An Open Language Model for Mathematics #llm