Outils pour utilisateurs

Outils du site


config:openbsd:firewall

Contexte

Il y a quelques jours, j'ai changé la config de mon serveur, histoire de me passer de mon vieux Duron et sa pléthore de disques durs IDE (6 disques pour un total de 420Go + 2 CompactFlash de 8Go pour le système) et entrer dans l'ère moderne (Pentium dual Core G620 2.6Ghz, 4Go de RAM, 4x1To).

Du coup, j'en ai profité pour passer de OpenBSD 4.5 à la version 5.1 et pour faire quelques modifications de configuration…

Pré-requis

Bon, alors pour être hype, je suis passé de l'architecture i386 à amd64 (pourquoi ne pas tirer parti de mon nouveau processeur ?). Normal.

En revanche, là où les choses se sont un peu mal passées, c'est au tout début de l'installation…

N'ayant pas de lecteur optique alimenté sur cette machine, j'ai utilisé l'image floppy51.fs sur une clé USB comme média :

dd if=floppy51.fs of=/dev/sdc

Boot sur USB : impeccable ! Sauf que l'installeur ne détecte aucun disque dur…

En passant par le BIOS, je passe mon contrôleur SATA II en émulation IDE et je relance : ça passe.

Installation

Installation classique, sur le premier disque dur. Il s'agit d'un firewall en coupure sur mon réseau personnel avec deux interfaces réseau (IP fixe de chaque côté, mais une IP dynamique côté publique irait aussi…), qui offrira les services suivants :

  • DHCP
  • DNS
  • SSH (depuis l'extérieur également)

Je décide de garder “un peu” de place pour mes données. Le système ne sera pas multi-boot. Je choisis donc de dédier tout le disque à OpenBSD :

#                size           offset  fstype [fsize bsize  cpg]
  a:            10.0G               64  4.2BSD   2048 16384    1 # /
  b:             8.0G         20980864    swap                   # none
  c:           931.5G                0  unused                   
  d:            15.0G         37752768  4.2BSD   2048 16384    1 # /usr
  e:            10.0G         69224064  4.2BSD   2048 16384    1 # /usr/local
  f:             4.0G         90188896  4.2BSD   2048 16384    1 # /tmp
  g:            10.0G         98574816  4.2BSD   2048 16384    1 # /var
  h:            10.0G        119539648  4.2BSD   2048 16384    1 # /home
  i:           864.5G        140504480    RAID                   

Avec ça, je devrais pouvoir voir venir (notez que 10Go sur '/', ça fait vraiment beaucoup, genre trop en fait).

Etant donné ma galère avec mon contrôleur SATA, je décide d'utiliser les UIDs des disques avec disklabel, on ne sait jamais…

La très lente installation se déroule sans soucis et je redémarre.

Ca tourne, mais c'est presqu'aussi lent que sur mes CompactFlash. Reboot, BIOS, arrêt de l'émulation IDE du contrôleur SATA II, boot.

Ok, tout va mieux, mes disques sont bien reconnus en tant que SATA, la machine boote sans soucis, le kernel retrouve ses petits et toutes les partitions sont bien montées (sans jeu de mot).

On peut passer à la suite !

Configuration des disques durs

J'ai une paire de disque SATA III 1To, je vais essayer d'en tirer parti. Halte, mise hors tension, débranchage SATA II, rebranchage SATA III (mes nappes sont certifiées SATA III…), mise sous tension, boot.

Ca roulotte, les disques sont toujours détectés en SATA, tout va bien. Je tente un teste en écriture :

dd if=/dev/arandom of=/home/testfile bs=1m count=1024

Mouais. 120Mo/s pour un fichier de un giga-octets, avec des données aléatoires. Pas convaincu. Mais à priori c'est à peu près la moyenne en ce moment. Par contre, rien à voir avec un test en conditions réelles…

Passons à la suite : après tout, il y a deux disques dans cette machine.

Je vais profiter de la capacité d'OpenBSD à cloner sa partition '/' tous les soirs avec son script 'daily', histoire d'avoir au moins une sauvegarde automatique. Il me faut une partition de taille identique à 'sd0a' et je souhaite également faire du RAID logiciel par la suite, il me faut une partition de taille identique à 'sd0i' (il suffit de copier la taille et l'offset), le tout sur sd1 :

#                size           offset  fstype [fsize bsize  cpg]
  a:            10.0G               64  4.2BSD   2048 16384    1 
  c:           931.5G                0  unused                   
  i:           864.5G        140504480    RAID                   

Voilà. L'installation est finie, mon OpenBSD tourne.

Personnalisation

Juste une petite modification du fichier .profile du root. J'ajoute les lignes suivantes :

kernversion=`sysctl -n kern.osrelease`
machinetype=`sysctl -n hw.machine`
PKG_PATH="./:http://ftp.ec-m.fr/pub/OpenBSD/$kernversion/packages/$machinetype/"
PS1="\$PWD \\$> "

export PS1 PKG_PATH

Quelques fichiers

/etc/fstab
fd89245ed97589e4.b none swap sw
fd89245ed97589e4.a / ffs rw 1 1
fd89245ed97589e4.h /home ffs rw,nodev,nosuid,softdep 1 2
fd89245ed97589e4.f /tmp ffs rw,nodev,nosuid,softdep 1 2
fd89245ed97589e4.d /usr ffs rw,nodev,softdep 1 2
fd89245ed97589e4.e /usr/local ffs rw,nodev,softdep 1 2
fd89245ed97589e4.g /var ffs rw,nodev,nosuid,softdep 1 2
f89cbf98e62010e2.a /altroot ffs xx 0 0
/etc/daily.local
ROOTBACKUP=1
/etc/rc.conf.local
ntpd_flags=""         # enabled during install
pflogd_flags="-d 5"
inetd=NO
dhcpd_flags="re0"
ftpproxy_flags=
/etc/sysctl.conf
kern.bufcachepercent=90
net.inet.ip.forwarding=1        # 1=Permit forwarding (routing) of IPv4 packets
net.inet.ip.ifq.maxlen=512
net.inet.ip.mtudisc=0
net.inet.tcp.mssdflt=1440
net.inet.udp.recvspace=131072
net.inet.udp.sendspace=131072
net.inet.tcp.rfc3390=1          # 0=Disable RFC3390 for TCP window increasing
ddb.panic=0                     # 0=Do not drop into ddb on a kernel panic
machdep.allowaperture=2         # See xf86(4)
net.inet.gre.allow=1
net.inet.gre.wccp=1
net.inet.mobileip.allow=1
/etc/ssh/sshd_config
Protocol 2
AuthorizedKeysFile      .ssh/authorized_keys
PasswordAuthentication yes
UseDNS no
Subsystem       sftp    /usr/libexec/sftp-server
/etc/sudoers
Defaults env_keep +="DESTDIR DISTDIR EDITOR FETCH_CMD FLAVOR FTPMODE GROUP MAKE"
Defaults env_keep +="MAKECONF MULTI_PACKAGES NOMAN OKAY_FILES OWNER PKG_CACHE"
Defaults env_keep +="PKG_DBDIR PKG_DESTDIR PKG_PATH PKG_TMPDIR PORTSDIR"
Defaults env_keep +="RELEASEDIR SHARED_ONLY SSH_AUTH_SOCK SUBPACKAGE VISUAL"
Defaults env_keep +="WRKOBJDIR"
root    ALL=(ALL) SETENV: ALL
%wheel  ALL=(ALL) SETENV: ALL
config/openbsd/firewall.txt · Dernière modification: 2015/09/08 13:49 par cyriac