Outils pour utilisateurs

Outils du site


logiciels:netbsd

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

logiciels:netbsd [2019/01/20 14:08] (Version actuelle)
Ligne 1: Ligne 1:
 +<​html>​
  
 +   <​h1><​hr>​NETBSD,​ DA ONE OS FOR GEEKS AND HUMAN BEINGS<​hr></​h1>​
 +<​p><​img src="​files/​netbsd-logos.png"​ align="​right"​ hspace="​4"​ vspace="​4" ​ alt="​NetBSD"></​p>​
 +<ul>
 +<​h2>​Ressources NetBSD</​h2>​
 +<​li><​a href="​http://​www.netbsd.org">​www.netbsd.org</​a>​ : site officiel
 +<​li><​a href="​http://​wiki.netbsd.se">​Howto Wiki NetBSD</​a>​ : très bon wiki
 +<​li><​a href="​http://​www.netbsdfr.org">​netbdsfr.org</​a>​ : site francophone
 +<​li><​a href="​http://​www.feyrer.de/​NetBSD/​bx/​blosxom.cgi/​index.front">​hubertf'​s NetBSD Blog</​a>​ : blog incontournable sur NetBSD
 +<​li>​Et bien sur les canaux IRC : #netbsd et #netbsdfr
 +</ul>
 +<ul>
 +<​h2><​hr>​INSTALLATION DE NetBSD<​hr></​h2>​
 +<li>1 - récupérer l'iso
 +<li>2 - installation : oui, oui, oui ...
 +<li>3 - récupérer les sources des packages dans un repertoire quelconque:
 +<li> a - ftp ftp://​ftp.netbsd.org/​pub/​NetBSD/​NetBSD-current/​tar_files/​
 +<li> b - prendre le package pkgsrc.tar.gz
 +<li> c - installer les sources : tar -xzvpf pkgsrc.tar.gz -C /usr
 +<li>4 - Mise à jour du système
 +<li> Télécharger le dernier fichier sources "​pkgsrc"​
 +<li> Dans le répertoire d'un package, taper l'une des deux méthodes
 +<li> a) "Make update"​ : méthode violente, packages et dépendances,​ désintallent tout et recompile ...
 +<li> b) "Make replace"​ : méthode douce, ne fait que remplacer le soft et non les dépendances.
 +</ul>
 +<ul>
 +<​h2><​hr>​ORGANISATION DU SYSTEME<​hr></​h2>​
 +<li>1 - L'OS fonctionne sur le "​BaseSystem"​ qui est construit à la racine.
 +<li>2 - Les packages s'​installent à partir de /usr/pkg/ dans une seconde arborescence classique (etc, user, bin, sbin, lib etc).
 +</ul>
 +<ul>
 +<​h2>​Création d'un autre utilisateur - avec sudo</​h2>​
 +<​li>​useradd -m benoit (/​usr/​sbin/​useradd en tant que root)
 +<​li>​passwd benoit
 +<​li>​cd /​usr/​pkgsrc/​security/​sudo
 +<​li>​make
 +<​li>​make install
 +<​li>​sudoedit /​usr/​pkg/​etc/​sudoers
 +</ul>
 +<ul>
 +<​h2>​Installation d'un logiciel</​h2>​
 +<li> <​b>​Compilation du source</​b>​
 +<li>1 - cd /usr/pkgsrc
 +<li>2 - cd repertoire-de-categorie/​nom-du-logiciel
 +<li>3 - make
 +<li>4 - make install
 +<li> <​b>​Installation du binaire</​b>​
 +<li> sudo pkg_add ftp.netbsd.org/​pub/​NetBSD/​packages/​3.1/​i386/​net/​wget-1.10.2nb1.tgz
 +</ul>
 +<ul>
 +<​h2>​Mises à jour des packages</​h2>​
 +<​li>​Auditer le système
 +<​li>​Installer le package security/​audit-packages
 +<​li>​Deux méthodes existent : binaire ou sources.
 +<​li>​Binaire : pkg_add -uu nom-du-package
 +<​li>​Source : cd /​usr/​pkgsrc/​nom-du-package
 +<​li>​Source : mettre à jour les sources + make replace nom-du-package
 +</ul>
 +<ul>
 +<​h2>​Changer de shell : let's go to Bash</​h2>​
 +<​li>​installer le logiciel BASH (via make et make install dans /​usr/​pkgsrc/​shells/​bash)
 +<​li>​exécuter "​chsh"​ qui edite le fichier de conf du shell de l'​utilisateur.
 +<​li>​remplacer /bin/sh par le bon shell (/​usr/​pkg/​bin/​bash).
 +<​li>​Créer .bashrc et .bash_profile dans le repertoire de l'​utilisateur
 +<​li><​A href="​index.php?​q=node%252F98">​Personnaliser votre Bash avec la variable "​PS1"</​a>​
 +<​li>​.bash_profile<​br />
 +<pre>
 +if [ -f ~/.bashrc ]; then
 +    . ~/.bashrc
 +fi
 +</​pre><​li>​.bashrc</​p>​
 +<pre>
 +PS1="​\h:​\W$ "
 +alias ll='ls -l'
 +</​pre></​ul>​
 +<​h1><​hr>​RESEAU AVEC NETBSD<​hr></​h1>​
 +<ul>
 +<​h2>​Installation du réseau</​h2>​
 +<li>1 - Carte Ethernet
 +<​li>​Fichier /​etc/​ifconfig.ne2<​br />
 +<pre>
 +up
 +192.168.1.208 netmask 255.255.255.0 media autoselect
 +</​pre><​li>​2 - Carte Wifi</​p>​
 +<​li>​Fichier /​etc/​ifconfig.wi0<​br />
 +<pre>
 +up
 +192.168.1.208 nwkey 0xNUMERO-DE-LA-CLEF netmask 255.255.255.0 ssid wifiqazi
 +</​pre><​li>​3 - Route</​p>​
 +<​li>​route add default 192.168.1.1
 +<li>4 - DNS
 +<​li>​Fichier /​etc/​resolv.conf
 +</ul>
 +<ul>
 +<​h2>​Serveur SSHd</​h2>​
 +<​li>​Installer /​usr/​pkgsrc/​security/​ssh2 (attention si un pb de licence se pose, c'est dans le fichier /​usr/​pkgsrc/​mk/​defaults/​mk.conf qu'il faut ajouter la ligne.
 +<li>1 - Générer les clefs SSH pour pouvoir se connecter à la machine.
 +<​li>"​ssh-keygen -t rsa1 -b 1024 -f /​etc/​ssh/​ssh_host_key -N ''​ "
 +<​li>"​ssh-keygen -t rsa -f /​etc/​ssh/​ssh_host_rsa_key -N ''​ "
 +<​li>"​ssh-keygen -t dsa -f /​etc/​ssh/​ssh_host_dsa_key -N ''​ "
 +<​li>​Installer le script de démarrage du service dans /etc/rc.d (voir /​usr/​pkg/​share/​examples/​rc.d)
 +<li>2 - Ou indiquer dans /​etc/​rc.conf "​sshd=YES"​ et rebooter ;-)
 +</ul>
 +<ul>
 +<​h2>​Serveur DHCP</​h2>​
 +<​li><​a href="​http://​www.netbsd.org/​Documentation/​network/​dhcp.html#​dhcp-setup-intro">​HOWTO DHCP</​a>​
 +<​li>​Il n'y a pas de logiciel à installer pour lancer un serveur DHCP.
 +<​li>​Il faut faire un fichier de configuration (/​etc/​dhcpd.conf) ajouter à /​etc/​rc.conf quelques instructions (où ex0 est l'​interface réseau).
 +<​li>​Remplacer les deux premières lignes par : "allow unknown-clients;​ ddns-update-style ad-hoc;"​ pour une configuration un peu plus ouverte<​br />
 +<​pre>/​etc/​dhcpd.conf
 +deny unknown-clients; ​      
 +ddns-update-style none;      ​
 +subnet 192.168.0.0 netmask 255.255.255.0 {
 +        range 192.168.0.200 192.168.0.254; ​
 +        default-lease-time 28800;
 +        max-lease-time 86400;
 +        option broadcast-address 192.168.0.255;​
 +        option domain-name "​mycompanydomainname.com";​
 +        option domain-name-servers 194.152.64.35,​ 194.25.2.132;​
 +        option routers 192.168.0.1;​
 + 
 +        host ftp-server {
 +                hardware ethernet 00:​00:​0a:​d8:​39:​ee;​
 +                fixed-address 192.168.0.199;​
 +                }
 +        host sparc {
 +                hardware ethernet 00:​50:​04:​01:​ee:​20;​
 +                fixed-address 192.168.0.198;​
 +                }
 +}
 +</​pre><​pre>/​etc/​rc.conf ​
 +dhcpd=yes
 +dhcpd_flags="​-q ex0"
 +---
 +touch /​var/​db/​dhcpd.leases
 +---
 +/​etc/​rc.d/​dhcpd start
 +</​pre></​ul>​
 +<ul>
 +<​h2>​Serveur TFTP</​h2>​
 +<​li><​a href="​http://​www.netbsd.org/​Documentation/​network/​netboot/​tftpd.html#​netbsd">​HOWTO TFTP</​a>​
 +</ul>
 +<ul>
 +<​h2>​Firewall : Ipfilter</​h2>​
 +<​li>​PF et IPF sont tous deux disponibles sous NetBSD. IPF est le firewall naturel de NetBSD. PF, son déscendant est celui de OpenBSD.
 +<​li>​Site officiel de Ipfilter : <a href="​http://​coombs.anu.edu.au/​~avalon/">​http://​coombs.anu.edu.au/​~avalon</​a>​
 +<​li>​ipfilter=YES dans /​etc/​rc.conf
 +<​li>​Ecrire les règles de filtrage dans /​etc/​ipf.conf
 +<​li>​Exemple : Bannir une adresse IP : block in from 90.31.56.643 to any
 +</ul>
 +<ul>
 +<​h2>​Routeur NetBSD</​h2>​
 +<​li><​a href="​http://​www.netbsd.org/​fr/​Documentation/​network/">​Documentation réseau de NetBSD (version française)</​a>​
 +<​li><​a href="​http://​www.afnic.fr/​noncvs/​formations/​routage_long/​ospf.html">​Doc routage dynamique</​a>​
 +<​li>​1) Configurer les interfaces réseau de votre routeur<​br />
 +<pre>
 +sudo /​sbin/​ifconfig sip0 192.168.15.108 up
 +sudo /​sbin/​ifconfig sip1 192.168.0.168 up
 +</​pre><​li>​2) Configurer votre passerelle</​p>​
 +<pre>
 +sudo /sbin/route delete default
 +sudo /sbin/route add default 192.168.0.254
 +</​pre><​li>​3) Configurer la résolution DNS</​p>​
 +<pre>
 +-bash-3.2$ cat /​etc/​resolv.conf (ex: les DNS de free)
 +;
 +; BIND data file
 +; Created by NetBSD sysinst on Sun Dec 16 10:12:07 2007
 +;
 +nameserver 212.27.54.252
 +nameserver 212.27.39.135
 +</​pre><​li>​4) Configuration de IPF (/​etc/​ipf.conf)<​br />
 +IPF est l'​outil de filtrage de paquets par défaut de netbsd. </p>
 +<​li>​5) Configuration de IPNAT (/​etc/​ipnat.conf)<​br />
 +La carte ethernet externe est SP1 et le réseau interne est 192.168.15.0.</​p>​
 +<pre>
 +map sip1 192.168.15.0/​8 -> 192.168.0.168/​32 portmap tcp/udp 40000:60000
 +map sip1 192.168.15.0/​8 -> 192.168.0.168/​32
 +</​pre><​li>​6) Démarrage des services IPF et IPNAT<br />
 +Il faut démarrer IPF avant IPNAT.</​p>​
 +<pre>
 +sudo /​etc/​rc.d/​ipfilter start
 +sudo /​etc/​rc.d/​ipnat start
 +</​pre><​li>​7) Activer les régles du fichier de configuration /​etc/​ipnat.conf</​p>​
 +<pre>
 +sudo /​usr/​sbin/​ipnat -FC -f /​etc/​ipnat.conf
 +</​pre><​li>​8) Redirection de port (/​etc/​ipnat.conf)</​p>​
 +<pre>
 +rdr sip1 192.168.0.168/​32 port 80 -> 192.168.15.98/​ port 80 tcp
 +rdr sip1 192.168.0.168/​32 port 25 -> 192.168.15.99/​ port 25 tcp
 +rdr sip1 192.168.0.168/​32 port 22 -> 192.168.15.99/​ port 22 tcp
 +</​pre></​ul>​
 +<ul>
 +<​h2>​Serveur DNS sur NetBSD</​h2>​
 +<​li>​Installer l'un des trois packages disponibles : "​named",​ "​named9"​ ou "​named95"​ suivant la version que vous souhaitez utiliser.
 +<​li>​La configuration se fait dans le fichier "/​etc/​named.conf"​ (contrairement à debian par exemple il n'y a pas d'​instructions "​include"​ pour les fichiers "​named.conf.options"​ et "​named.conf.local"​ que l'on peut mettre en amont et en aval des zones par défaut).
 +<​li>​Copier le fichier de démarrage : sudo cp /​usr/​pkg/​share/​examples/​rc.d/​named9 /​etc/​rc.d/​named9
 +<​li>​Ajouter le flag de démarrage dans /​etc/​rc.conf : named9=YES
 +<​li>​Le démarrage du service se fait via un classique /​etc/​rc.d/​named9 start
 +</ul>
 +<ul>
 +<​h2>​Serveur SMTP sur NetBSD (Postfix)</​h2>​
 +<​li>​Postfix est installé par défaut sur NetBSD 4.x
 +<​li>​Ouvrir le port 25 en décommentant la ligne "​inet"​ dans /​etc/​postfix/​master.cf<​br />
 +<pre>
 +smtp      inet  n       ​- ​      ​n ​      ​- ​      ​- ​      smtpd
 +</​pre><​li>​Configurer le fichier principal de configuration /​etc/​postfix/​main.cf</​p>​
 +<​li>​Installé ces alias dans /​etc/​aliases
 +<​li>​Lancer Postfix : /​etc/​rc.d/​postfix start
 +<​li>​Générer la carte des alias :
 +<​li>​sudo newaliases
 +<​li>​sudo /​usr/​sbin/​postalias /​etc/​aliases
 +</ul>
 +<​h2><​hr>​SERVICE WEB SOUS NetBSD<​hr></​h2>​
 +<ul>
 +<​h2>​Serveur Apache 2</​h2>​
 +<​li>​Installer /​usr/​pkgsrc/​www/​apache2/​
 +<​li>​Lancer Apache : sudo /​usr/​pkg/​sbin/​apachectl start
 +<​li>​Site web : /​usr/​pkg/​share/​httpd/​htdocs/​
 +<​li>​Configuration : /​usr/​pkg/​etc/​httpd/​
 +<​li>​Installer le script de démarrage du service dans /etc/rc.d (voir /​usr/​pkg/​share/​examples/​rc.d)
 +<​li>​Installer les bonnes variables dans le script /​etc/​rc.conf
 +</ul>
 +<ul>
 +<​h2>​PHP avec Apache</​h2>​
 +<​li>​Installer /​usr/​pkgsrc/​lang/​php5/​
 +<​li>​Installer /​usr/​pkgsrc/​www/​ap-php (le module Apache-PHP)
 +<​li>​Configuration : /​usr/​pkg/​etc/​php.ini
 +<​li>​Ajouter les lignes suivantes au HTTP.CONF :
 +<​li>​LoadModule php5_module lib/​httpd/​mod_php5.so
 +<​li>​AddHandler application/​x-httpd-php .php
 +</ul>
 +<ul>
 +<​h2>​Serveur HTTPS</​h2>​
 +<li>1 - GENERATION DES CLEFS
 +<​li>/​etc/​openssl
 +<​li>​openssl req -config /​etc/​ssl/​openssl.cnf -new -out mamachine.csr
 +<​li>​openssl rsa -in privkey.pem -out mamachine.key
 +<​li>​openssl x509 -in mamachine.csr -out mamachine.crt -req -signkey mamachine.key -days 3650
 +<​li>​openssl x509 -in mamachine.crt -out mamachine.der.crt -outform DER
 +<li>2 - CONFIGURATION DE APACHE
 +<​li>​Copier les clefs dans le repertoire d'​apache
 +<​li>​cp mamachine.crt /​usr/​pkg/​etc/​httpd/​
 +<​li>​cp mamachine.key /​usr/​pkg/​etc/​httpd/​
 +</ul>
 +<ul>
 +<​h2>​Monitoring MRTG</​h2>​
 +<​li>​Installer le package MRTG /​usr/​pkgsrc/​net/​mrtg/​
 +<​li>​Copier /​usr/​pkg/​share/​examples/​mrtg/​mrtg.conf vers /​usr/​pkg/​etc/​mrtg.conf
 +<​li>​Configurer MRTG via /​usr/​pkg/​etc/​mrtg.conf pour indiquer 2 types d'​information:​
 +<​li>​a) Le repertoire de destination des graphes généres
 +<​li>​b) Les différents scripts de mesures
 +<​li>​Invoquer mrtg via la commande : sudo mrtg /​usr/​pkg/​etc/​mrtg.conf
 +<​li>​Créer l'​index : sudo /​usr/​pkg/​bin/​mrtgindexmaker --output=/​home/​www/​mrtg/​index.html /​usr/​pkg/​etc/​mrtg.conf
 +<​li>​Installer si nécessaire l'​execution de MRTG dans le crontab de root (sudo crontab -e)
 +</ul>
 +<ul>
 +<​h2>​Routage web - Load Balancing - POUND</​h2>​
 +<li> Installer le logiciel POUND à partir de /​usr/​pkgsrc/​www/​pound
 +<​li><​a href="​index.php?​q=node%252F91">​Configuration du logiciel POUND</​a>​
 +</ul>
 +<ul>
 +<​h2>​Serveur web LIGHTTPHD</​h2>​
 +<li> Installer le logiciel LIGHTTPD à partir de /​usr/​pkgsrc/​www/​lighttpd
 +<​li><​a href="​index.php?​q=node%252F83">​Configuration du logiciel LIGHTTPD</​a>​
 +<​li><​b>​Authentification avec lighttpd sous NetBSD</​b>​
 +<​li>​Pour utiliser le mode "​auth"​ avec Lighttpd sous NetBSD, deux actions à faire.
 +<​li>​Créer un fichier avec le mot de passe encrypté :<br />
 +<​pre>​perl -le 'print crypt ("​motdepasse",​ "​login"​)'</​pre><​pre>​login:​hqg5fshj</​pre><​li>​Activer le module "​auth"​ dans /​usr/​pkg/​etc/​lighttpd/​lighttpd.conf en décommentant la ligne suivante : </p>
 +<​pre>"​mod_auth",</​pre></​ul>​
 +<ul>
 +<​h2>​PHP avec LIGHTTPHD</​h2>​
 +<li> En étant root exécuter cette commande pour préparer l'​installation de PHP5.<br />
 +<​pre>​echo "​PKG_OPTIONS.php5=cgi fastcgi"​ >> /​etc/​mk.conf</​pre><​li>​Installer /​usr/​pkgsrc/​lang/​php5/<​br />
 +<​b>​Préparation de lighttpd</​b></​p>​
 +<​li>​Décommenter "​mod_redirect,​ mod_access, mod_cgi, mod_accesslog"​
 +<​li>​Vérifier la prise en compte de l'​index.php
 +<​li>​Relancer lighttpd : /​etc/​rc.d/​lighttpd restart
 +</ul>
 +<​h1><​hr>​DIVERS<​hr></​h1>​
 +<ul>
 +<​h2>​Serveur XFree86</​h2>​
 +<​li>​Le serveur X est installé par défaut.
 +<​li>​Vérifier avec startx, si besoin (!), configurer le serveur X avec "​xf86config"​ en créant le fichier /​etc/​X11/​XF86Config.
 +<​li>​Créer un fichier de configuration pour chaque utilisateur avec "​.xinitrc"​
 +<​li>​Installer un Window Manager comme icewm - ecrire la commande de démarrage du WM dans .xinitrc : "exec icewm" (sans le &amp; final s'il n'y a rien après)
 +<​li>​Utiliser "​dmesg"​ pour connaître le matos.
 +<li> Attention à la souris : /​dev/​wsmouse sur les versions > 2.0.
 +</ul>
 +<ul>
 +<​h2>​Ressources</​h2>​
 +<​li><​a href="​http://​wiki.netbsd.se">​http://​wiki.netbsd.se</​a>​
 +</ul>
 +<ul>
 +<​h2>​Monitoring Hardware : SMARTtools + envstat</​h2>​
 +<​p><​b>​Disque dur</​b></​p>​
 +<​li>​Installation de SMARTtools avec le packages pkgsrc/​sysutils/​smarttools/​
 +<​li>/​usr/​pkg/​sbin/​smartctl -a /​dev/​wd0d<​br />
 +<​b>​Carte mère</​b></​p>​
 +<​li><​a href="​http://​www.home.unix-ag.org/​bmeurer/​NetBSD/​tips.html">​How to use hardware monitors with NetBSD</​a>​
 +</ul>
 +<ul>
 +<​h2>​NTP</​h2>​
 +<​li>​Installation de NTP via le package /​usr/​pkgsrc/​net/​ntp4/​
 +<​li>​Exécuter la commande : ntpdate ntp.internet-fr.net
 +<​li>​Ajouter cette commande à la crontab : /​usr/​pkg/​bin/​ntpdate ntp.internet-fr.net
 +</ul>
 +<ul>
 +<​h2>​INFORMATIONS SUR LE SYSTEME</​h2>​
 +<​li>/​sbin/​sysctl -a : tout
 +<​li>/​sbin/​sysctl hw<br />
 +<pre>
 +     ​Name ​         Constant ​         Next level names      Description
 +     ​kern ​         CTL_KERN ​         sys/​sysctl.h ​         High kernel limits
 +     ​vm ​           CTL_VM ​           uvm/​uvm_param.h ​      ​Virtual memory
 +     ​vfs ​          ​CTL_VFS ​          ​sys/​mount.h ​          ​Filesystem
 +     ​net ​          ​CTL_NET ​          ​sys/​socket.h ​         Networking
 +     ​debug ​        ​CTL_DEBUG ​        ​sys/​sysctl.h ​         Debugging
 +     ​hw ​           CTL_HW ​           sys/​sysctl.h ​         Generic CPU, I/O
 +     ​machdep ​      ​CTL_MACHDEP ​      ​sys/​sysctl.h ​         Machine dependent
 +     ​user ​         CTL_USER ​         sys/​sysctl.h ​         User-level
 +     ​ddb ​          ​CTL_DDB ​          ​sys/​sysctl.h ​         In-kernel debugger
 +     ​proc ​         CTL_PROC ​         sys/​sysctl.h ​         Per-process
 +     ​vendor ​       CTL_VENDOR ​       ?                     ​Vendor specific
 +     ​emul ​         CTL_EMUL ​         sys/​sysctl.h ​         Emulation settings
 +     ​security ​     CTL_SECURITY ​     sys/​sysctl.h ​         Security settings
 +</​pre></​ul>​
 +  </​div>​
 +
 +
 +</​html>​
logiciels/netbsd.txt · Dernière modification: 2019/01/20 14:08 (modification externe)