Index par titre

Installation sur VirtualBox

Préparation de VirtualBox

Principe de l'installation :

                   réseau hôte
                   10.42.0.0/8 ---------- vboxnet0 sur machine hôte
                       |                  10.42.0.10   sera vue comme un client wifi par UnivNautes
                       |
                    lan/em1  
                   10.42.0.1                
                 ______|_____
                |            |
                | UnivNautes |
                |____________|
                       |
                    wan/em0
                       |
                       |
         (Internet via NAT sur l'hôte)

Il faut créer un réseau hôte vboxnet0 sur VirtualBox. : dans Fichier / Paramètres / Réseau, onglet Réseau hôte uniquement, créer vboxnet0 avec comme IPv4 10.42.0.10, masque 255.0.0.0, sans serveur DHCP.

10.42.0.10 sera l'adresse IP de la machine hôte (votre machine) sur le réseau des clients gérés par UnivNautes.

Récupération de l'image ISO

Création d'une machine UnivNautes

Configuration réseau :

Installation d'UnivNautes

Installer la machine en démarrant sur l'image ISO. Lors du premier démarrage après l'installation, des questions sur le réseau sont posées (voir https://doc.entrouvert.org/univnautes/stable/install-premier-demarrage.html) :

Accès à l'interface d'administration de pfSense

Indiquer dans le /etc/hosts de votre machine locale :

# à ajouter dans le /etc/hosts de votre machine
10.42.0.1 univnautes.entrouvert.lan

L'interface de configuration pfSense est accessible sur https://univnautes.entrouvert.lan:8443/ (ou https://10.42.0.1:8443/ si vous ne voulez vraiment pas modifier votre /etc/hosts, c'est dommage parce que c'est utile pour faire du SAML en vrai après, voilà).

Par défaut :

Activation de SSH

Note : après toute modification du firewall, cliquer sur le bouton [Apply changes] qui apparaît en haut de la page.

Test de l'accès :
thomas@zepo:~$ ssh root@univnautes.entrouvert.lan
Password: pfsense
*** Welcome to pfSense 2.1.4-RELEASE-pfSense (i386) on univnautes ***

 WAN (wan)       -> em0        -> v4/DHCP4: 10.0.2.15/24
 LAN (lan)       -> em1        -> v4: 10.42.0.1/16

 0) Logout (SSH only)                  8) Shell
 1) Assign Interfaces                  9) pfTop
 2) Set interface(s) IP address       10) Filter Logs
 3) Reset webConfigurator password    11) Restart webConfigurator
 4) Reset to factory defaults         12) pfSense Developer Shell
 5) Reboot system                     13) Upgrade from console
 6) Halt system                       14) Disable Secure Shell (sshd)
 7) Ping host                         15) Restore recent configuration

Enter an option: 8

[2.1.4-RELEASE][root@univnautes.entrouvert.lan]/root(1): bash
[root@univnautes ~]# 

Plateforme de création des images ISO

(Inspiration : https://gist.github.com/matsimon/4187828)

Installation de FreeBSD 8.x

A la fin de l'installation :

Au reboot, mise à jour :

freebsd-update fetch install
portsnap fetch extract

Préparation de l'environnement de build :

echo "WITHOUT_X11=yo" >> /etc/make.conf
echo "BATCH=yo" >> /etc/make.conf
echo "NO_WARNING_PKG_INSTALL_EOL=yes" >> /etc/make.conf

Installation de portmaster :

cd /usr/ports/ports-mgmt/portmaster
make depends install
rehash

Outils nécessaires au builder (ça va être long, pour git) :

portmaster textproc/expat2
portmaster devel/git
portmaster devel/subversion
portmaster sysutils/fastest_cvsup
rehash

Installation du "pfsense-tools" avec modification UnivNautes :

cd /home/pfsense
git clone ssh://git@repos.entrouvert.org/univnautes-tools.git tools
chmod a+rx tools/builder_scripts/*.sh

Copie des sources de l'installateur FreeBSD saveur pfSense:

cd /home/pfsense
git clone https://github.com/pfsense/freesbie2 freesbie2

Quelques répertoires à créer, aussi...

mkdir -p /home/pfsense/pfSenseGITREPO /usr/pfSensesrc

build.sh

L'outils de build général et son aide intégrée :

cd /home/pfsense/tools/builder_scripts
./build.sh

Usage ./build.sh [options] [ iso | nanobsd | ova | nanobsd-vga | memstick | memstickserial | fullupdate | all ]
  all = iso nanobsd nanobsd-vga memstick memstickserial fullupdate
    [ options ]: 
  --flash-size|-f size(s) - a list of flash sizes to build with nanobsd i.e. '512m 1g'. Default: 512m
  --flash-vendor|-m vendor - flash vendor type. check the code for supported vendors. Default: sandisk
  --no-buildworld|-c - Will set NO_BUILDWORLD NO_BUILDKERNEL to not build kernel and world
  --no-cleanobjdir|--no-cleanrepos|-d - Will not clean FreeBSD object built dir to allow restarting a build with NO_CLEAN
  --resume-image-build|-r - Includes -c -d and also will just move directly to image creation using pre-staged data
  --apply-patches - Fetch FreeBSD sources and apply patches
  --build-pfPorts - Rebuild all ports required to generate an image
  --build-pfPort port - Rebuild a single port required to generate an image
  --builder-required-ports - Build ports required from builder tools to operate
  --update-sources - Refetch all sources
  --print-flags - Show current builder configuration
  --clean-builder - clean all builder used data/resources
  --configure - generate a config file to be used by builder tools
  --build-kernels - build all configured kernels
  --build-kernel argument - build specifed kernel. Exampe --build-kernel pfSense_SMP.10
  --install-extra-kernels argument - Put extra kernel(s) under /kernel image directory. Exampe --install-extra-kernels pfSense_wrap.10.i386
  --enable-memorydisks - This will put /usr/local/pfsense-fs and /usr/local/pfsense-clone as MFS filesystems
  --disable-memorydisks - Will just teardown these filesystsm created by --enable-memorydisks

Compilation des ports

Pour tout reconstruire :

./build.sh --build-pfPorts

Pour un port spécifique :

./build.sh --build-pfPort lasso

Les ports nécessaires à UnivNautes sont visibles en bas de /home/pfsense/tools/builder_scripts/conf/pfPorts/buildports.RELENG_2_1 :

bash           /usr/ports/shells/bash           /usr/local/bin/bash
python         /usr/ports/lang/python           /usr/local/bin/python
python2        /usr/ports/lang/python2          /usr/local/bin/python2
python27       /usr/ports/lang/python27         /usr/local/bin/python2.7
py-sqlite3     /usr/ports/databases/py-sqlite3  /usr/local/lib/python2.7/lib-dynload/_sqlite3.so
lasso          /usr/ports/security/lasso        /usr/local/lib/liblasso.so.13
py-django15    /usr/ports/www/py-django15       /usr/local/bin/django-admin.py
py-flup        /usr/ports/www/py-flup           /usr/local/lib/python2.7/site-packages/flup/__init__.py
py-authentic2  /usr/ports/www/py-authentic2     /usr/local/lib/python2.7/site-packages/authentic2/__init__.py

Construction image ISO


UnivNautes

Documentation d'utilisation : https://doc.entrouvert.org/univnautes/stable/

Documentations techniques