Collegarsi a EOLO senza router e portando l’IP pubblico sull’interfaccia del firewall —
Mi sono trovato recentemente a dover attivare una VPN da casa e mi sono trovato con la sgradita sorpresa che funzionava solo entrando da Fastweb e non da EOLO.
Ho aperto un ticket e dopo non poche vicissitudini sono arrivato a scoprire che si poteva eliminare il router di eolo ed entrare direttamente sulla eth0 del firewall usando pppoe.
https://www.eolo.it/guide/configurazione-no-router
In realtà la cosa è un pochino più complessa di come la fanno loro e grazie all’aiuto di un fornitore che è anche professore di networking in un istituto milanese siamo arrivati a trovare la quadra.
L’ambiente è il solito Devuan in questo caso 5 e i passi da seguire sono i seguenti
Inserire il modulo 8021q in /etc/modules e caricarlo con modprobe per utilizzarlo subito
Creare l’interfaccia vlan necessaria a pppoe per funzionare (nel caso specifico ci appoggiamo a eth0) con ip link add link eth0 name eth0.835 type vlan id 835
Alzare l’interfaccia con ifconfig eth0.835 up
installare se già non presente pppoeconf e lanciarlo con l’argomento eth0.835 in altre parole indicargli l’interfaccia su cui cercare chiede user e password di eolo che vano inserite, chiede se far partire l’interfaccia e la connessione all’avvio modificando /etc/netwrk interfaces rispondere si (poi non funziona ma vediamo tra poco) interfaces diventa così
auto eth0
iface eth0 inet manual ### va cambiato manualmente
auto eth1
iface eth1 inet static
address 192.168.20.241/24
auto dsl-provider
iface dsl-provider inet ppp
pre-up /bin/ip link set eth0.835 up # line maintained by pppoeconf
provider dsl-provider
auto eth0.835
iface eth0.835 inet manual
con ifconfig verificare che pppo0 sia presente come effettivamente è.
Chiaramente bisogna indicare allo script di firewall che l’interfaccia di rete sul mondo non è più eth0 come configurato in precedenza.
Al primo riavvio l’interfaccia ppp0 non c’è e non c’e’ verso di farla partire da sola bisogna chiamarla con pon dsl-provider, quindi se non c’è l’interfaccia non c’è neanche il firewall e questo non va per niente bene.
Dopo aver ben cercato in giro e aver messo assieme i vari pezzi sono arrivato a questa conclusione
1) faccio partire l’interfaccia mettendo in /etc/network/if-up.d uno script eseguibile che ho chiamato start-pppoe e che contiene:
#!/bin/bash
# Avvia ppp solo se l’interfaccia è eth0.835
if [ “$IFACE” = “eth0.835” ]; then
pon dsl-provider
fi
Quindi si tratta di alzare il firewall ma lo script di init fa i capricci con le priorità quindi bisogna trovare la cosiddetta “gabola” per aggirare la questione altro giro in Internet e una soluzione abbastanza pulita è la seguente, in /etc/ppp/ip-up.d mettere uno script eseguibile che ho chiamato 99-firewall che contiene
#!/bin/bash
# Avvia firewall dopo che ppp0 è salito
echo “[FIREWALL] PPPoE è attivo, avvio firewall” >> /var/log/firewall.log
/usr/local/bin/firewall/vars.sh && \
/usr/sbin/nft -f /usr/local/bin/firewall/ale.nft >> /var/log/firewall.log 2>&1
nel mio caso le configurazioni sono in /usr/local/bin/firewall il primo script quello bash legge dal file di defiizione i nomi delle interfacce di rete e gli assegna gli IP il secondo e’ il file di regole di firewall
Ai successivi riavvi l’interfaccia parte regolarmene e il firewall si alza senza problemi e finalmente ho una connessione che posso gestire come voglio io con nftables e quant’altro serve.
Categorised as: firewall | Linux | Networking
Comments are disabled on this post