APPPUNTI VM internet e AMPRNET: differenze tra le versioni
m (→reverse proxy) |
|||
Riga 228: | Riga 228: | ||
;Test risposte da: | ;Test risposte da: | ||
* da internet http://193.70.17.196 '''OK''' | * da internet su ip numerico http://193.70.17.196 '''OK''' | ||
* da internet su dominio http://vm.iw1geu.audric.it '''OK''' | |||
* da AMPR ARI su ip numerico http://44.32.33.162 '''OK''' | * da AMPR ARI su ip numerico http://44.32.33.162 '''OK''' | ||
* da AMPR ARI su dominio http://vm.iw1geu.ampr.ari.it '''OK''' | * da AMPR ARI su dominio http://vm.iw1geu.ampr.ari.it '''OK''' | ||
* da AMPR fuori ARI su ip numerico http://44.32.33.162 '''??? boh!? chi mi dice se funziona?''' | * da AMPR fuori ARI su ip numerico http://44.32.33.162 '''??? boh!? chi mi dice se funziona?''' |
Versione delle 10:04, 7 mar 2024
Appunti di viaggio per gli addetti ai lavori
WORK IN PROGRESS - DA TESTARE
Vm di base
Questa è una VM debian minimal su OVH che ha una configurazione di rete MOLTO particolare. Se funziona qui, ci sono altissime probabilità che funioni anche da voi.
La VM nasce con connettività internet del provider di hosting. Si vuole ottenere che un servizio di rete venga erogato verso internet se richiesto da internet e verso la 44 se richiesto da AMPR.
Pacchetti base installalti: iptables iptables-persistent systemd-resolved wireguard ssh caddy
interfacce
root@geu-ampr:/etc/network# cat interfaces
source /etc/network/interfaces.d/* auto lo iface lo inet loopback allow-hotplug eth0 iface eth0 inet static address ip.in.ter.net/32 post-up ip route add gw.in.ter.net dev eth0 post-up ip route add default via gw.in.ter.net dev eth0 pre-down ip route del default via gw.in.ter.net dev eth0 pre-down ip route del gw.in.ter.net dev eth0
tunnel wireguard
root@geu-ampr:/etc/wireguard# cat wg_ampr_ari0.conf
[Peer] PublicKey = PUBLICKEY AllowedIPs = 44.0.0.0/9, 44.128.0.0/10 Endpoint = 5.144.187.34:13236 PresharedKey = PRESHAREDKEY [Interface] ListenPort = 51820 PrivateKey = PRIVATEKEY Address = 44.32.33.xxx/21 # Se si usa questa riga DNS, tutte le richieste dns verranno dirottate li. Usare systemd-resolved per avere un risolutore specifico per dominio #DNS = 44.32.32.2, 44.60.44.3, 44.32.32.1 # Creare riga "585 r_AMPR" in /etc/iproute2/rt_tables Table = r_AMPR PostUp = /etc/wireguard/wg_ampr_ari-up0.sh
root@geu-ampr:/etc/wireguard# cat wg_ampr_ari0-up.sh
#!/bin/bash ip route del 44.0.0.0/9 via 44.32.32.1 >/dev/null ||true ip route del 44.128.0.0/10 via 44.32.32.1 >/dev/null ||true ip route add 44.0.0.0/9 via 44.32.32.1 ip route add 44.128.0.0/10 via 44.32.32.1 ip route del 44.0.0.0/9 via 44.32.32.1 dev wg_ampr_ari0 table r_AMPR >/dev/null |true ip route del 44.128.0.0/10 via 44.32.32.1 dev wg_ampr_ari0 table r_AMPR >/dev/null |true ip route add 44.0.0.0/9 via 44.32.32.1 dev wg_ampr_ari0 table r_AMPR ip route add 44.128.0.0/10 via 44.32.32.1 dev wg_ampr_ari0 table r_AMPR
Abilitazione del servizio per l'avvio automatico:
systemctl enable wg-quick@wg_ampr_ari0.service systemctl start wg-quick@wg_ampr_ari0
Test instradamento
Test delle rotte OK
root@geu-ampr:~# ip ro get 8.8.8.8 8.8.8.8 via 51.75.243.254 dev ens18 src 193.70.17.196 cache root@geu-ampr:~# ip ro get 44.32.32.2 44.32.32.2 dev wg_ampr_ari src 44.32.33.162 cache root@geu-ampr:~# ip ro get 44.88.0.1 44.88.0.1 via 44.32.32.1 dev wg_ampr_ari src 44.32.33.162 cache
Test instradamento verso internet OK
root@geu-ampr:~# traceroute 8.8.8.8 traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets 1 551.255.69.252 (551.255.69.252) 0.505 ms 0.508 ms 0.669 ms 2 510.17.50.50 (510.17.50.50) 0.521 ms 0.618 ms 0.697 ms 3 510.73.17.66 (510.73.17.66) 0.199 ms 4 510.95.64.136 (510.95.64.136) 0.574 ms 5 * * * 6 510.200.2.69 (10.200.2.69) 3.965 ms 3.929 ms 7 * * * 8 * * * 9 66.249.94.133 (66.249.94.133) 4.942 ms dns.google (8.8.8.8) 4.100 ms 142.250.234.43 (142.250.234.43) 4.897 ms
Test instradamento verso AMPR ARI OK
root@geu-ampr:~# traceroute 44.32.32.2 traceroute to 44.32.32.2 (44.32.32.2), 30 hops max, 60 byte packets 1 44.32.32.1 (44.32.32.1) 25.891 ms 25.864 ms 25.882 ms 2 44.32.32.2 (44.32.32.2) 28.531 ms 28.537 ms 28.528 ms
Test instradamento verso AMPR fuori da AMR ARI OK
root@geu-ampr:~# traceroute 44.88.0.1 traceroute to 44.88.0.1 (44.88.0.1), 30 hops max, 60 byte packets 1 44.32.32.1 (44.32.32.1) 25.710 ms 25.698 ms 25.683 ms 2 gw.hamgatect.ampr.org (44.88.0.1) 145.807 ms 145.784 ms *
firewall
Oltre ad iptables viene usato il pacchetto iptables-persistnet che salva in /etc/iptables le regole e le attiva all'avvio.
root@geu-ampr:/etc/iptables# cat rules.v4
# Generated by iptables-save v1.8.9 (nf_tables) on Wed Mar 6 14:11:24 2024 *mangle :PREROUTING ACCEPT [0:0] :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] COMMIT # Completed on Wed Mar 6 14:11:24 2024 # Generated by iptables-save v1.8.9 (nf_tables) on Wed Mar 6 14:11:24 2024 *filter :INPUT DROP [79:8052] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [118:18860] -A INPUT -i lo -j ACCEPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A INPUT -p udp -m udp --dport 51820 -j ACCEPT -m comment --comment "WireGuard" -A INPUT -p icmp --icmp-type destination-unreachable/source-quench -j ACCEPT -m comment --comment "PMTU Discovery" -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 10 -j ACCEPT -m comment --comment "ping si ma non troppo" -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/m --limit-burst 1 -j LOG --log-prefix "ICMP flood scampato: " -A INPUT -p icmp --icmp-type echo-request -j DROP -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT -A INPUT -s ip.qth -m comment --comment "Casa" -j ACCEPT COMMIT # Completed on Wed Mar 6 14:11:24 2024
Attivazione/ripristino delle regole di firewall
iptables-restore </etc/iptables/rules.v4
Salvataggio delle regole di firewall
Se si fanno dei cambiamenti a mano da riga di comando direttamente con iptables, occorre salvarle per ritrovarsele attive dopo un riavvio.
iptables-save >/etc/iptables/rules.v4
NS resolver selettivo
DA RIVEDERE
Resolver di default e resolver specifico per dominio e sottodomini di ampr.ari.it
root@geu-ampr:/etc/systemd/resolved.conf.d# cat ampr.ari.it.conf
[Resolve] Domains=ampr.ari.it DNS=44.32.32.2 44.60.44.3 44.32.32.1
root@geu-ampr:/etc/systemd/resolved.conf.d# cat dns_servers.conf
[Resolve] DNS=8.8.8.8 Domains=~.
Test configurazione da rivedere
root@geu-ampr:~# resolvectl status
Global Protocols: +LLMNR +mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Current DNS Server: 8.8.8.8 DNS Servers 44.32.32.2 44.60.44.3 44.32.32.1 8.8.8.8 DNS Domain ampr.ari.it ~. Link 2 (ens18) Current Scopes: LLMNR/IPv4 LLMNR/IPv6 Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported DNS Domain: DOMAINS Link 3 (wg_ampr_ari) Current Scopes: none Protocols: -DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
reverse proxy
root@geu-ampr:/etc/caddy# cat Caddyfile
:80 { root * /var/www/default php_fastcgi unix//run/php/php-fpm.sock file_server encode zstd gzip log { output file /var/log/caddy/default.access.log format console } }
- Test risposte da
- da internet su ip numerico http://193.70.17.196 OK
- da internet su dominio http://vm.iw1geu.audric.it OK
- da AMPR ARI su ip numerico http://44.32.33.162 OK
- da AMPR ARI su dominio http://vm.iw1geu.ampr.ari.it OK
- da AMPR fuori ARI su ip numerico http://44.32.33.162 ??? boh!? chi mi dice se funziona?