El teu blog de Linux en català

Configurar un ordinador com a enrutador per donar Internet a un segon ordinador sense connexió a Internet

La situació és la següent. Tenim un ordinador, el servidor, que es pot connectar bé al nostre router per mitjà de l’interfície wlan0. Per contra, tenim un altre ordinador, el client, que no té targeta de connexió inal·làmbrica o pel que sigui, no es pot connectar per wifi a Internet. Així, perquè l’ordinador client tingui connexió a Internet, el connectarem a l’ordinador servidor amb un cable de xarxa ethernet creuat. Per aconseguir-ho, configurarem l’ordinador servidor perquè faci d’enrutador a l’ordinador client a través del tallafocs d’iptables.

Esquema simple d'enrutament

Resum de la configuració que volem aconseguir:

Ordinador Interfície Xarxa Comentari
Servidor wlan0 192.168.2.123 Amb aquesta interfície ens connectem a Internet
Servidor eth0 192.168.3.1 Amb aquesta interfície ens connectem a l’ordinador client
Client eth0 192.168.3.5 Amb aquesta interfície ens connectem a a l’ordinador servidor i podrem accedir a Internet

Un altre esquema de xarxa, que es configuraria igual que aquesta, inclouria l’ús d’un switch o un hub per poder connectar-hi més ordinadors clients al servidor. Cal tenir en compte que llavors s’ha d’usar cable normal en lloc de cable creuat.

Els passos que venen a continuació, a excepció de la configuració de l’enrutador per iptables, són per sistemes que no utilitzin el Network Manager per a gestionar les seves connexions a Internet. Si es configuren aquests arxius manualment, la icona del Network Manager de la barra superior del GNOME (nm-applet) sol desaparèixer. Així, enlloc d’introduir la informació a /etc/network/interfaces i /etc/resolv.conf, l’heu d’introduir a:

NetworkManager Applet > Edit Connections...

Tots els canvis manuals als fitxers de configuració s’han de fer com a suprausuari:

sudo -i

  1. A l’ordinador servidor que fa de passarel·la:
  2. Creem un nou fitxer:

    gedit /etc/network/if-pre-up.d/iptables

    Amb el següent contingut:

    #!/bin/sh
    # Enrutador
    echo "Aturar el tallafocs i permetre accés a tothom"
    iptables -F
    iptables -X
    iptables -t nat -F
    iptables -t nat -X
    iptables -t mangle -F
    iptables -t mangle -X
    echo "Política per defecte"
    iptables -P INPUT ACCEPT
    iptables -P FORWARD ACCEPT
    iptables -P OUTPUT ACCEPT
    iptables -t nat -P PREROUTING ACCEPT
    iptables -t nat -P POSTROUTING ACCEPT
    echo "Enrutament"
    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
    iptables -t nat -A PREROUTING -i eth0 -j ACCEPT

    Donem permisos d’execució al fitxer:

    chmod +x /etc/network/if-pre-up.d/iptables

    Ara configurem la nova interfície pel cable eth0:

    gedit /etc/network/interfaces

    auto eth0
    iface eth0 inet static
    address 192.168.3.1
    netmask 255.255.255.0

    Cal dir que en aquest tutorial la interfície wlan0 corresponent al wifi s’ha configurat automàticament usant el Network Manager.

    Reiniciem els serveis de xarxa:

    /etc/init.d/networking restart

  3. A l’ordinador client:
  4. Obrim aquest fitxer:

    gedit /etc/network/interfaces

    Hi hi afegim (també és possible: allow-hotplug eth0):

    auto eth0
    iface eth0 inet static
    address 192.168.3.5
    netmask 255.255.255.0
    gateway 192.168.3.1

    Configurem els servidors DNS:

    gedit /etc/resolv.conf

    Si no sabem quins servidors ficar-hi, podem veure els que te assignats l’orinador servidor, i hi escrivim els mateixos:

    cat /etc/resolv.conf

    Hi afegim els servidors DNS:

    nameserver 192.168.2.1
    nameserver 192.168.0.1

    Si sabem els servidors que utilitza el nostre proveïdor de serveis, els podem escriure:

    80.58.61.250
    80.58.61.254

    Reiniciem els serveis de xarxa:

    /etc/init.d/networking restart

En la següent pàgina veurem com instal·lar un servidor DHCP per tal que els clients es puguin connectar automàticament al servidor sense haver de configurar res.

Font | PC-com-encaminador.pdf | Flush iptables | Setup DNS client | Multi homing | Linux as router (iptables)

    • Toni on 19 d'agost de 2010 at 10:29

    Reply

    A partir d’aquesta configuració “bàsica” i aprofitant-la seria el moment d’aplicar alguna cosa més interessant com el Privproxy (per navegar una mica més anònimament i segura) o directament Provproxy+Polipo+DnsMaq (per aconsguir el “fullmonty” d’anonimicitat i memòria cau) tal i com expliquen a, per exemple, ca n’Ubuntu: https://help.ubuntu.com/community/DnsmasqPolipoPrivoxy
    Gràcies per l’article!

      • Guillem on 23 d'agost de 2010 at 08:54
      • Author

      Reply

      Hola Toni, moltes gràcies per comentar, i per compartir això amb nosaltres 🙂
      Llegint l’enllaç que ens dones, no acabo d’entendre, però, com aconseguir una navgació anònima, ja que la IP pública no et canvia si tens IP fixa en ficar-li el proxy que comentes… Salut!

    • akjode on 19 d'agost de 2010 at 13:19

    Reply

    Hola, felicitats per la pagina, crec que es el meu primer comentari, i tinc una pregunta, si volem compartir una conexio que no es wifi, sino de les que et donen els modems de classe vodafone, o orange/movistar, com es podria fer? (no en tinc una per anar fent probes pero els meus tiets si i m’agradaria ajudarlos a tindre els ordenadors amb internet) son uns equips vells que els vaig reciclar de les escombreries per el que nomes un funcionen els ports usb, tots ells tenen ubuntu, he pensat en posarlis un swith, i compartir la conexio, pero amb aquest tipus de aparell no se com fer-ho

      • Guillem on 23 d'agost de 2010 at 08:49
      • Author

      Reply

      Hola akjode, no sé si tinc molt clar el què preguntes, però miraré d’ajudar-te 🙂
      Si tens un ordinador, que no té wifi, i agafa l’internet per cable, t’has de fixar bé amb la interfície per on agafar l’internet (enlloc de wlan0 serà, potser eth0), i llavors necessites comprar-te una altra targeta de xarxa per poder connectar-hi un ordinador a ell amb cable creuat (fixa’t un altre cop amb la interfície, ja que potser enlloc d’eth0 serà eth1). Tot això ho pots veure amb les ordres:

      ifconfig
      iwconfig

      Si vols connectar-hi més d’un ordinador, només cal que fiquis:

      Ordinador servidor -> Switch -> Ordinadors clients connectats al switch

      I ja t’hauria de funcionar. Espero haver aclarit els teus dubtes i sinó comenta-ho. Salut!

Deixa un comentari

Your email address will not be published.