--- title: Transparent Firewall - parte 1 - Installazione OpenBSD author: goblin type: post date: 2008-03-10T07:40:56+00:00 url: /2008/03/10/transparent-firewall-parte-1-installazione-openbsd/ categories: - Documentazione - Software tags: - firewall - how to - OpenBSD --- Lo scopo di questo articolo è di installare un firewall OpenBSD, che ha 3 schede di rete: una per la gestione e le altre due configurate in bridge. Quali sono i vantaggi di questa soluzione? Che il firewall non sarà in nessun modo rilevabile nè dall'esterno nè dall'interno (non ha indirizzo ip se non per la configurazione). Un altro vantaggio è che potrete posizionarlo in qualunque segmento della rete, senza dover modificare le impostazioni di rete del router nè dei client. Può essere usato anche per studiare il tipo di traffico effettuato dai nostri client per individuare ad esempio il motivo di lamentele sulla lentezza della rete o verificare quali a quali scansioni provenienti da internet sono sottoposti i vostri server pubblici. Ma iniziamo a sporcarci le mani: la lista degli ingredienti comprende un pc anche non eccessivamente carrozzato (un pentium II con almeno 128Mb di ram andrà bene l'importante è che abbia un hard disk da almeno 40Gb da dedicare interamente ad openbsd e 3 schede di rete) e un pc da cui configurare via ssh il suddetto firewall. Ottenere openbsd è semplice, cercatelo nel vostro motore di ricerca preferito e lo troverete nella forma di un file iso da circa 200 Mb dal nome install42.iso masterizzatelo e avviate il pc che farà da firewall con il cd inserito. La procedura di installazione di questo sistema operativo risulta particolarmente macchinosa rispetto a quella del nostro pinguino, ma vi darò i comandi da inserire passo passo (come io li ho trovati in rete). Terminal type: [vt220] ----> premere invio kbd(8) mapping? ('L' for list) [none] ----> digitare it e poi invio Chiede se avete fatto il backup perchè la procedura di installazione cancellerà TUTTO il contenuto dell' hard disk. Proceed with install [no] ----> digitare yes e poi invio Available disks are wd0. Which one is the root disk? (or done) [wd0] ----> premere invio (nel nostro caso è stato trovato un solo hard disk nel pc) Do you want to use *all* of wd0 for OpenBSD [no] ---> digitare yes e invio Qui viene il bello! creare le partizioni a manina... La richiesta sarà: Initial label editor (enter '?' for help at any prompt) Digitare "p g" seguito da invio per mostrare la lista delle partizioni presenti attualmente sul disco - per cancellarle (avendo cura di usare un hard disk senza DATI IMPORTANTI) digitare in sequenza "d a" invio "d b" invio "d d" invio Non preoccupatevi se avere errori in quanto io avevo 3 partioni sul disco e le ho cancellate tutte e 3 "p g" invio Mostra il contenuto del disco dopo la cancellazione delle partizioni inutili: device: / dev/rwd0c c: 38.3G Questo significa che l'hard disk è vuoto (e che è da 40Gb). "a a" invio offset: [63] ----> invio size: [80292807] ------> 10g invio Rounding to nearest cylinder: 20971377 FS type: [4.2BSD] ----> invio mount point: [none] ----> "/" invio "a b" invio offset: [20971440] ----> invio size: [59321430] ------> 1.1g invio Rounding to nearest cylinder: 2307312 FS type: [swap] ----> invio "a d" invio offset: [23278652] ----> invio size: [57014118] ------> 2g invio Rounding to nearest cylinder: 4194288 FS type: [4.2BSD] ----> invio mount point: [none] ----> "/tmp" invio "a e" invio offset: [27473040] ----> invio size: [52819830] ------> 6g invio Rounding to nearest cylinder: 12582864 FS type: [4.2BSD] ----> invio mount point: [none] ----> "/var" invio "a g" invio offset: [40055904] ----> invio size: [40236966] ------> 10g invio Rounding to nearest cylinder: 20971440 FS type: [4.2BSD] ----> invio mount point: [none] ----> "/usr" invio "a h" invio offset: [61027344] ----> invio size: [19265526] ------> 9g invio Rounding to nearest cylinder: 18874800 FS type: [4.2BSD] ----> invio mount point: [none] ----> "/home" invio "w" invio "q" invio Mount point for wd0d (size=2097144k)? (or 'none od 'done) [/tmp] ----> invio Mount point for wd0e (size=6291432k)? (or 'none od 'done) [/var] ----> invio Mount point for wd0g (size=10485720k)? (or 'none od 'done) [/usr] ----> invio Mount point for wd0h (size=9437400k)? (or 'none od 'done) [/home] ----> invio Mount point for wd0d (size=2097144k)? (or 'none od 'done) [/tmp] ----> "done" invio No more disks to initialize. Are you really sure that you're ready to proceed? [no] -----> "yes" invio System hostname (short form, e.g. 'foo'): ----> "openbsd" invio Configure the network? [yes] ----> invio Availabel interfaces are: fxp0 fxp1 fxp2 Ha trovato 3 interfacce di rete della stessa marca - qui faccio una precisazione e cioè che i vari sistemi BSD chiamano la scheda di rete in modo diverso in base alla marca e cioè se utilizzerà un driver sis si chiamerà sis0 (la prima) oppure se avete una realtek si chiamerà rl0 (la prima) la situazione più incasinata è avere 3 schede che usano 3 drivers diversi e quindi si chiameranno ad esempio dc0 fxp0 e rl0 - dovete innanzitutto individuare quali sono e metterci una etichetta, ci sarà utile in seguito quando andremo a configurare il bridge (il metodo semplice prevede di avere 3 schede dello stesso produttore e quindi come in questo caso fxp0 fxp1 e fxp2) Ora configuriamo solo l'interfaccia di gestione, le altre due (modalità bridge) verranno impostate successivamente. Which one do you wish to initialize? (or 'done') [fxp0] ----->invio Do you want to change the media options? [no] ---->invio Se avete un dhcp potete sfruttarlo ma consiglio di mettere un ip statico, visto che vogliamo sia sempre quello e che venga impostato anche se la rete non è connessa all'avvio della macchina. IPv4 address for fxp0? (or 'none' or 'dhcp') ----> digitare "192.168.1.7" e invio Netmask [255.255.255.0] -----> invio IPv6 address fox fxp0 (or 'rtsol' of 'none') [none] ----> invio Se viene richiesto di inizializzare altre schede di rete dire no e proseguire ('none') DNS domain name? (e.g. 'bar.com') [my.domain] ----> digitare "dominio.it" e invio DNS nameserver? (IP address or 'none') [none] ----> digitare ip del dns e invio Use the nameserver now? [yes] ----> invio Default IPv4 route? (IP address, 'dhcp' or 'none') ----> digitare ip del gatewaye invio add net default: gateway Edit hosts with ed? [no] ----> invio Do you want to do any manual network configuration? [no] ----> invio Password for root account? (will not echo) ----> digitare la password che avrà l'utente root Password for root account? (again) ----> ripetere la stessa password A questo punto si effettua l'installazione dei pacchetti, raggruppati per gruppi (SET) - lo faremo scaricandoli da internet e scegliendo una installazione completa Let's install the sets! Location of sets? (cd disk ftp http or 'done') [cd] ----> digitare "ftp" e invio HTTP/FTP proxy URL? (e.g. 'http://proxy:8080', or 'none') [none] ----> digitare invio se non è necessario impostare un proxy Display the list of known ftp servers? [no] ----> "yes" e invio Getting the list from 129.128.5.191 (ftp.openbsd.org)... Qui potete scegliere un server in italia per rendere più veloce lo scaricamento e contribuire alla diminuzione del riscaldamento globale del pianeta Server? (IP address, hostname, list# or 'done') [q] 5 Using ftp5.usa.openbsd.org/pub/OpenBSD Redwood City, CA, USA Server? (IP address, hostname , list#, 'done' or '?') [ftp5.usa.openbsd.org] -----> invio Does the server support passive mode ftp? [yes] -----> invio Server directory? [pub/OpenBSD/4.2/i386] -----> invio Login? [anonymous] -----> invio Select sets by entering a set name, a file name pattern or 'all'. De-select sets by prepending a '-' to the set name, file name pattern or 'all'. Selected sets are labelled '[X]'. [X] bsd [X] bsd.rd [ ] bsd.mp [X] base42.tgz [X] etc42.tgz [X] misc42.tgz [X] comp42.tgz [X] man42.tgz [X] game42.tgz [ ] xbase42.tgz [ ] xetc42.tgz [ ] xshare42.tgz [ ] xfont42.tgz [ ] xserv42.tgz Set name? (or 'done') [bsd.mp] ---> digitare "all" e invio [X] bsd [X] bsd.rd [X] bsd.mp [X] base42.tgz [X] etc42.tgz [X] misc42.tgz [X] comp42.tgz [X] man42.tgz [X] game42.tgz [X] xbase42.tgz [X] xetc42.tgz [X] xshare42.tgz [X] xfont42.tgz [X] xserv42.tgz Set name? (or 'done') [done] -----> invio Ready to install sets? [yes] -----> invio Getting bsd ... 100% |**************************************************| 5972 KB 00:26 Getting bsd.rd ... 100% |**************************************************| 4887 KB 00:25 Getting bsd.mp ... 100% |**************************************************| 6020 KB 00:23 Getting base42.tgz ... 100% |**************************************************| 41437 KB 02:39 Getting etc42.tgz ... 100% |**************************************************| 1210 KB 00:08 Getting misc42.tgz ... 100% |**************************************************| 2238 KB 00:14 Getting comp42.tgz ... 100% |**************************************************| 76666 KB 01:36 Getting man42.tgz ... 100% |**************************************************| 7473 KB 00:30 Getting game42.tgz ... 100% |**************************************************| 2548 KB 00:12 Getting xbase42.tgz ... 100% |**************************************************| 10344 KB 00:51 Getting xetc42.tgz ... 100% |**************************************************| 90772 00:03 Getting xshare42.tgz ... 100% |**************************************************| 2024 KB 00:10 Getting xfont42.tgz ... 100% |**************************************************| 32456 KB 02:41 Getting xserv42.tgz ... 100% |**************************************************| 19365 KB 01:26 Location of sets? (cd disk ftp http or 'done') [done] -----> invio Start sshd(8) by default? [yes] -----> invio Start ntpd(8) by default? [no] ----> digitare "yes" e invio Do you expect to run the X Window System? [no] ----> invio Change the default console to com0? [no] -----> invio Saving configuration files...done. Generating initial host.random file...done. What timezone are you in? ('?' for list) [Canada/Mountain] Europe/Rome Setting local timezone to 'Europe/Rome'...done. Making all device nodes...done. Installing boot block... boot: /mnt/boot proto: /usr/mdec/biosboot device: /dev/rwd0c /usr/mdec/biosboot: entry point 0 proto bootblock size 512 /mnt/boot is 3 blocks x 16384 bytes fs block shift 2; part offset 63; inode block 24, offset 1704 using MBR partition 3: type 166 (0xa6) offset 63 (0x3f) done. CONGRATULATIONS! Your OpenBSD install has been successfully completed! To boot the new system, enter halt at the command prompt. Once the system has halted, reset the machine and boot from the disk. # Ora spegnamo il pc - togliamo il cdrom da drive e lo riavviamo. digitare "halt" e invio syncing disks... done The operating system has halted. Please press any key to reboot. [qui trovate l'articolo originale][1] Continua nella prossima puntata... [1]: https://web.archive.org/web/20090217223528/http://www.openbsd101.com/installation.html