Configuration matérielle
Il s'agit ici d'un Soekris Net4801 avec une carte additionnelle Lan1621 qui rajoute 2 ports réseaux 10/100, soit un total de 5 ports RJ-45. Le matériel en lui même n'est pas un foudre de guerre (CPU 233MHz, RAM 128Mo SDRAM, 3Ports Ethernet 10/100), mais il est suffisant pour une utilisation à domicile avec une connexion Internet de 50M maximum. Il faut également prendre en compte que tous les ports Ethernet n'étant pas des ports Gigabit, les transferts entre les différentes pattes du Firewall seront limités.
Préparation logicielle et Installation
Nous allons commencer par récupérer tout ce qui est nécessaire afin de pouvoir installer pfSense sur ce boitier. Pour se faire, nous allons télécharger la dernière version stable de pfSense sur le site. Etant donné qu'il s'agit d'un processeur avec une architecture 586, nous allons donc télécharger une version “i386”, et étant donné que nous allons installer ça sur une carte CompactFlash de 2Go, nous allons prendre le fichier “pfSense-2.1-RELEASE-2g-i386-nanobsd.img.gz”. Une fois avec ce fichier, il va nous falloir l'installer (après décompression) sur la carte mémoire. Pour se faire, nous allons nous servir de physdiskwrite. Connectons un lecteur de carte mémoire sur notre poste sous Windows, et copions le logiciel “physdiskwrite” dans le même répertoire que notre fichier “pfSense-2.1-RELEASE-2g-i386-nanobsd-20130911-1816.img”. Il faut ensuite lancer “cmd” en administrateur directement depuis le répertoire. A partir de maintenant, nous pouvons donc lancer la commande :
physdiskwrite pfSense-2.1-RELEASE-2g-i386-nanobsd-20130911-1816.img
Il va nous demander ou nous voulons copier le fichier image :
physdiskwrite v0.5.2 by Manuel Kasper Searching for physical drives... Information for \\.\PhysicalDrive0: Windows: cyl: 60801 tpc: 255 spt: 63 Information for \\.\PhysicalDrive1: DeviceIoControl() failed on \\.\PhysicalDrive1. Information for \\.\PhysicalDrive2: Windows: cyl: 249 tpc: 255 spt: 63 Information for \\.\PhysicalDrive3: DeviceIoControl() failed on \\.\PhysicalDrive3. Information for \\.\PhysicalDrive4: DeviceIoControl() failed on \\.\PhysicalDrive4. Which disk do you want to write? (0..2) 2 About to overwrite the contents of disk 2 with new data. Proceed? (y/n) y 1989969408/1989969408 bytes written in total
"Bien sélectionner la carte mémoire, sinon c'est l'effacement intégral de votre disque Windows" Une fois que c'est terminé, nous pouvons remettre la carte mémoire dans le boitier, et refermer celui-ci.
Démarrage du boitier
Branchons notre câble série (il est possible d'utiliser un câble USB-Serial avec un adaptateur Null-Modem) entre l'ordinateur et le boitier afin de voir ce qu'il se passe. Il est préférable de configurer Putty avant afin de pouvoir suivre correctement l'avancement du boot. Effectivement, il va falloir utiliser deux réglages différents pour avoir accès au BIOS et au Boot :
Accès au BIOS :
Vitesse : 19200 Data bits : 8 Stop bits : 1 Parité : Non Flow control : XON/XOFF
Accès au Boot :
Vitesse : 9600 Data bits : 8 Stop bits : 1 Parité : Non Flow control : XON/XOFF
Vérifications du Boot
Nous pouvons constater dans la phase de Boot qu'il détecte correctement nos différentes interfaces réseaux :
___ ___/ f \ / p \___/ Sense \___/ \ \___/ Welcome to pfSense 2.1-RELEASE ... Creating symlinks......done. >>> Under 512 megabytes of ram detected. Not enabling APC. External config loader 1.0 is now starting... ad0s3 Launching the init system... done. Initializing............................. done. Starting device manager (devd)...done. Loading configuration......done. Default interfaces not found -- Running interface assignment option. sis0: link state changed to DOWN sis1: link state changed to DOWN sis2: link state changed to DOWN sis3: link state changed to DOWN sis4: link state changed to DOWN Valid interfaces are: sis0 00:00:24:ca:8d:b8 (up) NatSemi DP8381[56] 10/100BaseTX sis1 00:00:24:ca:8d:b9 (up) NatSemi DP8381[56] 10/100BaseTX sis2 00:00:24:ca:8d:ba (up) NatSemi DP8381[56] 10/100BaseTX sis3 00:00:24:c9:de:e4 (up) NatSemi DP8381[56] 10/100BaseTX sis4 00:00:24:c9:de:e5 (up) NatSemi DP8381[56] 10/100BaseTX
Configuration de base en console
Une fois passé la détection des interfaces, nous allons devoir répondre à certaines questions :
Do you want to set up VLANs first? If you are not going to use VLANs, or only for optional interfaces, you should say no here and use the webConfigurator to configure VLANs later, if required. Do you want to set up VLANs now [y|n]?
Etant donné que nous effectuons uniquement une configuration de base, nous allons donc répondre “non” à cette question de VLANs. Nous pouvons maintenant attribuer les différentes interfaces réseaux. La norme Soekris indique que le port LAN est celui près du port console (sis0), et le WAN celui du milieu (sis1). Afin que cela soit plus simple pour nous, nous allons changer ceci afin que le premier port soit celui du WAN :
If you do not know the names of your interfaces, you may choose to use auto-detection. In that case, disconnect all interfaces now before hitting 'a' to initiate auto detection. Enter the WAN interface name or 'a' for auto-detection: sis0 Enter the LAN interface name or 'a' for auto-detection NOTE: this enables full Firewalling/NAT mode. (or nothing if finished): sis1 Enter the Optional 1 interface name or 'a' for auto-detection (or nothing if finished): sis2 Enter the Optional 2 interface name or 'a' for auto-detection (or nothing if finished): sis3 Enter the Optional 3 interface name or 'a' for auto-detection (or nothing if finished): sis4 Enter the Optional 4 interface name or 'a' for auto-detection (or nothing if finished): The interfaces will be assigned as follows: WAN -> sis0 LAN -> sis1 OPT1 -> sis2 OPT2 -> sis3 OPT3 -> sis4 Do you want to proceed [y|n]?y
Une fois le Boot terminé, nous pouvons connecter le boitier sur le réseau via la prise “Eth1” (sis1).
Configuration de base via webConfigurator
Nous pouvons nous connecter directement sur l'interface web par défaut. Les informations d’authentification sont les suivantes :
Login : admin Password : pfsense v4: 192.168.1.1/24
Informations complémentaires sur la partie Hardware.
Configuration BIOS
POST: 012345689bcefghipsajklnopqr,,,tvwxy comBIOS ver. 1.33 20080103 Copyright (C) 2000-2007 Soekris Engineering. net4801 0128 Mbyte Memory CPU Geode SC1100 233 Mhz Pri Mas SanDisk SDCFH2-002G LBA Xlt 992-64-63 2001 Mbyte Slot Vend Dev ClassRev Cmd Stat CL LT HT Base1 Base2 Int ------------------------------------------------------------------- 0:00:0 1078 0001 06000000 0107 0280 00 00 00 00000000 00000000 0:06:0 100B 0020 02000000 0107 0290 00 3F 00 0000E101 A0000000 10 0:07:0 100B 0020 02000000 0107 0290 00 3F 00 0000E201 A0001000 10 0:08:0 100B 0020 02000000 0107 0290 00 3F 00 0000E301 A0002000 10 0:10:0 104C AC23 06040002 0107 0210 08 3F 01 00000000 00000000 0:18:2 100B 0502 01018001 0005 0280 00 00 00 00000000 00000000 0:19:0 0E11 A0F8 0C031008 0117 0280 08 38 00 A0003000 00000000 11 1:00:0 100B 0020 02000000 0107 0290 00 3F 00 0000D001 A4000000 05 1:01:0 100B 0020 02000000 0107 0290 00 3F 00 0000D101 A4001000 11 3 Seconds to automatic boot. Press Ctrl-P for entering Monitor.
Commandes BIOS
comBIOS Monitor. Press ? for help. > ? comBIOS Monitor Commands boot [drive][:partition] INT19 Boot reboot cold boot download download a file using XMODEM/CRC flashupdate update flash BIOS with downloaded file time [HH:MM:SS] show or set time date [YYYY/MM/DD] show or set date d[b|w|d] [adr] dump memory bytes/words/dwords e[b|w|d] adr value [...] enter bytes/words/dwords i[b|w|d] port input from 8/16/32-bit port o[b|w|d] port value output to 8/16/32-bit port run adr execute code at adr cmosread [adr] read CMOS RAM data cmoswrite adr byte [...] write CMOS RAM data cmoschecksum update CMOS RAM Checksum set parameter=value set system parameter to value show [parameter] show one or all system parameters ?/help show this help
Configuration vue par FreeBSD (pfSense)
Consoles: serial port BIOS drive C: is disk0 BIOS 639kB/130048kB available memory FreeBSD/x86 bootstrap loader, Revision 1.1 (root@snapshots-8_3-i386.builders.pfsense.org, Wed Sep 11 18:59:49 EDT 2013) Loading /boot/defaults/loader.conf /boot/kernel/kernel data=0x9162bc data=0x51d734+0x9e0c4 syms=[0x4+0x9aa90+0x4+0xd51ab] - Hit [Enter] to boot immediately, or any other key for command prompt. Booting [/boot/kernel/kernel]... Copyright (c) 1992-2012 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD is a registered trademark of The FreeBSD Foundation. FreeBSD 8.3-RELEASE-p11 #0: Wed Sep 11 19:13:36 EDT 2013 root@snapshots-8_3-i386.builders.pfsense.org:/usr/obj.pfSense/usr/pfSensesrc/src/sys/pfSense_wrap.8.i386 i386 Timecounter "i8254" frequency 1193182 Hz quality 0 CPU: Geode(TM) Integrated Processor by National Semi (233.34-MHz 586-class CPU) Origin = "Geode by NSC" Id = 0x540 Family = 5 Model = 4 Stepping = 0 Features=0x808131<FPU,TSC,MSR,CX8,CMOV,MMX> real memory = 134217728 (128 MB) avail memory = 108036096 (103 MB) ipw_bss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/. ipw_bss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_bss_fw, 0xc07330f0, 0) error 1 ipw_ibss: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/. ipw_ibss: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_ibss_fw, 0xc0733190, 0) error 1 ipw_monitor: You need to read the LICENSE file in /usr/share/doc/legal/intel_ipw/. ipw_monitor: If you agree with the license, set legal.intel_ipw.license_ack=1 in /boot/loader.conf. module_register_init: MOD_LOAD (ipw_monitor_fw, 0xc0733230, 0) error 1 wlan: mac acl policy registered ACPI Error: A valid RSDP was not found (20101013/tbxfroot-309) ACPI: Table initialisation failed: AE_NOT_FOUND ACPI: Try disabling either ACPI or apic support. cryptosoft0: <software crypto> on motherboard padlock0: No ACE support. pcib0: <Host to PCI bridge> pcibus 0 on motherboard pci0: <PCI bus> on pcib0 sis0: <NatSemi DP8381[56] 10/100BaseTX> port 0xe100-0xe1ff mem 0xa0000000-0xa0000fff irq 10 at device 6.0 on pci0 sis0: Silicon Revision: DP83816A miibus0: <MII bus> on sis0 nsphyter0: <DP83815 10/100 media interface> PHY 0 on miibus0 nsphyter0: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis0: [ITHREAD] sis1: <NatSemi DP8381[56] 10/100BaseTX> port 0xe200-0xe2ff mem 0xa0001000-0xa0001fff irq 10 at device 7.0 on pci0 sis1: Silicon Revision: DP83816A miibus1: <MII bus> on sis1 nsphyter1: <DP83815 10/100 media interface> PHY 0 on miibus1 nsphyter1: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis1: [ITHREAD] sis2: <NatSemi DP8381[56] 10/100BaseTX> port 0xe300-0xe3ff mem 0xa0002000-0xa0002fff irq 10 at device 8.0 on pci0 sis2: Silicon Revision: DP83816A miibus2: <MII bus> on sis2 nsphyter2: <DP83815 10/100 media interface> PHY 0 on miibus2 nsphyter2: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis2: [ITHREAD] pcib1: <PCI-PCI bridge> at device 10.0 on pci0 pci1: <PCI bus> on pcib1 sis3: <NatSemi DP8381[56] 10/100BaseTX> port 0xd000-0xd0ff mem 0xa4000000-0xa4000fff irq 5 at device 0.0 on pci1 sis3: Silicon Revision: DP83816A miibus3: <MII bus> on sis3 nsphyter3: <DP83815 10/100 media interface> PHY 0 on miibus3 nsphyter3: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis3: [ITHREAD] sis4: <NatSemi DP8381[56] 10/100BaseTX> port 0xd100-0xd1ff mem 0xa4001000-0xa4001fff irq 11 at device 1.0 on pci1 sis4: Silicon Revision: DP83816A miibus4: <MII bus> on sis4 nsphyter4: <DP83815 10/100 media interface> PHY 0 on miibus4 nsphyter4: none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto sis4: [ITHREAD] Geode Soekris net4801 comBIOS ver. 1.33 20080103 Copyright (C) 2000-2007 isab0: <PCI-ISA bridge> port 0x6100-0x613f,0x6200-0x623f at device 18.0 on pci0 isa0: <ISA bus> on isab0 pci0: <bridge> at device 18.1 (no driver attached) atapci0: <National Geode SC1100 ATA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe000-0xe00f at device 18.2 on pci0 ata0: <ATA channel> at channel 0 on atapci0 ata0: [ITHREAD] ata1: <ATA channel> at channel 1 on atapci0 ata1: [ITHREAD] Timecounter "Geode" frequency 27000000 Hz quality 1000 pci0: <bridge> at device 18.5 (no driver attached) ohci0: <OHCI (generic) USB controller> mem 0xa0003000-0xa0003fff irq 11 at device 19.0 on pci0 ohci0: [ITHREAD] usbus0: <OHCI (generic) USB controller> on ohci0 cpu0 on motherboard orm0: <ISA Option ROM> at iomem 0xc8000-0xd0fff pnpid ORM0000 on isa0 atrtc0: <AT Real Time Clock> at port 0x70 irq 8 on isa0 ppc0: parallel port not found. uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 uart0: [FILTER] uart0: console (9600,n,8,1) uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0 uart1: [FILTER] Timecounters tick every 10.000 msec IPsec: Initialized Security Association Processing. usbus0: 12Mbps Full Speed USB v1.0 ad0: 1953MB <SanDisk SDCFH2-002G HDX 4.32> at ata0-master PIO4 ugen0.1: <0x0e11> at usbus0 uhub0: <0x0e11 OHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0 Root mount waiting for: usbus0 uhub0: 3 ports with 3 removable, self powered Trying to mount root from ufs:/dev/ufs/pfsense0 Configuring crash dumps... Mounting filesystems... Setting up memory disks... done.