Questa è una semplice guida in 4 punti per securizzare una postazione (magari wifi) esterna alla LAN aziendale, ma alla quale volete dare un ip a tutti gli effetti in bridging sulla LAN aziendale, non ruotato quindi. Questo vi permetterà di far sì che una macchina con OS Windows 9x/XP connessa in questo modo possa vedere gli altri pc sulla LAN da "Risorse di Rete" senza impostare un server wins, perché gli ARP e i Broadcast funzioneranno normalmente come su una LAN fisica. Questi sono i "pezzi" con cui dovremo giocare: - LAN aziendale con tanti bei PC connessi a HUB/SWITCH del caso. (Qualsiasi OS) - Una macchina esterna connessa con una scheda wifi o al limite anche una dialup esterna, ad esempio un notebook di un commerciale o un dipendente che lavora da casa. (In questo caso con Microsoft Windows 2000 oppure XP, ovviamente si può fare anche con altri OS) - Un AP wireless configurato senza ip per fare solo bridging, va bene uno qualsiasi (io ho usato un D-Link di 2 anni fa...) . - Un PC con 2 schede di rete e sistema operativo Linux (si può fare anche con altri OS). - LAN aziendale: 192.168.0.0/255.255.255.0 con gateway 192.168.0.254 - LAN wifi: 10.0.0.0/255.255.255.0 - LAN virtuale: 10.3.0.0/255.255.255.0 (La LAN aziendale è l'unica che ci interessa veramente, arriveremo a dare un ip di questa LAN alla macchina esterna, la LAN wifi saranno gli ip che avranno fisicamente la macchina linux e la macchina windows esterna connesse tramite l'AP, la LAN virtuale è trasparente a noi e serve ad OpenVPN per funzionare correttamente) 1) Assicurarsi che il kernel sul PC Linux abbia il supporto per il tunneling ed il bridging, perché servirà creare l'interfaccia virtuale tap0 e l'interfaccia br0. Assicurarsi anche di avere installate le bridge-utils (http://bridge.sourceforge.net/) che serviranno per configurare il bridging. L'interfaccia sulla LAN aziendale sarà eth0 con ip 192.168.0.2 L'interfaccia connessa con un cavo cross UTP cat5 all'AP sarà eth1 con ip 10.0.0.2 L'interfaccia virtuale tap0 avrà ip 10.3.0.2 L'interfaccia br0 prenderà poi l'ip 192.168.0.2 che era precedentemente della eth0 2) Installare OpenVPN (http://openvpn.sf.net) sul PC Linux e configurare gli script di avvio come nell'appendice A 3) Configurare la scheda wifi sulla macchina windows con ip 10.0.0.1/255.255.255.0 SENZA gateway e dns. Installare openvpn in C:\openvpn, configurarlo come nell'appendice B, generare il file key.txt e copiarlo sul PC Linux possibilmente utilizzando un media estraneo alla rete, come ad esempio un floppy. Metterlo in /etc/openvpn/key.txt sotto linux ed in C:\openvpn\config\key.txt sotto windows. Non configurare l'interfaccia TAP virtuale, per ora. 4) Riavviare entrambe le macchine e controllare che ognuna riesca a pingare l'altra tra gli indirizzi 10.0.0.2<->10.0.0.1 e tra 10.3.0.2<->10.3.0.1 (quest'ultimo ping può tranquillamente non funzionare se il bridge è già su). Se OpenVPN è partito correttamente su entrambe le macchine, ed il bridge è configurato bene, configurando l'ip sull'interfaccia TAP della macchina esterna windows dalle proprietà di rete si potranno riuscire a pingare direttamente i PC sulla LAN aziendale e viceversa. Se sulla LAN sarà presente un server DHCP, sarà possibile configurare l'interfaccia TAP in dhcp ed ottenere un indirizzo, proprio come se si fosse fisicamente connessi alla LAN! A-appendice) File di configurazione PC Linux All'avvio eseguire questi comandi, io ad esempio sotto gentoo li ho piazzati in /etc/conf.d/local.start: #################################################################### /usr/local/sbin/openvpn --config /etc/openvpn/wifi.ovpn --daemon & /bin/sleep 5 /sbin/brctl addbr br0 /sbin/brctl addif br0 eth0 /sbin/brctl addif br0 tap0 /sbin/ifconfig eth0 0.0.0.0 /sbin/ifconfig tap0 0.0.0.0 /sbin/ifconfig br0 192.168.0.2 netmask 255.255.255.0 up /sbin/route add default gw 192.168.0.254 #################################################################### File /etc/openvpn/wifi.ovpn: #################################################################### dev tap ifconfig 10.3.0.2 255.255.255.0 secret /etc/openvpn/key.txt ping 10 comp-lzo verb 4 mute 10 #################################################################### B-appendice) File di configurazione macchina windows esterna File wifi.ovpn nella sottodirectory con le configurazioni dell'installazione di openvpn: #################################################################### remote 10.0.0.2 dev tap ifconfig 10.3.0.1 255.255.255.0 secret key.txt ping 10 comp-lzo verb 4 mute 10 #################################################################### Come deve apparire più o meno l'interfaccia virtuale TAP da windows: #################################################################### Microsoft Windows 2000 [Versione 5.00.2195] (C) Copyright 1985-2000 Microsoft Corp. C:\>ipconfig Configurazione IP di Windows 2000 - Scheda Ethernet VPN: Suffisso DNS specifico connessione: dominio.tld Indirizzo IP. . . . . . . . . . . : 10.3.0.1 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Indirizzo IP. . . . . . . . . . . : 192.168.0.14 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Gateway predefinito . . . . . . . : 192.168.0.254 - Scheda Ethernet Wireless: Suffisso DNS specifico connessione: Indirizzo IP. . . . . . . . . . . : 10.0.0.1 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Gateway predefinito . . . . . . . : #################################################################### Considerazioni: Ovviamente tutto questo può essere fatto tra 2 macchine linux o tra 2 macchine freebsd, e con computer connessi, oltre che in wifi, anche attraverso una connessione dial-up con ip pubblico, insomma le possibilità sono molteplici! P.S.: Non sto a dilungarmi oltre, ma per aggiungere ulteriori postazioni è allo stato attuale necessario far partire un demone openvpn per ogni postazione remota, anche se dovrebbe uscire a breve un demone in grado di gestire tutte le connessioni lato server da solo. sickness http://www.sickness.it