====== PPPoE Passthrough con router FRITZ!Box ======
A differenza da quanto riportato nella [[https://it.avm.de/assistenza/banca-dati-informativa/dok/FRITZ-Box-5530/3232_Configurare-il-passthrough-PPPoE-nel-FRITZ-Box/|documentazione ufficiale]], sul **FRITZ!Box 7430** è possibile attivare il **PPPoE passthrough** anche se il provider fornisce un solo account utilizzabile. In questo modo il router FRITZ!Box non effettua la connessione PPPoE ma si comporta come **semplice bridge** dalla porta Ethernet alla porta DSL. Sarà un host collegato in Ethernet (nel nostro caso un **firewall GNU/Linux**) ad effettuare la connessione PPPoE e a ricevere l'**IP pubblico**.
=== Pro ===
* Il firewall GNU/Linux riceve l'IP pubblico invece di essere configurato su IP privato dietro NAT.
* È possibile monitorare l'IP pubblico del firewall GNU/Linux con pacchetti ICMP (ping). Il router FRITZ!Box non è in grado di gestire più di un flusso ICMP sull'IP pubblico.
=== Contro ===
* Il router non ha connettività IP quindi non può fornire i servizi di firewall, access point WiFi, VoIP, ecc.
===== Configurazione FRITZ!Box =====
L'unica accortezza necessaria riguarda la configurazione del **tag VLAN**. Se il provider lo richiede, questo va configurato solo nel FRITZ!Box, mentre l'host Linux trasmetterà sulla porta Ethernet senza utilizzare il tag VLAN.
Dal menu **Internet** => **Dati di accesso**:
* Connessione
* [x] Collegamento a una connessione DSL
* Dati di accesso
* [x] No
* Impostazioni della connessione
* Impostazioni VLAN
* Utilizzare VLAN per l'accesso a Internet
* VLAN: 835
* PBit: 0
* Impostazioni ATM DSL
* VPI: 1
* VCI: 32
* Incapsulamento
* [x] Bridged (Routed Bridge Encapsulation)
* Passthrough PPPoE
* [x] I dispositivi di rete possono stabilire una propria connessione Internet aggiuntiva (non consigliato)
===== Configurazione GNU/Linux =====
Facciamo riferimento ad una distribuzione Debian 12 con firewall Shorewall.
**/etc/network/interfaces**
auto net0
iface net0 inet static
address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
#gateway 192.168.1.254
auto adsl
iface adsl inet ppp
pre-up /bin/ip link set net0 up
provider dsl-provider
**/etc/ppp/peers/dsl-provider**
debug
user my_dsl_username
remotename isp_name
# The VLAN tagging is performed by the DSL modem.
plugin rp-pppoe.so net0
# The IP address is allocated dynamically by the DSL provider.
noipdefault
# Use this connection as the default route.
defaultroute
replacedefaultroute
+ipv6
hide-password
lcp-echo-interval 20
lcp-echo-failure 4
noauth
persist
maxfail 0
holdoff 10
# With MTU set to 1492 the maximum ping packet size is 1464.
mtu 1492
mru 1500
noproxyarp
# RFC 2516, paragraph 7 mandates that the following options MUST NOT be
# requested and MUST be rejected if requested by the peer:
# Address-and-Control-Field-Compression (ACFC)
noaccomp
# Asynchronous-Control-Character-Map (ACCM)
default-asyncmap
**/etc/ppp/chap-secrets** and **/etc/ppp/pap-secrets**
"my_dsl_username" "isp_name" "my_dsl_password" *
**/etc/shorewall/interfaces**
#ZONE INTERFACE BROADCAST OPTIONS
net NET_IF - dhcp,routefilter,tcpflags,nosmurfs,physical=ppp0
**/etc/shorewall/snat**
#ACTION SOURCE DEST
SNAT(145.56.63.214) 192.168.133.0/24 NET_IF