Bridge di rete con Linux

Da Skypedia.

Molte volte si ha la necessità di creare un bridge di rete quando si ha a disposizione una connessione wireless e un pc sprovvisto di una scheda per l'802.11. L'esempio classico è quello di una rete con un access point 802.11b/g, un PC provvisto di scheda 802.11 e un secondo PC provvisto solo di una porta ethernet 802.3. Il primo PC deve semplicemente fare da bridge di rete verso il secondo e consentirgli così di accedere alla rete. Procuriamoci, se non l'abbiamo già fatto, un cavo di rete ethernet RJ-45 e colleghiamo i due PC. Prendiamo ad esempio la seguente configurazione:

  • un router wireless con IP 192.168.0.1
  • due PC connessi via ethernet 802.3 su eth0
    • bridge su eth0 con IP 10.0.0.1
    • secondo PC con IP 10.0.0.2 (PC host)
  • PC connesso al wireless con IP 192.168.0.2 ed interfaccia eth1 (PC bridge)

Configurazione del bridge

Prima di tutto assicuriamoci che il bridge sia davvero connesso all'access point e di conseguenza alla rete wireless. Apriamo un qualsiasi editor di testo e salviamo lo script bridge.sh riportato di seguito:

# condivido eth1 su eth0 10.0.0.0 con mask 255.0.0.0 
iptables -A POSTROUTING -t nat -s 10.0.0.0/8 -j MASQUERADE -p all -o eth1
# abilito la condivisione impostando a 1 ipforward
echo 1 > /proc/sys/net/ipv4/ip_forward

Salvato il file rendiamolo eseguibile con:

$ chmod +x bridge.sh

Settiamo la connessione ethernet, assicurandoci che i due PC siano effettivamente collegati, con il seguente comando:

# ifconfig eth0 10.0.0.1

Quindi da root (o con sudo) eseguiamo lo script appena creato:

# ./bridge.sh

Configurazione dell'host

Sul PC host basterà semplicemente dare questo comando da root:

# ifconfig eth0 10.0.0.2 && route add default gw 10.0.0.1

Sempre da root andiamo ad aprire il file /etc/resolv.conf con un editor di testo come Vim o Gedit e commentiamo con un # iniziale tutte le righe che iniziano con nameserver per poi aggiungere la seguente riga:

 nameserver 10.0.0.1

Tutto adesso dovrebbe funzionare correttamente. Avete creato il vostro bridge su Linux.

Risorse

[1] Condivisione della connessione con Linux