1) partizionamento: dire yes per far usare tutto il disco a openbsd (la CF e' wd0) poi nel disklabel fare una sola grossa slice a senza swap (dire yes dopo per formattare wd0a) 2) ip da dare: 192.168.0.253 soekris su sis0 192.168.17.253 soekris su sis1 3) set da installare: bsd base42 etc42 misc42 man42 4) riavviare 5) vi /root/.profile poi aggiungere: PS1="[soekris.sick-net]# " 6) useradd -m sickness; passwd sickness 7) vi /etc/group aggiungere sickness a wheel 8) creare /home/sickness/.ssh, chmod 0700, chown sickness:users, scparci dentro authorized_keys 9) vi /etc/ssh/sshd_config poi cambiare: PermitRootLogin no, RSAAuthentication no, PasswordAuthentication no 10) pkg_add -v ftp://ftp.uninett.no/pub/OpenBSD/4.2/packages/i386/rsync-2.6.9.tgz 11) preparare una /dev.skel ed una /var.skel con rsyncato -ar tutto quello che c'e' nelle originali 12) cp /etc/rc /etc/rc.orig, vi /etc/rc sotto questo blocco: ----------------------------------------- HOME=/; export HOME PATH=/sbin:/bin:/usr/sbin:/usr/bin export PATH ----------------------------------------- aggiungere: ----------------------------------------- echo mfs: mounting /dev... mount_mfs -s 4096 -i 512 swap /dev echo mfs: populating /dev... /usr/local/bin/rsync -ar /dev.skel/* /dev/ echo mfs: mounting /tmp... mount_mfs -s 16384 swap /tmp echo mfs: mounting /var... mount_mfs -s 32768 swap /var echo mfs: populating /var... /usr/local/bin/rsync -ar /var.skel/* /var/ # Store dmesg on boot dmesg >/var/run/dmesg.boot ----------------------------------------- piu' in basso commentare: ----------------------------------------- #umount -a >/dev/null 2>&1 #mount -a -t nonfs,vnd #mount -uw / # root on nfs requires this, others aren't hurt 13) vi /etc/fstab e cambiare rw in ro 14) riavviare 15) per installare altro software, ad esempio openvpn, rimontare read-write la radice in questo modo: mount -uw / 17) prima di riavviare ricordarsi sempre di resyncare /var dopo le modifiche: rsync -ar /var/* /var.skel/ 18) pkg_add -v ftp://ftp.uninett.no/pub/OpenBSD/4.2/packages/i386/openvpn-2.0.9.tgz 19) vi /etc/rc.conf.local poi aggiungere: pf=YES 20) cp /etc/pf.conf /etc/pf.conf.orig poi vi /etc/pf.conf e mettere queste regole: ----------------------------------------- block drop in on sis1 all pass out all flags S/SA keep state pass in on sis1 proto udp from any to (sis1) port = 1194 keep state ----------------------------------------- 21) mkdir /etc/openvpn 22) openvpn --genkey --secret /etc/openvpn/sickap.key 23) vi /etc/openvpn/sickap.conf e mettere: ----------------------------------------- local 192.168.17.253 port 1194 proto udp dev tun0 dev-type tap secret /etc/openvpn/sickap.key keepalive 10 120 comp-lzo max-clients 4 user _openvpn group _openvpn persist-key persist-tun #verb 3 #mute 10 verb 0 mute 2 ----------------------------------------- 24) echo 'link0 up' > /etc/hostname.tun0 25) echo -e 'add sis0\nadd tun0\nup' > /etc/bridgename.bridge0 26) vi /etc/rc.local ed aggiungere alla fine: ----------------------------------------- if [ -x /usr/local/sbin/openvpn ]; then /usr/local/sbin/openvpn --config /etc/openvpn/sickap.conf & fi ----------------------------------------- 27) vi /home/sickness/sickap.ovpn e mettere: ----------------------------------------- dev tap dev-node TAP proto udp remote 192.168.17.253 1194 #resolv-retry infinite nobind persist-key persist-tun mute-replay-warnings secret "C:\\Program Files\\OpenVPN\\config\\sickap.key" comp-lzo verb 3 ----------------------------------------- poi distribuire in modo sicuro chiave e file di configurazione al client windows dove verra' installato openvpn 2.0.9 in TAP 28) Opzionale, usare certificati ssl (permette di connettere piu' client al medesimo demone): cd /root; rsync -avr --progress /usr/local/share/examples/openvpn/easy-rsa ./ vi vars . ./vars ./clean-all ./build-ca ./build-key-server server Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y ./build-key dell (mettere dell come common name!) Sign the certificate? [y/n]:y 1 out of 1 certificate requests certified, commit? [y/n]y ripetere ad libitum per tutti gli altri client generare i diffie helman parameters (solo sul server): ./build-dh 29) per il server copiare i file necessari nella dir di config di openvpn e far diventare cosi' la conf del server: ----------------------------------------- tls-server local 192.168.17.253 port 1194 proto udp dev tun0 dev-type tap #secret /etc/openvpn/sickap.key ca /etc/openvpn/ca.crt cert /etc/openvpn/server.crt key /etc/openvpn/server.key dh /etc/openvpn/dh1024.pem server-bridge 192.168.0.253 255.255.255.0 192.168.0.100 192.168.0.150 keepalive 10 120 comp-lzo max-clients 4 user _openvpn group _openvpn persist-key persist-tun #verb 3 #mute 10 verb 0 mute 2 ----------------------------------------- 30) per i client quasi uguale ma con le key e cert di ogni client e il ca (servono meno file): ----------------------------------------- client dev tap dev-node TAP proto udp remote 192.168.17.253 1194 ifconfig-noexec route-up "/sbin/route add default 192.168.0.254" #resolv-retry infinite nobind persist-key persist-tun mute-replay-warnings #secret "C:\\Program Files\\OpenVPN\\config\\sickap.key" ca "C:\\Program Files\\OpenVPN\\config\\ca.crt" cert "C:\\Program Files\\OpenVPN\\config\\dell.crt" key "C:\\Program Files\\OpenVPN\\config\\dell.key" comp-lzo verb 3 mute 10 ----------------------------------------- 31) nel caso in cui il client openvpn sia openbsd configurare il file /etc/openvpn/latitude.conf cosi': ----------------------------------------- client dev tun0 dev-type tap proto udp remote 192.168.17.253 1194 #resolv-entry infinite nobind persist-key persist-tun mute-replay-warnings #secret /etc/openvpn/sickap.key ca /etc/openvpn/ca.crt cert /etc/openvpn/latitude.crt key /etc/openvpn/latitude.key comp-lzo user _openvpn group _openvpn #verb 3 #mute 10 verb 0 mute 2 ----------------------------------------- poi ricordarsi, come per il server, di tirare su l'interfaccia tun0 ad esempio in questo modo: cat /etc/hostname.tun0 link0 up inet 192.168.0.40 255.255.255.0 NONE