Configurazione LAN con modem/router WiMAX+hub e iptables
Inviato: mar 24 apr 2012, 1:19
Ciao a tutti,
e' la prima volta che scrivo su questo forum, e mi sono deciso a farlo perche' da un paio di giorni mi sto scontrando con un problema che mi sta facendo perdere ore di sonno e lavoro notturno.
Avendo installato da poco un modem WiMAX di ARIA (Huawei) che con mia soddisfazione funziona molto bene, dopo una settimana di utilizzo di prova collegato direttamente a uno dei miei pc casalinghi, ho deciso di inserirlo nella mia LAN domestica e rendere disponibile la connessione intenet a tutti.
Non sono uno sprovveduto di linux e LAN/WAN in genere (uso slackware dal 1992) , e pensavo che la cosa mi avrebbe richiesto solo un paio d'ore di smanettamento su linux.
Ho appunto un pc ove e' installato linux 2.4.22, vecchiotto ma adattissimo per fargli fare da router/firewall, non fidandomi completamente del firewall integrato nel modem/router che, beninteso, ha drasticamente diminuto gli alert di ZoneAlarm (il mio server principale e' su WinXP) da qualche centinaio la settimana a zero.
La mia rete e' sempre stata, da anni, una classica 192.168.0.0. Indirizzi statici e nessun DHCP, tanto per restare sul sicuro.
Il modem/router mi mette a disposizione due porte, e mi e' stato fornito preimpostato all'indirizzo 192.168.2.1.
La cosa ovvia per me e' stato impostare tutta la baracca cosi':
+ MODEM/ROUTER WiMAX Huawei BM2023w (192.168.2.1)
|
|___________
|eth1 (192.168.2.3 - gateway 192.168.2.3, default gateway 192.168.2.1)
| | FIREWALL /GATEWAY con Slackware 9.2 kernel 2.4.22
|eth0 (192.168.0.3 - gateway 192.168.0.3, default gateway 192.168.2.1)
|------------|
|
|
--------------
| | switch 8 porte d-link
| |
|___________|
|
|------- PC1 (WinXP, 192.168.0.1 - default gateway 192.168.2.3 - dns 1 dns 2)
|------- PC2 (WinXP, 192.168.0.2 - default gateway 192.168.2.3 - dns 1 dns 2)
|------- PC3 (WinXP, 192.168.0.4 - default gateway 192.168.2.3 - dns 1 dns 2)
|------- Laser printerPC3 (192.168.0.57)
|------- ecc. ecc..
Le iptables, per restare sul semplice (sapendo che perlomeno un firewall c'e', quello del router) le ho lasciate azzerate, come mostra il comando iptables --list':
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Il routing l'ho configurato a mano (e poi salvato in rc.local), e digitando il comando route appare cosi':
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.3 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.2.3 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
192.168.2.0 192.168.2.3 255.255.255.0 UG 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 192.168.0.3 255.255.255.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth1
Le interfacce sono cosi' configurate:
eth0 Link encap:Ethernet HWaddr 00:04:76:94:00:6E
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:8195 (8.0 Kb)
Interrupt:10 Base address:0x6000
eth1 Link encap:Ethernet HWaddr 00:E0:4C:77:26:06
inet addr:192.168.2.3 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:248 errors:0 dropped:0 overruns:0 frame:0
TX packets:382 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:79598 (77.7 Kb) TX bytes:37268 (36.3 Kb)
Interrupt:11 Base address:0x4000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1696 (1.6 Kb) TX bytes:1696 (1.6 Kb)
Il forwarding e' stato ovviamente attivato: cat /proc/sys/net/ipv4/ipforward mi restituisce 1.
Lavorando sul pc linux mi funziona tutto, navigo, pingo sia verso l'esterno che verso la LAN interna.
QUando vado su un pc della LAN interna (la 192.168.0.0) invece succede questo: posso pingare solo fino a 192.168.2.3, che sarebbe la NIC eth1 che fa anche da gateway, ma se provo a pingare 192.168.2.1 mi giunge inesorabile un timeout.
Se rivoluziono la rete, collegando direttamente il modem/router allo switch/hub e configurando TUTTI i pc (linux o win che siano) per operare sulla net 192.168.2.0, gateway 192.168.2.1, dns 192.168.2.1 funziona tutto a meraviglia.
E perche' non la tieni cosi', direte voi. Beh, innanzitutto perche' volevo togliermi il piacere di provare cose nuove con linux. E anche per non stravolgere la mia LAN domestica che era su tutt'altro indirizzo (vi sono anche stampati in rete, scanner e un access point wifi).
Insomma, credevo fosse una cosa banale e mi ritrovo con un sistema che mi fa arrivare solo fino a eth1 (192.168.2.3) e poi puff... il nulla....
Mi e' sorto il sospetto che forse devo configurare in qualche modo iptables. Non le ho mai usate in vita mai. Sbaglio qualcosa?
Sono sicuro che la soluzione e' banale e sono io che sto perdendomi dentro una cavolata, ma mi vedo costretto a chiedervi aiuto perche' sono troppe notti che ci impazzisco.
Max
e' la prima volta che scrivo su questo forum, e mi sono deciso a farlo perche' da un paio di giorni mi sto scontrando con un problema che mi sta facendo perdere ore di sonno e lavoro notturno.
Avendo installato da poco un modem WiMAX di ARIA (Huawei) che con mia soddisfazione funziona molto bene, dopo una settimana di utilizzo di prova collegato direttamente a uno dei miei pc casalinghi, ho deciso di inserirlo nella mia LAN domestica e rendere disponibile la connessione intenet a tutti.
Non sono uno sprovveduto di linux e LAN/WAN in genere (uso slackware dal 1992) , e pensavo che la cosa mi avrebbe richiesto solo un paio d'ore di smanettamento su linux.
Ho appunto un pc ove e' installato linux 2.4.22, vecchiotto ma adattissimo per fargli fare da router/firewall, non fidandomi completamente del firewall integrato nel modem/router che, beninteso, ha drasticamente diminuto gli alert di ZoneAlarm (il mio server principale e' su WinXP) da qualche centinaio la settimana a zero.
La mia rete e' sempre stata, da anni, una classica 192.168.0.0. Indirizzi statici e nessun DHCP, tanto per restare sul sicuro.
Il modem/router mi mette a disposizione due porte, e mi e' stato fornito preimpostato all'indirizzo 192.168.2.1.
La cosa ovvia per me e' stato impostare tutta la baracca cosi':
+ MODEM/ROUTER WiMAX Huawei BM2023w (192.168.2.1)
|
|___________
|eth1 (192.168.2.3 - gateway 192.168.2.3, default gateway 192.168.2.1)
| | FIREWALL /GATEWAY con Slackware 9.2 kernel 2.4.22
|eth0 (192.168.0.3 - gateway 192.168.0.3, default gateway 192.168.2.1)
|------------|
|
|
--------------
| | switch 8 porte d-link
| |
|___________|
|
|------- PC1 (WinXP, 192.168.0.1 - default gateway 192.168.2.3 - dns 1 dns 2)
|------- PC2 (WinXP, 192.168.0.2 - default gateway 192.168.2.3 - dns 1 dns 2)
|------- PC3 (WinXP, 192.168.0.4 - default gateway 192.168.2.3 - dns 1 dns 2)
|------- Laser printerPC3 (192.168.0.57)
|------- ecc. ecc..
Le iptables, per restare sul semplice (sapendo che perlomeno un firewall c'e', quello del router) le ho lasciate azzerate, come mostra il comando iptables --list':
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Il routing l'ho configurato a mano (e poi salvato in rc.local), e digitando il comando route appare cosi':
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.0.3 0.0.0.0 255.255.255.255 UH 0 0 0 eth0
192.168.2.3 0.0.0.0 255.255.255.255 UH 0 0 0 eth1
192.168.2.0 192.168.2.3 255.255.255.0 UG 0 0 0 eth1
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.0.0 192.168.0.3 255.255.255.0 UG 0 0 0 eth0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 192.168.2.1 0.0.0.0 UG 0 0 0 eth1
Le interfacce sono cosi' configurate:
eth0 Link encap:Ethernet HWaddr 00:04:76:94:00:6E
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:55 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 b) TX bytes:8195 (8.0 Kb)
Interrupt:10 Base address:0x6000
eth1 Link encap:Ethernet HWaddr 00:E0:4C:77:26:06
inet addr:192.168.2.3 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:248 errors:0 dropped:0 overruns:0 frame:0
TX packets:382 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:79598 (77.7 Kb) TX bytes:37268 (36.3 Kb)
Interrupt:11 Base address:0x4000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:17 errors:0 dropped:0 overruns:0 frame:0
TX packets:17 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1696 (1.6 Kb) TX bytes:1696 (1.6 Kb)
Il forwarding e' stato ovviamente attivato: cat /proc/sys/net/ipv4/ipforward mi restituisce 1.
Lavorando sul pc linux mi funziona tutto, navigo, pingo sia verso l'esterno che verso la LAN interna.
QUando vado su un pc della LAN interna (la 192.168.0.0) invece succede questo: posso pingare solo fino a 192.168.2.3, che sarebbe la NIC eth1 che fa anche da gateway, ma se provo a pingare 192.168.2.1 mi giunge inesorabile un timeout.
Se rivoluziono la rete, collegando direttamente il modem/router allo switch/hub e configurando TUTTI i pc (linux o win che siano) per operare sulla net 192.168.2.0, gateway 192.168.2.1, dns 192.168.2.1 funziona tutto a meraviglia.
E perche' non la tieni cosi', direte voi. Beh, innanzitutto perche' volevo togliermi il piacere di provare cose nuove con linux. E anche per non stravolgere la mia LAN domestica che era su tutt'altro indirizzo (vi sono anche stampati in rete, scanner e un access point wifi).
Insomma, credevo fosse una cosa banale e mi ritrovo con un sistema che mi fa arrivare solo fino a eth1 (192.168.2.3) e poi puff... il nulla....
Mi e' sorto il sospetto che forse devo configurare in qualche modo iptables. Non le ho mai usate in vita mai. Sbaglio qualcosa?
Sono sicuro che la soluzione e' banale e sono io che sto perdendomi dentro una cavolata, ma mi vedo costretto a chiedervi aiuto perche' sono troppe notti che ci impazzisco.
Max