Windows Firewall e reti con più gateway

Il caso di cui parlo è quando, come avvolte capita, abbiamo una rete dove c'è un router per comunicare con Internet ed uno per comunicare con una sede/rete remota.

Come sappiamo, nelle impostazioni TCP/IP della rete è possibile configurareun solo default gateway. Però noi dobbiamo permettere ai client di capire da che parte andare, se verso internet oppure verso la rete remota. Ovviamente non è possibile utilizzare in entrambi i casi la stessa route.

Per fare questo esiste un metodo fornito a livello di protocollo ICMP (livello 3 ISO/OSI) detto appunto ICMP Redirect. Questo protocollo, che come detto lavora a livello IP (routing), si occupa di fornire al client TCP/IP le informazioni necessarie per raggiungere la rete desiderata attraverso l'apposito router.



Esempio:
diciamo che i nostri due router sono:

  • RouterWEB/firewall per uscire su internet
  • RouterIntra per andare sulla rete della sede remota
in mezzo a questi due router si trovano i nostri client che, diciamo, hanno come Default Gateway il RouterWEB.
Il client invia un pacchetto destinato alla rete remota che quindi viene indirizzato al defalut gateway, ovvero il routerWEB/firewall. Quest'ultimo, che è a conoscenza delle reti interne, si accorge che per raggiungere quella rete deve passare dall'altro router (routerIntra) e quindi rigira nuovamente il pacchetto.
Il pacchetto ritransita per la seconda volta sulla stessa rete--> non è bello ne funzionale ecc...

La soluzione migliore è che il routerWEB/firewall invii un pacchetto al client dicendogli che, la rete da lui cercata, sta dall'altra parte sull'altro router. Questo è l'ICMP redirect.

Il problema, sulle configurazioni default, sta nel fatto che il firewall di windows blocca questo tipo di messaggio ICMP (come i ping) e quindi per ottenere questa funzionalità occorre abilitarlo.
Per farlo basta andare sulle proprietà avanzate del firewall, entrare nei settaggi dell'ICMP ed abilitare il redirect.