Nelle mie prove ho installato una Debian 6 Squeeze su un vecchio portatile con una scheda ethernet integrata e una scheda PCMCIA wireless.
Problema, dopo l’installazione tutto funziona perfettamente, ma non il wireless, e l’installazione di nuovi pacchetti senza rete non è così comodo.
Devi cercare in rete il nome dei pacchetti che ti servono, scaricarli insieme a tutte le loro dipendenza metterli su una chiavetta USB e sperare che questo funzioni e risolva il vostro problema. Naturalmente al primo tentativo (nuovo modulo del kernel per la scheda wireless, una rt61 + il suo firmware) non ha funzionato.
Così ho deciso di utilizzare il mio computer portatile con Xubuntu come gateway, la mia Xubuntu ha una scheda wireless funzionante e uno slot con una ethernet libera.
Quindi quello che ho fatto è mettere un cavo incrociato tra di loro e configurare Xubuntu come gateway, tutto ha funzionato bene e ora l’altra laptop sta aggiornando il sistema.
Ecco come ho fatto in dettaglio.
Nota: Lo script proviene da Debian-Administration.org un how-to del 2004, ma ancora perfettamente funzionante.
Laptop A = Debian 6 squeeze con rt61 non funzionante
Laptop B = La Xubuntu 11.04
Cavo !
Collegare tramite un cavo incrociato i 2 computer.
Non dovrebbe succedere niente.
Setup del gateway (Xubuntu)
Sulla mia Xubuntu io ho sulla eth0 la scheda ethernet e sulla eth1 la wireless.
Come primo passo ho configurato l’ethernet con un IP privato:
sudo -i ifconfig eth0 10.0.0.1 netmask 255.255.255.0 |
Ora, se si dà il comando ifconfig
si dovrebbe avere un output del tipo:
eth0 Link encap:Ethernet HWaddr 00:0d:60:12:78:bc inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::20d:60ff:fe12:78bc/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:38622 errors:0 dropped:0 overruns:0 frame:0 TX packets:69077 errors:0 dropped:0 overruns:0 carrier:0 collisions:17 txqueuelen:1000 RX bytes:2670203 (2.6 MB) TX bytes:102971994 (102.9 MB) eth1 Link encap:Ethernet HWaddr 00:02:8a:9f:21:34 inet addr:192.168.0.10 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::202:8aff:fe9f:2134/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:160442 errors:44 dropped:0 overruns:0 frame:44 TX packets:112360 errors:25 dropped:0 overruns:0 carrier:0 collisions:2106 txqueuelen:1000 RX bytes:203342322 (203.3 MB) TX bytes:10853667 (10.8 MB) Interrupt:6 Base address:0x8000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:3780 errors:0 dropped:0 overruns:0 frame:0 TX packets:3780 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:347468 (347.4 KB) TX bytes:347468 (347.4 KB) |
Dopo di che ho creato un nuovo file chiamato gateway.sh con il mio editor di testo (vi) e incollate il seguente codice:
#!/bin/sh PATH=/usr/sbin:/sbin:/bin:/usr/bin # # delete all existing rules. # iptables -F iptables -t nat -F iptables -t mangle -F iptables -X # Always accept loopback traffic iptables -A INPUT -i lo -j ACCEPT # Allow established connections, and those not coming from the outside iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -A INPUT -m state --state NEW -i ! eth1 -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # Allow outgoing connections from the LAN side. iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT # Masquerade. iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE # Don't forward from the outside to the inside. iptables -A FORWARD -i eth1 -o eth1 -j REJECT # Enable routing. echo 1 > /proc/sys/net/ipv4/ip_forward |
NOTA: Di solito la mia tabella di iptables è pulita, io non la uso sul mio portatile, ho un firewall di front-end, se si dispone di regole si può aver bisogno di ri-aggiungere manualmente dopo lo script.
Quindi ho lanciato da terminale:
bash gateway.sh |
Come output ho avuto:
Using intrapositioned negation (`--option ! this`) is deprecated in favor of extrapositioned (`! --option this`). |
Ma non ho poi avuto problemi.
Sulla macchina client (Debian)
Su questo computer, dobbiamo configurare la scheda ethernet e il routing, sappiamo che il nostro gateway è 10.0.0.1, quindi possiamo usare questi comandi:
ifconfig eth0 10.0.0.2 netmask 255.255.255.0 route add -net 0.0.0.0 gw 10.0.0.1 |
Sulla mio Xubuntu ho un dnsmasq come cache DNS locale, quindi l’ho usato come server DNS per la Debian, per farlo modificare il file /etc/resolv.conf e aggiungere come prima riga:
nameserver 10.0.0.1 |
Se non si dispone di un DNS locale, mettete in quel file i server DNS normali (potete controllare sul gateway il file /etc/resolv.conf se non si conoscono gli indirizzi)
Test
Ora sul vostro client si dovrebbe essere in grado di raggiungere la rete senza alcun problema.
Provate un ping www.linuxaria.com
per esempio se funziona, siete pronti per aggiornare/installare fare tutto quello che dovete fare sul vostro computer client.
Come ho risolto il problema per la rt61 su Debian 6
Ho aggiornato tutto, nessun risultato.
Ho messo il backport di squeeze nelle liste delle apt-sources e ho installato il kernel 2.6.38-8-generic, funziona!
Se anche voi avete una cheda di questo tipo:
debian: ~ # lspci | grep RT 06:00.0 Network controller: RaLink 802.11g PCI RT2561/RT61 |
Installate il kernel dal backport e risolverete i vostri problemi
Popular Posts:
- None Found