Parfois, on aimerait installer des paquets sur pfSense. Et bien c’est possible, car en plus des outils disponibles par défaut dans le système de package pfSense, des milliers de paquets de FreeBSD supplémentaires sont aussi disponibles. Un tutoriel rapide pour installer des paquets nécessaires.
Bootstrapping pkg
pfSense 2.2 est basé sur FreeBSD 10.1 et utilise aussi la commande pkg pour gérer manuellement des packages FreeBSD. Attention toutefois, il faut rappeler le but de pfSense : installer des paquets sur pfSense, ok, mais la sécurité avant tout.
pfSense® software is a free, open source customized distribution of FreeBSD specifically tailored for use as a firewall and router that is entirely managed via web interface. In addition to being a powerful, flexible firewalling and routing platform, it includes a long list of related features and a package system allowing further expandability without adding bloat and potential security vulnerabilities to the base distribution.
En effet, si une sécurité forte est souhaitée pour votre pare-feu pfSense, alors oublier cet article et n’installez pas de paquets supplémentaires. Dans le cas contraire, si vous savez où vous mettez les pieds, et que vous allez maintenir garder à jour votre système, cet article est fait pour vous.
Bon, tout d’abord, il vous faut un shell prompt (accessible depuis votre console ou en SSH, option 8 du menu). Ensuite, vous verrez, c’est un système de paquets comme rpm, ou apt, relativement simplissime!!!
Mettre à jour de la liste des paquets
Avant toute chose, il faudra mettre à jour vos metadata avant de pouvoir installer des paquets sur pfSense :
[2.2.4-RELEASE][root@xxxxx.xxxx.xx]/root: pkg update Updating FreeBSD repository catalogue... Fetching meta.txz: 100% 944 B 0.9kB/s 00:01 Fetching packagesite.txz: 100% 5 MiB 5.5MB/s 00:01 Processing entries: 100% FreeBSD repository update completed. 24632 packages processed.
Installer des paquets sur pfSense
Maintenant que la liste des paquets est à jour, il ne vous reste plus qu’à installer celui dont vous avez besoin. Dans mon cas, j’ai besoin de rsync :
[2.2.4-RELEASE][root@xxxxx.xxxx.xx]/root: pkg install rsync Updating FreeBSD repository catalogue... FreeBSD repository is up-to-date. All repositories are up-to-date. Updating database digests format: 100% The following 1 package(s) will be affected (of 0 checked): New packages to be INSTALLED: rsync: 3.1.1_4 The process will require 569 KiB more space. 288 KiB to be downloaded. Proceed with this action? [y/N]: y Fetching rsync-3.1.1_4.txz: 100% 288 KiB 295.0kB/s 00:01 Checking integrity... done (0 conflicting) [1/1] Installing rsync-3.1.1_4... [1/1] Extracting rsync-3.1.1_4: 100%
Activer le nouveau paquet
Votre paquet est maintenant installé, mais pas encore disponible!!! Pour qu’il le soit, il vous reste encore une petite commande à exécuter :
[2.2.4-RELEASE][root@xxxxx.xxxx.xx]/root: rehash
Vraiment pas compliquer d’installer des paquets sur pfSense!
Allez plus loin avec pkg
Pour aller plus loin avec la commande pkg, utilisez l’aide !!!
[2.2.4-RELEASE][root@xxxxx.xxxx.xx]/root: pkg help
Vous pourrez ainsi vérifier la sécurité de vos paquets, ou chercher le paquet qui répondra à votre besoin.
[2.2.4-RELEASE][root@xxxxx.xxxx.xx]/root: pkg audit 0 problem(s) in the installed packages found.
Ou encore, faire une recherche si vous ne connaissez pas le nom exact du paquet à installer.
[2.2.4-RELEASE][root@xxxxx.xxxx.xx]/home/idem: pkg search geoip GeoIP-1.6.6 Find the country that any IP address or hostname originates from ap24-mod_geoip2-1.2.10 Apache module that provides the country code of the client IP geoip-java-1.2.8_1 Java bindings for GeoIP API geoipupdate-2.2.1 Fetch the latest copies of the paid GeoIP database go-geoip-0.0.0.20131016 Go library to wrap the libgeoip C library lighttpd-mod_geoip-1.4.37 GeoIP module for lighttpd p5-GeoIP2-2.002000 Perl API for MaxMind GeoIP2 web services and databases pear-Net_GeoIP-1.0.0.r1_1 Library to perform geo-location lookups of IP addresses pecl-geoip-1.1.0 Map IP address to geographic places proftpd-mod_geoip-1.3.5a GeoIP ProFTPD module py27-GeoIP-1.3.2_1 Mapping of IP addresses/hostnames to country names in Python py27-GeoIP2-2.1.0 MaxMind GeoIP2 Python API py27-pygeoip-0.3.2 Pure Python GeoIP API rubygem-geoip-1.5.0 Geoip implementation for rubygems webalizer-geoip-2.23.8_3 Web server log file analysis program
Amusez-vous bien!!!