Operatsioonisüsteemi OpenBSD kasutamine
Sissejuhatus
Failisüsteemi kontroll
Spetsifikatsiooni moodustamine
# mtree -cK sha1digest -p / > /root/mtree-20110501.txt
kus
- -p / - kasutatav kataloog
Failisüsteemi spetsifikatsiooniga võrdlemine
# mtree -f /root/mtree-20110501.txt -K sha1digest -p / .. root/.joe_state: size (861, 899) modification time (Sun May 1 16:15:06 2011, Sun May 1 17:08:39 2011) SHA1 (d2f48713915e5c0f53452dc90ce9d521a52bd9e2, d059c19f92b422bdae52354f4ebfc1ee933062de) root/.sh_history: size (3518, 3727) modification time (Sun May 1 17:06:17 2011, Mon May 2 09:18:26 2011) SHA1 (477f16ca34905ccb9ecb1985e9fa0bc9ccf519f0, a46c5edeecb1cddf8e104eca9c5123db8eebac37) ...
/altroot kasutamine
TODO
vether seadme kasutamine
Virtuaalset ethernet seadet vether kasutatakse tavaliselt silla (ingl. k. bridge) komponendina, nt mingite kohalike teenuste IPSec keskkonnas kättesaadavaks tegemiseks (nt dhcpd). Virtuaalse ethernet seadme kirjeldab nt selline seadistusfail
# cat /etc/hostname.vether0 inet 10.110.0.192 255.255.255.0 NONE
ja tekkiv seade on selline
# ifconfig vether0 vether0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 lladdr fe:e1:ba:d8:51:99 priority: 0 groups: vether media: Ethernet autoselect status: active inet 10.110.0.192 netmask 0xffffff00 broadcast 10.110.0.255 inet6 fe80::fce1:baff:fed8:5199%vether0 prefixlen 64 scopeid 0x22
vether seadmel on sellised omadused
- erinevalt nt lo seadmetest on tal lladdr, st mac aadress kusjuures tundub, et mac algab alati fe:e1:ba:...
Lisamaterjalid
ruutingutabel
OpenBSD operatsioonisüsteemi IPv4 ruutingutabelit saab esitada käsuga
# route -n show -inet
või
# netstat -rn -f inet Destination Gateway Flags Refs Use Mtu Prio Iface default 10.0.5.113 UGS 3490 508609272 - 8 vlan110 10.0.5/24 link#43 UC 78 0 - 4 vlan505 10.0.5.1 10.0.5.1 UH 0 0 - 4 carp105 10.0.5.2 00:15:17:c4:4a:c3 UHLc 0 1244244 - 4 vlan505 10.0.5.3 00:09:6b:49:77:a2 UHLc 1 4889838 - 4 vlan505 10.0.5.4 00:16:35:c4:d3:10 UHLc 0 85191 - 4 vlan505 10.0.5.5 00:17:a4:8d:c4:4c UHLc 0 4084029 - 4 vlan505 10.0.5.6 00:50:56:98:51:74 UHLc 0 36707 - 4 vlan505 .. 10.11/16 10.0.20.252 UGS 0 6135692 - 8 vlan520 ...
kus (vt man netsat erinevate lippude tähenduste kohta)
- U - ruuting on kasutatav (usable)
- C - ruuting on kloonitav, st selle alusel moodustatakse automaatselt uusi sissekandeid
- c - ruuting on kloonitud, st ta on moodustatud automaatselt mõne C märkega ruutingu alusel; automaatselt selliseid ruutingutabeli sissekandeid ka eemaldatakse
- G - ruuting vastavasse võrku toimub läbi lüüsi (ing. k. gateway)
- erinevalt Linux operatsioonisüsteemist on ruutingutabelis esitatud sissekanded ka hostide kohta
- S - staatiliselt st seadistatud ruuting st nt mitte kloonitud ega mitte BGP deemoni poolt tekitatud
- Refs - näitab C sissekannete puhul kui palju on moodustatud vastavaid kloone
Logimine
OpenBSD logimisega tegeleb syslogd deemon ja logisid roteerib juurkasutaja crontabist iga tund newsyslog programm, mida kontrollib seadistusfail /etc/newsyslog.conf. Sõltub konktreetsetest vajadustest kui tihti logisid roteeritakse ja kaua kogunenud logisid säilitada, tundub, et vaikimisi roteeritakse liiga tihti ja säilitatakse liiga lühikest aega. Nt sellisel seadistusel on järgmised omadused
# cat /etc/newsyslog.conf # logfile_name owner:group mode count size when flags /var/cron/log root:wheel 600 60 * $W1D0 Z /var/log/aculog uucp:dialer 660 7 10 * Z /var/log/authlog root:wheel 640 60 * $W1D0 Z /var/log/daemon 640 60 * $W1D0 Z /var/log/lpd-errs 640 7 10 * Z /var/log/maillog 600 14 * $M1D0 Z /var/log/messages 644 60 * $W1D0 Z /var/log/secure 600 60 * $W1D0 Z /var/log/wtmp 644 14 * $M1D0 B /var/log/xferlog 640 7 250 * Z /var/log/ppp.log 640 7 250 * Z /var/log/pflog 600 90 * $D0 ZB "pkill -HUP -u root -U root -t - -x pflogd"
kus (vt man newsyslog.conf)
- $W1D0 - roteeritakse igal esmaspäeva varahommikul kell 00
- $M1D0 - wtmp logi ei pakita, et oleks mugavam last -f /var/log/wtmp.0 abil vaadata
- $D0 - /var/log/pflog faili roteeritakse kord ööpäevas keskööl
Paketifiltri pflog logide teisse arvutisse kopeerimise võiks korraldada teisest arvutist nt sellise cron tööga
# cat /etc/cron.d/pf-logid 30 0 * * * root /usr/bin/scp logeleja@10.0.9.2:/var/log/pflog.0.gz \ /srv/log/tulemyyr.loomaaed/pflog/pflog-$(date --date="1 day ago" +%d%m%Y).gz
Seejuures peab saama logiserverist pöördumisel kasutatav OpenBSD kasutaja /var/log/pflog.0.gz faili lugeda.
Paketifiltri syslogi logimine
Käesolevas punktis kirjeldatakse, kuidas korraldada paketifiltri logimist syslogi (sh logiserverisse). Tulemusena tekivad
- tulemüüri failisüsteemi tekstikujuline logifail /var/log/pflog.txt (ja vastavad roteeritud failid)
- logiserverisisse tekstikujuline logi, esmalt syslogi logitud aeg (iga 5 minuti tagant), seejärel tcpdump poolt pflog5min seest loetud aeg
Feb 9 21:00:02 ibm pf: Feb 09 20:57:04.026517 rule 114/(match) block in on vlan11: 0.0.0.0 > 224.0.0.1: igmp query (DF) [tos 0xc0] [ttl 1] Feb 9 21:00:02 ibm pf: Feb 09 20:57:04.026567 rule 114/(match) block in on vlan11: 0.0.0.0 > 224.0.0.1: igmp query (DF) [tos 0xc0] [ttl 1] ...
- tulemüüri failisüsteemi pflog formaadis failid
-rw------- 1 root wheel 31461 Feb 9 20:15 /var/log/pflog5min.201302092015 -rw------- 1 root wheel 22048 Feb 9 20:20 /var/log/pflog5min.201302092020 -rw------- 1 root wheel 23904 Feb 9 20:25 /var/log/pflog5min.201302092025 -rw------- 1 root wheel 29291 Feb 9 20:30 /var/log/pflog5min.201302092030 ...
- tulemüüri failisüsteemi pflog formaadis kokkuühendatud fail järgmisel päeval
/var/log/pflog5min-20130209
Aadressil http://www.openbsd.org/faq/pf/logging.html#syslog on kirjeldatud sellise süsteemi juurutamist üksikasjalikult, siin on ära toodud mõned selgitused ja täiendused. Põhilise töö teeb crontabist käivitatud skript
# cat /etc/pflogrotate #!/bin/sh PFLOG=/var/log/pflog FILE=/var/log/pflog5min.$(date "+%Y%m%d%H%M") pkill -ALRM -u root -U root -t - -x pflogd if [ -r $PFLOG ] && [ $(stat -f %z $PFLOG) -gt 24 ]; then mv $PFLOG $FILE pkill -HUP -u root -U root -t - -x pflogd tcpdump -n -e -s 160 -ttt -r $FILE | logger -t pf -p local0.info rm $FILE fi
kus
- FILE - kuupäevanimeline failinimi, nt /var/log/pflog5min.201302092015
- pkill -ALRM ... - ütleb pflogd protsessile kirjutada puhvrid kettale (vaikimisi toimub see iga 60 sekundi järel)
- if kontrollib kas fail on olemas ja suurus on rohkem kui 24 baiti
- pkill -HUP - ütleb pflogd protsessile alustada uue /var/log/pflog faili kirjutamist
- tcpdump ja logger kirjutavad viimase 5 minuti teksti syslogisse
Kirjeldatud viisil ei jää alles pflog binari formaadis logi mida võib olla mõnus tcpdump abil kasutada. Selleks, et sellisel kujul logi jääks alles sobib kommenteerida välja skriptis rm $FILE rida ja kord ööpäevas öelda eelmise päeva logi kohta nt
# mergecap -w /var/log/pflog-20130209 /tmp/pflog5min.20130209*
mergecap on wireshark paketis.
GIF tunneli kasutamine
Tunneliga kaasneb üks ruuting
# route -n show -inet | grep 10.150 10.150.96.138 10.150.111.114 UH 0 2 - 4 gif0
Tunnelitega tegelemisel on oluline jälgida, et seadmeid moodustades ja kustutades ei jääks vanad ruutingud eksitama.
Kas protsess on chrootitud
http://marc.info/?l=openbsd-misc&m=128396097904099&w=2
# fstat | awk '$4 == "root"' _openvpn openvpn 27120 root / 1255092 drwxr-xr-x r 512 _tcpdump tcpdump 13301 root / 1117326 drwxr-xr-x r 512 _isakmpd isakmpd 2136 root / 1117326 drwxr-xr-x r 512 _ntp ntpd 23273 root / 1117326 drwxr-xr-x r 512 _relayd relayd 1084 root / 1117326 drwxr-xr-x r 512 _relayd relayd 4281 root / 1117326 drwxr-xr-x r 512 www httpd 19945 root / 1117358 drwxr-xr-x r 512 www httpd 24993 root / 1117358 drwxr-xr-x r 512 ...
ifstated kasutamine
TODO
Tööpõhimõte
TODO
Vastuseks mõne arvutis töötava võrguseadme oleku muutumisele saab ifstated abil sooritada tegevusi. Nt
- kui carp seade muutub master -> backup, siis eemaldatakse mõni arvutis töötanud bridge
- kui carp seade muutub master -> backup, siis saadetaks monitooringutarkvarale vastav teade
- käivitada/seisata dhcpd programmi
Kasutamine OpenVPN tarkvaraga
# cat /etc/ifstated.conf init-state tun_ut_up state tun_ut_up { if tun4.link.down set-state tun_ut_down } state tun_ut_down { init { run "ifconfig tun4 destroy" run "sleep 5" run "sh /etc/netstart tun4" } if tun4.link.up set-state tun_ut_up }
Käivitamiseks sobib öelda nt (muidu lisada /etc/rc.conf.local faili)
# ifstated -vd
Kasulikud lisamaterjalid
NUT tarkvara kasutamine
Tarkvara paigaldamiseks sobib öelda
# pkg_add nut nut-2.4.3p1:libusb-0.1.12p4: ok nut-2.4.3p1:neon-0.28.6p0: ok nut-2.4.3p1: ok --- +nut-2.4.3p1 ------------------- Once you have the config files under /etc/nut set up properly, the following block can be added to your /etc/rc.local file to start nut. # Start Nut if [ -x /usr/local/bin/upsdrvctl ]; then echo -n ' nut' /usr/local/bin/upsdrvctl start > /dev/null 2>&1 /usr/local/sbin/upsd > /dev/null 2>&1 /usr/local/sbin/upsmon > /dev/null 2>&1 fi The userid running NUT (normally _nut) must have access to the relevant device nodes. For a UPS connected by RS232, either add _nut to group "dialer" or change group of the relevant /dev/cua* device to _nut. For a USB-connected UPS, change the group of /dev/ugen* and /dev/usb* to _nut and allow the group to have write access.
SSH brute force ründe tõrjumine
SSH brute force ründe tõrjumiseks sobib kasutada selliseid reegleid
block in log quick on $if_public inet from <ssh-bruteforce> pass in quick on $if_public inet proto tcp to $carp_public port 22 flags S/SA modulate state \ (pflow, tcp.established 864000, max-src-conn-rate 3/30, overload <ssh-bruteforce> ) label "JSpublic"
kus
- esimene reegel blokeerib varem kogutud ip aadresside pääsu
- teine reegel luba pöörduda sageduspiiranguga, piirangu ületajad ip aadress lisatakse ssh-bruteforce tabelisse
- max-src-conn-rate 3/30 - 30 sekundilise ajavahemiku jooksul on lubatud teha kuni 3 päringut
Lisaks võiks crontabis olla rida, mis regulaarselt eemaldab keelatud aadresse (nt juhtumiks kui mõni õigustatud ligipääseja mingil põhjusel eksis)
*/30 * * * * /sbin/pfctl -t ssh-bruteforce -T expire 1800
kus on näidatud, et ssh-bruteforce tabelist eemaldatakse iga tunni nullindal ja 30'ndal minutil tabelisse 1800 sekundit või varem lisatud sissekandeid.
Arpwatch
Tarkvara paigaldamiseks sobib öelda
# pkg_add arpwatch The following new rcscripts were installed: /etc/rc.d/arpwatch See rc.d(8) for details. Look in /usr/local/share/doc/pkg-readmes for extra documentation.
Käivitamiseks sobib öelda nt
# /usr/local/sbin/arpwatch -i re0 -i vlan11
Tundub, et OpenBSD portsudes olev arpwatch ei saada muudatuste kohta eposti ja logib ainult syslogi
... Feb 11 18:14:51 ibm arpwatch: new station 192.168.10.160 0:4:23:c8:fa:ea Feb 11 18:16:06 ibm arpwatch: new station 192.168.10.254 0:0:5e:0:1:3 Feb 11 18:16:06 ibm arpwatch: new station 192.168.10.211 0:6:4f:32:0:35 Feb 11 18:18:02 ibm arpwatch: new station 192.168.10.71 a4:c:c3:65:b5:a7
Töö käigus koguneb fail /var/arpwatch/arp.dat
# cat /var/arpwatch/arp.dat 70:1:68:0:11:11 192.168.1.111 1328976780 afs-1
IPTV
# pkg_add igmpproxy igmpproxy-0.1b2p3: ok The following new rcscripts were installed: /etc/rc.d/igmpproxy See rc.d(8) for details. Look in /usr/local/share/doc/pkg-readmes for extra documentation.
Kasulikud lisamaterjalid
Süsteemi uuendamine Sysmerge abil
Üldiselt on kirjeldatud operatsioonisüsteemi uuendamise protseduuri eelmiselt järgmisele versioonile aadressil http://www.openbsd.org/faq/, nt 5.6 -> 5.7 puhul http://www.openbsd.org/faq/upgrade57.html.
- veenduda, et süsteemist on olemas varukoopia, nt teisel arvutil (seejuures võiks ettenägelikult muuta ka koopia peal etc/fstab faili)
# mkdir /mnt/siin-on-ruumi # rsync -avH --exclude=/mnt --exclude=/usr/src --exclude=/usr/obj / /mnt/siin-on-ruumi/ # cd /mnt/siin-on-ruumi # tar zcf ../arvutinimi-20150504-5.6.tgz .
Lahtipakkimiseks öelda, tundub, et nii säilivad kasutajanimed jms, uuemal ajal on ka tar -N võti olemas
# tar -C /mnt/juurikas -xzphf arvutinimi-20150504-5.6.tgz
- või sama arvuti teises failisüsteemis, nt
# rsync -avH --exclude=/mnt --exclude=/usr/src --exclude=/usr/obj / /mnt/sd0d/
- teha kättesaadavaks uue süsteemi tarkvara
# vnconfig vnd0 /mnt/install57.iso # mount -t cd9660 /dev/vnd0c /mnt/cd0 # rsync -avH /mnt/cd0/5.7/amd64/ /root/5.7/ # umount /mnt/cd0 # vnconfig -u vnd0
- töötada juurkasutajana ksh shellis
- salvestada süsteemi olek, sh paigaldatud pakettide nimekiri
# sh m-state.sh
- peatada nende rakenduste töö, mille puhul võib kahtlustada, et teekide uuendamine võib neid eksitada (tõenäoliselt jäävad tööle kolm nö protsessi, init, sshd ja getty)
- teha /etc kataloogist lokaalne koopia, nt
# rsync -avH /etc/ /root/nobackup/etc-5.6-20150504-tootanud/
- kustutada bootimisel programmide käivitamine, see võib ka vahel /sbin/oreboot'i eksitada
# rm /etc/rc.conf.local # rm /etc/rc.local
- uuendada tuum, kui kasutatakse kostümiseeritud tuuma, siis sellega arvestada
# export RELEASEPATH=/root/5.7 # cd ${RELEASEPATH} # rm /obsd ; ln /bsd /obsd && cp bsd /nbsd && mv /nbsd /bsd # cp bsd.rd bsd.mp /
- salvestada vana reboot programm
# cp /sbin/reboot /sbin/oreboot
Pakkida uue versiooni filesetid lahti olemasolevasse süsteemid, kirjutades olemasolevad failid üle
# tar -C / -xzphf xbase57.tgz (vajadusel, nt sy* monitooringu kasutamisel) # tar -C / -xzphf game57.tgz # tar -C / -xzphf comp57.tgz # tar -C / -xzphf man57.tgz # tar -C / -xzphf base57.tgz # Install last!
- alglaadida süsteem uue tuumaga vana reboot programmiga
# /sbin/oreboot
- tekitada dev failid
# cd /dev # ./MAKEDEV all
- uuendada sysmerge abil /etc kataloog, sh seadistusfailid
# export RELEASEPATH=/root/5.2 # sysmerge -s $RELEASEPATH/etc52.tgz ===> Populating temporary root under /var/tmp/sysmerge.OgSArVm7of/temproot ===> Starting comparison ===> Updating /etc/changelist ===> Updating /etc/daily ===> Updating /etc/login.conf ===> Installing /etc/mixerctl.conf ===> Updating /etc/moduli ===> Updating /etc/netstart Use 'd' to delete the temporary ./etc/nsd.conf Use 'i' to install the temporary ./etc/nsd.conf Use 'm' to merge the temporary and installed versions Use 'v' to view the diff results again Default is to leave the temporary file to deal with by hand How should I deal with this? [Leave it for later]
Kui valida merge, jätkub töö sdiff programmiga
- h - näitab helpi
- l, r - rea või lõigu kaupa saab valida kas vana (vasak) või uus (parem)
- jne
===> Merging /etc/nsd.conf ===> Updating /etc/protocols ===> Updating /etc/rc ===> Updating /etc/rc.conf ===> Updating /etc/rc.d/amd ===> Updating /etc/rc.d/ftpd ===> Updating /etc/rc.d/identd ===> Updating /etc/rc.d/ldapd ===> Updating /etc/rc.d/mopd ===> Updating /etc/rc.d/nsd ===> Updating /etc/rc.d/ntpd ===> Installing /etc/rc.d/popa3d ===> Updating /etc/rc.d/rarpd ===> Updating /etc/rc.d/rc.subr ===> Updating /etc/rc.d/sendmail ===> Updating /etc/rc.d/smtpd ===> Installing /etc/rc.d/sndiod ===> Updating /etc/rc.d/ypbind ===> Updating /etc/rc.d/ypldap ===> Updating /etc/rc.d/ypserv ===> Updating /etc/services ===> Updating /etc/ypldap.conf ===> Comparison complete ===> Checking directory hierarchy permissions (running mtree(8)) ===> Output log available at /var/tmp/sysmerge.OgSArVm7of/sysmerge.log *** WARNING: some new/updated file(s) may require a reboot
Muudetud failid kopeeritakse kataloogi /var/tmp/sysmerge.OgSArVm7of/backups/etc.
- kustutada mittevajalikud failid, nb! sõltub konkreetsele versioonile vastavast uuendusest; kui uuendatakse nt 4.8 -> 5.1, siis tuleks lugeda upgrade.html faile ja eemaldada kõik, mis eemaldada tuleb
# cat delete-51.sh rm /etc/rc.d/aucat rm /etc/ccd.conf /sbin/ccdconfig /usr/share/man/man8/ccdconfig.8 rm /usr/sbin/pkg_merge rm /usr/libexec/getNAME /usr/share/man/man8/getNAME.8 rm -rf /usr/lib/gcc-lib/i386-unknown-openbsd5.0 rm -f /usr/bin/midicat /usr/share/man/man1/midicat.1 rm -f /usr/bin/makewhatis /usr/bin/mandocdb /usr/share/man/man8/mandocdb.8
ja öelda
# sh delete-51.sh
- uuendada paketid, kontrollida üle PKG_PATH väärtus
# export PKG_PATH=http://ftp.aso.ee/pub/OpenBSD/`uname -r`/packages/`machine -a`/ # pkg_add -ui
Kusjuures, mõnel juhul tuleb mõni pakett, mis enam ei esine, kustutada, nt 4.8 -> 5.1 juhul
# pkg_delete libgamin libgamin-0.1.10p3: ok Read shared items: ok
- Kohendada /etc/rc.conf.local faili võttes aluseks uue versiooni /etc/rc.conf
# cp /etc/rc.conf /etc/rc.conf.local
Süsteemi uuendamine Sysmerge abil v. 5.6 -> 5.7
Enam ei jagata etcXX.tgz ja ja xetcXX.tgz file set'isid, sisu on baseXX.tgz sees ja sysmerge kasutab diffimisel faile
/usr/share/sysmerge/etc.tgz /usr/share/sysmerge/xetc.tgz
Kasutamiseks piisab öelda
# sysmerge
v. 5.7 puhul on muutunud /etc/rc.conf.local faili kasutamine, tundub, et seda ei ole ette nähtud muuta käsitsi vaid rcctl utiliidiga, nt
# rcctl set ntpd status on # rcctl set ntpd flags -s # rcctl get ntpd
Nn package deemonite puhul tuleb öelda sarnaselt, nt (tekib pkg_scripts= rida)
# rcctl set zabbix_agentd status on
Tulemusena tekib nt sellise sisuga rc.conf.local
# cat /etc/rc.conf.local dhcpd_flags=-c /etc/dhcpd-85.conf -l /var/db/dhcpd-85.leases vlan20 ipsec=YES isakmpd_flags=-vK npppd_flags= nsd_flags= ntpd_flags=-s pkg_scripts=zabbix_agentd relayd_flags= snmpd_flags= syslogd_flags=-a /var/unbound/dev/log -a /var/www/dev/log -a /var/nsd/dev/log -a /var/empty/dev unbound_flags=
Zabbix agendi kasutamine
# pkg_add zabbix-agent zabbix-agent-1.8.10p0:cyrus-sasl-2.1.25p2: ok zabbix-agent-1.8.10p0:openldap-client-2.4.26: ok zabbix-agent-1.8.10p0:libexecinfo-0.2p0v0: ok zabbix-agent-1.8.10p0: ok The following new rcscripts were installed: /etc/rc.d/saslauthd /etc/rc.d/zabbix_agentd See rc.d(8) for details.
Sendbug kasutamine
Sendbug programm on ette nähtud vigade raporteerimiseks. Selle kasutamine eeldab, et kõnealuses arvutis on võrguühendus ning seadistatud eposti väljasaatmine. Kasutamiseks tuleb öelda
# sendbug
mille tulemusena avaneb tekstieditor eeltäidetud andmetega, sh dmesg väljund jms. Seda tuleb vea raporteerijal täiendada ning seejärel saadetakse raport välja eposti kirjana.
Sendbug andmebaas asub aadressil http://www.openbsd.org/query-pr.html
systat ja top
Märkus: Kõnealuse arvuti füüsiline mälu (8 G)
# sysctl hw.physmem hw.physmem=8571469824
Klassikaline ja universaalne utiliit top ning OpenBSD spetsiifiline utiliit systat esitavad muu hulgas arvuti nn vmstat (virtual memory) omadusi. Top pilt paistab selline
kus
- Real: act/tot - väljendab 'protsesside poolt aktiivses kasutuses oleva mälu hulk' / 'protsesside poolt aktiivses + passiivses kasutuses oleva mälu hulk'
- Free - vaba mälu hulk st kernel ei ole seda võtnud mingil moel kasutusse (ei protsesside jaoks, ei failisüsteemi cache vms)
- Cache - failisüsteemi cache jms
- swap - 'kasutusel olev swap' / 'kogu swap'
- 'Real tot' + 'Free' võrdub arvuti füüsilise mälu hulgaga
- küllap 'Reat tot' sisaldab endas 'Real act' + 'Cache' + 'veel midagi (tuuma puhvrid vms)'
ning systat pilt selline
kus
- Int, Sys, Usr jt on esitatud numbriliselt ning all tähistatud visuaalselt vastavalt |, = ja > märkidega
- 'active free' - vaba mälu hulk st kernel ei ole seda võtnud mingil moel kasutusse (ei protsesside jaoks, ei failisüsteemi cache vms) (sama mis top programmi Free)
- 'all free' - vaba mälu hulk + süsteemi vaba swap
- 'active real' - protsesside poolt aktiivses kasutuses oleva mälu hulk (sama mis top programmi 'Real act')
- 'all real' - protsesside poolt aktiivses + passiivses kasutuses oleva mälu hulk (sama mis top programmi 'Real tot')
- 'all real' + 'active free' võrdub arvuti füüsilise mälu hulgaga
- tavalisel süsteemi kasutusel on 'active real' ja 'active virtual' ning 'all real' ja 'all virtual' väärtused võrdsed
- man systat -> sektsioon vmstat alguses on lõik
Below the top line are statistics on memory utilization. The first row of the table reports memory usage only among active processes, that is, processes that have run in the previous twenty seconds. The second row reports on memory usage of all processes. The first column reports on the amount of physical memory claimed by processes. The second column reports the same figure for virtual memory, that is, the amount of memory that would be needed if all processes were resident at the same time. Finally, the last column shows the amount of physical memory on the free list.
Varundamine
Tulemüüri tuleks üldiselt varundada nagu iga muudki nö tavalist arvutit, st üle võrgu teisse arvuti kõvakettale vms kohta. Lisaks võiks tulemüüris käivitada nt kord tunnis lokaalse varunduse selleks, et vajadusel saaks sõltumata muust pöörduda tagasi varem töötanud seisule. Selleks sobib kasutada rsnapshot tarkvara kopeerides /etc kataloogi seejuures excludedes /etc/firmware kataloogi ja käivitades nt selliselt
# crontab -l | tail -n 4 # rsnapshot 0 * * * * /usr/local/bin/rsnapshot sync && /usr/local/bin/rsnapshot hourly 50 23 * * * /usr/local/bin/rsnapshot daily 40 23 * * 6 /usr/local/bin/rsnapshot weekly
OpenBSD snapshot kasutamine
Kopeerida ftp://ftp.aso.ee/pub/OpenBSD/snapshots kataloogist sobiv installxx.iso ning teha viimase -release peale tavaline upgrade. Kasutada samas katalogist sobivaid pakette.
iSCSI
TODO, http://openbsd-wip.blogspot.com/2012/01/openbsd-iscsi-howto.html
OpenBSD kasutamine virtuaalses keskkonnas
KVM
Tundub, et 2013 aasta seisuga töötab suhteliselt ilusti, võrgu ja plokkseadme jaoks saab alates versioonist 5.3 kasutada virtio seadmeid
- man vio - VirtIO network device
virtio1 at pci0 dev 18 function 0 "Qumranet Virtio Network" rev 0x00: Virtio Network Device vio0 at virtio1: address de:83:84:54:be:eb virtio1: apic 0 int 10
- man vioblk - VirtIO disk
virtio0 at pci0 dev 10 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio Block Device vioblk0 at virtio0 scsibus0 at vioblk0: 2 targets sd0 at scsibus0 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed sd0: 4096MB, 512 bytes/sector, 8388608 sectors virtio0: apic 0 int 10
- man viomb - VirtIO memory ballooning driver
VMware ESXi
Tundub, et 2013 aasta seisuga töötab ilusti.
ulimit
ksh ulimit paistab selline, man ksh
# ulimit -a time(cpu-seconds) unlimited file(blocks) unlimited coredump(blocks) unlimited data(kbytes) 8388608 stack(kbytes) 8192 lockedmem(kbytes) 10864112 memory(kbytes) 32590252 nofiles(descriptors) 128 processes 1310
kusjuures tundub, et nofiles piiriks on vaikimisi 7030, seda saab muuta sysctl abil
# sysctl kern.maxfiles kern.maxfiles=7030
USB netipulga kasutamine
Eelduseks on kasutada toetatud USB pulk, man umsm, nt Huawei E392. Moodustada ppp0 seade
# touch /etc/hostname.ppp0 # sh /etc/netstart ppp0
Moodustada kaks skripti
# cat /etc/ppp/connect.emt ABORT "BUSY" ABORT "NO CARRIER" ABORT "ERROR" ABORT "VOICE" ABORT "NO DIALTONE" "" "ATE1" # OK "at+cpin=0000" #switch modem on OK AT+CFUN=1 # APN OK AT+CGDCONT=1,"IP","internet.emt.ee" # dial OK "ATD*99#" CONNECT \c
ning
# cat /etc/ppp/peers/emt debug cuaU0 460800 0.0.0.0:10.64.64.64 netmask 255.255.255.255 ipcp-accept-local ipcp-accept-remote crtscts persist #disable stuff deflate 0 refuse-pap refuse-chap noauth noipdefault nopcomp novj novjccomp nodefaultroute connect "chat -v -f /etc/ppp/connect.emt"
kus
- TODO
ning käivitamiseks öelda
# pppd call emt
Tulemusena öeldakse logisse
Dec 18 21:42:27 ibm pppd[26772]: pppd 2.3.5 started by root, uid 0 Dec 18 21:42:28 ibm chat[18173]: abort on (BUSY) Dec 18 21:42:28 ibm chat[18173]: abort on (NO CARRIER) Dec 18 21:42:28 ibm chat[18173]: abort on (ERROR) Dec 18 21:42:28 ibm chat[18173]: abort on (VOICE) Dec 18 21:42:28 ibm chat[18173]: abort on (NO DIALTONE) Dec 18 21:42:28 ibm chat[18173]: send (ATE1^M) Dec 18 21:42:28 ibm chat[18173]: expect (OK) Dec 18 21:42:28 ibm chat[18173]: ATE1^M^M Dec 18 21:42:28 ibm chat[18173]: OK Dec 18 21:42:28 ibm chat[18173]: -- got it Dec 18 21:42:28 ibm chat[18173]: send (AT+CFUN=1^M) Dec 18 21:42:28 ibm chat[18173]: expect (OK) Dec 18 21:42:28 ibm chat[18173]: ^M Dec 18 21:42:28 ibm chat[18173]: AT+CFUN=1^M^M Dec 18 21:42:28 ibm chat[18173]: OK Dec 18 21:42:28 ibm chat[18173]: -- got it Dec 18 21:42:28 ibm chat[18173]: send (AT+CGDCONT=1,"IP","internet.emt.ee"^M) Dec 18 21:42:29 ibm chat[18173]: expect (OK) Dec 18 21:42:29 ibm chat[18173]: ^M Dec 18 21:42:29 ibm chat[18173]: AT+CGDCONT=1,"IP","internet.emt.ee"^M^M Dec 18 21:42:29 ibm chat[18173]: OK Dec 18 21:42:29 ibm chat[18173]: -- got it Dec 18 21:42:29 ibm chat[18173]: send (ATD*99#^M) Dec 18 21:42:29 ibm chat[18173]: expect (CONNECT) Dec 18 21:42:29 ibm chat[18173]: ^M Dec 18 21:42:29 ibm chat[18173]: ATD*99#^M^M Dec 18 21:42:29 ibm chat[18173]: CONNECT Dec 18 21:42:29 ibm chat[18173]: -- got it Dec 18 21:42:29 ibm chat[18173]: send () Dec 18 21:42:29 ibm pppd[26772]: Serial connection established. Dec 18 21:42:30 ibm pppd[26772]: Using interface ppp0 Dec 18 21:42:30 ibm pppd[26772]: Connect: ppp0 <--> /dev/cuaU0 Dec 18 21:42:30 ibm pppd[26772]: sent [LCP ConfReq id=0x1 <magic 0xd3edaa3b> <accomp>] Dec 18 21:42:30 ibm pppd[26772]: rcvd [LCP ConfReq id=0x14 <asyncmap 0x0> <auth chap 05> <magic 0x78e31cc8> <pcomp> <accomp>] Dec 18 21:42:30 ibm pppd[26772]: sent [LCP ConfRej id=0x14 <auth chap 05> <pcomp>] Dec 18 21:42:30 ibm pppd[26772]: rcvd [LCP ConfAck id=0x1 <magic 0xd3edaa3b> <accomp>] Dec 18 21:42:30 ibm pppd[26772]: rcvd [LCP ConfReq id=0x15 <asyncmap 0x0> <magic 0x78e31cc8> <accomp>] Dec 18 21:42:30 ibm pppd[26772]: sent [LCP ConfAck id=0x15 <asyncmap 0x0> <magic 0x78e31cc8> <accomp>] Dec 18 21:42:30 ibm pppd[26772]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0>] Dec 18 21:42:30 ibm pppd[26772]: sent [CCP ConfReq id=0x1 <bsd v1 15>] Dec 18 21:42:30 ibm pppd[26772]: rcvd [LCP DiscReq id=0x16 magic=0x78e31cc8] Dec 18 21:42:30 ibm pppd[26772]: rcvd [LCP ProtRej id=0x17 80 fd 01 01 00 07 15 03 2f] Dec 18 21:42:31 ibm pppd[26772]: rcvd [IPCP ConfNak id=0x1] Dec 18 21:42:31 ibm pppd[26772]: sent [IPCP ConfReq id=0x2 <addr 0.0.0.0>] Dec 18 21:42:32 ibm pppd[26772]: rcvd [IPCP ConfNak id=0x2] Dec 18 21:42:32 ibm pppd[26772]: sent [IPCP ConfReq id=0x3 <addr 0.0.0.0>] Dec 18 21:42:33 ibm pppd[26772]: rcvd [IPCP ConfReq id=0xa] Dec 18 21:42:33 ibm pppd[26772]: sent [IPCP ConfNak id=0xa <addr 10.64.64.64>] Dec 18 21:42:33 ibm pppd[26772]: rcvd [IPCP ConfNak id=0x3 <addr 10.128.1.226>] Dec 18 21:42:33 ibm pppd[26772]: sent [IPCP ConfReq id=0x4 <addr 10.128.1.226>] Dec 18 21:42:33 ibm pppd[26772]: rcvd [IPCP ConfReq id=0xb] Dec 18 21:42:33 ibm pppd[26772]: sent [IPCP ConfAck id=0xb] Dec 18 21:42:33 ibm pppd[26772]: rcvd [IPCP ConfAck id=0x4 <addr 10.128.1.226>] Dec 18 21:42:33 ibm pppd[26772]: local IP address 10.128.1.226 Dec 18 21:42:33 ibm pppd[26772]: remote IP address 10.64.64.64
kus
- TODO
ning tekib seade ppp0
# ifconfig ppp ppp0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500 priority: 0 groups: ppp inet 10.128.1.226 --> 10.64.64.64 netmask 0xffffffff
Kui OpenBSD on tulemüüriks teistele, siis peab ppp0 seadmest väljuvate pakettide src ip aadresse ümber kirjutama.
Kasulikud lisamaterjalid
- http://www.chrisk.de/blog/2011/03/how-to-openbsd-with-huawei-e1750-umts
- http://hazardous.org/~fkr/openbsd/openbsd_gprs_umts.html
- http://www.lounge.se/wiki2/show/3GModem
OpenBSD juurfailisüsteemi kasutamine USB pulgalt
OpenBSD kasutamine USB netipulgalt võiks uuema aja arvutite puhul nö lihtsalt töötada. Pulga ettevalmistamist kirjeldatakse aadressil http://www.openbsd.org/faq/faq14.html#flashmemLive, sisuliselt sobib nö abistav arvuti käivitada tavaliselt OpenBSD installeri CD plaadilt, pista kõnealune pulk arvutisse juurde ning paigaldada OpenBSD valides kettaseadmeks USB pulga (nt sd1). USB pulgalt bootimist vajava arvuti saab seejärel käivitada, valides boot valikutest USB.
Kui kirjeldatud viisil pulgalt bootida ei saa, aga arvutil on kasutada CD seade ja USB pulk, siis sobib kasutada plaadilt tuuma
boot> boot cd0a:/5.4/i386/bsd -a ...
kus
- -a ning näidata root failisüsteemiks sd1a ja swap sd1b eeldusel, et nõnda USB pulgale tarkvara paigaldati
Sellisel juhul tekib põhimõtteliselt küsimus, et miks üldse tegeleda USB pulgaga kui on kasutada CD seade, üks vastus on, et USB pulk on kirjutatav. St peale käivitamist saab sinna teha muudatusi, nt tarkvara lisada ja seadistusfaile muuta, kusjuures need muudatused säilivad peale arvuti rebooti. Tõsi, USB pulga sees olev meedia ei ole eriliselt kiire ega kannata väga palju ülekirjutusi, selles osas on abiks MFS failisüsteemi kasutamine.
Kui arvuti lokaalsel kõvakettal on mingil põhjusel GRUB v. 1 siis saab selle abil samuti USB pulgalt bootida
grub> root=(hd1,3) grub> chainloader +1 grub> boot
kus
- OpenBSD on paigaldatud pulgale valides 'whole' ja praktiliselt on ta siis neljandal msdos partitsioonil
Kasulikud lisamaterjalid
- http://martintoft.dk/wordpress/?tag=openbsd
- http://blog.spoofed.org/2007/12/openbsd-on-soekris-cheaters-guide.html
- http://techblagh.blogspot.com/2008/08/installing-openbsd-43-on-soekris-5501.html
Paikade rakendamine
- rakendustarkvara - programmid, teegid jms mille uuenduse kehtestamiseks ei ole tarvis operatsioonisüsteemi alglaadida
- tuum - operatsioonisüsteemi kerneli uuendamisel tuleb uuenduse kehtestamiseks operatsioonisüsteem alglaadida
Rakendustarkvara paigad
TODO
Tuuma paigad
TODO
Binpatch-NG
Tundub, et aadressil https://stable.mtier.org/ on kompileeritud paikade kasutamise süsteem. Seda tutvustatakse ka artiklis http://undeadly.org/cgi?action=article&sid=20130113185003.
Kasulikud lisamaterjalid
- http://www.openbsd.org/faq/faq10.html#Patches
- http://www.openbsd.org/faq/faq5.html#BldKernel
- http://www.openbsd.org/errata54.html
DHCPD
Kui leased saavad otsa, kirjutatakse logisse midagi sellist
Apr 22 09:38:00 rtm1 dhcpd[30231]: no free leases on subnet kontor
Login class kasutamine
Login class on selline operatsioonisüsteemi instrument, millega saab muu hulgas kontrollida kui palju ressurssi on kasutajal kasutada, nt
- avatud failide arv
- stack data size
- jms
/etc/login.conf failis on kirjeldatud erinevad login class sissekanded, mida identifitseerivad nimed, nt default, daemon ning millega on seotud ressursipiirangud; teiselt poolt kasutajate andmebaasis on kasutajaga seotud spetsiifiline klass, või kui seda pole, siis default klass.
Olemasoleva kasutaja olemasolevat klassi saab küsida nt
# userinfo kasutajanimi
Olemasoleva kasutaja klassi saab muuta öelda
# chpass kasutajanimi
Klassi omadusi saab küsida
# getcap -f /etc/login.conf klassinimi
Klassi saab juurde tekitada lisades /etc/login.conf faili nt sektsiooni, kusjuures süntaksit saab getcap programmiga kontrollida
# Unbound unbound:\ :datasize-cur=2G:\ :datasize-max=2G:\ :maxproc-max=256:\ :maxproc-cur=128:\ :openfiles-cur=8192:\ :openfiles-max=12288:\ :tc=daemon:
Klassi kehtestumist saab kontrollida logides sisse kaustajana ja öelda
$ ulimit -a
Töötava programmi ressursikasutuse kohta saab küsida
#!/bin/ksh while true; do aeg=`date +%Y%m%d-%H%M%S` echo $aeg ps -ax -o user,vsz,tsiz,ssiz,maxrss,dsiz,rss,lim,rsz -U _unbound > /var/tmp/aeg_$aeg sleep 15 done
Tihtipeale on vaja muuta max avatavate failide (sh võrguühenduste) arvu, selleks võib olla vaja suurendada ka tuuma vastavat limiiti
# sysctl kern.maxfiles=16384 kern.maxfiles: 7030 -> 16384
või lisades /etc/sysctl.conf faili et alglaadimise ajal kehtestuks.
Käivitusskripti kasutamise mõistmiseks sobib lisada käivitusskripti faili echo rida
# cat /etc/rc.d/unbound .. rc_start() { # echo "${rcexec} ${daemon} ${daemon_flags} start" >> /tmp/_unbound.start ${rcexec} "${daemon} ${daemon_flags} start" ...
Tulemusena kirjutatakse faili, st süsteem saab aru, et unbound nimelist login klassi tuleb kasutada _unbound kasutaja protsesside jaoks
# cat /tmp/_unbound.start su -l -c unbound -s /bin/sh root -c /usr/local/sbin/unbound-control -c /var/unbound/etc/unbound.conf start
Kasulikud lisamaterjalid
Märkused
Kui OpenBSD on varundatud jättes kopeerimata /var/log sisu, siis sobib pärast taastamist öelda
# touch /var/log/messages /var/log/authlog /var/log/secure /var/log/daemon /var/log/xferlog /var/log/lpd-errs /var/log/maillog /var/log/wtmp # chmod 0600 /var/log/messages /var/log/authlog /var/log/secure /var/log/daemon /var/log/xferlog /var/log/lpd-errs /var/log/maillog /var/log/wtmp # chmod 0640 /var/log/authlog /var/log/daemon /var/log/xferlog /var/log/lpd-errs # chmod 0644 /var/log/messages
ning syslogd protsessi uuesti käivitada.
Postfix
# pkg_add postfix Ambiguous: choose package for postfix a 0: <None> 1: postfix-2.10.1 2: postfix-2.10.1-ldap 3: postfix-2.10.1-mysql 4: postfix-2.10.1-pgsql 5: postfix-2.10.1-sasl2 6: postfix-2.11.20130710 7: postfix-2.11.20130710-ldap 8: postfix-2.11.20130710-mysql 9: postfix-2.11.20130710-pgsql 10: postfix-2.11.20130710-sasl2 Your choice: 1 -> Creating /etc/mailer.conf.postfix -> Creating Postfix spool directory and chroot area under /var/spool/postfix -> Creating Postfix data directory under /var/postfix + --------------- | Configuration files have been installed in /etc/postfix. | Please update these files to meet your needs. +--------------- postfix-2.10.1: ok The following new rcscripts were installed: /etc/rc.d/postfix See rc.d(8) for details. --- +postfix-2.10.1 ------------------- Postfix can be set up to replace sendmail entirely. Please read the documentation at file:///usr/local/share/doc/postfix/html/index.html or http://www.postfix.org/ carefully before you decide to do this! To replace sendmail with Postfix you have to install a new mailer.conf using the following command: /usr/local/sbin/postfix-enable If you want to restore sendmail, this is done using the following command: /usr/local/sbin/postfix-disable
ning seejärel
# /usr/local/sbin/postfix-enable old /etc/mailer.conf saved as /etc/mailer.conf.pre-postfix postfix /etc/mailer.conf enabled NOTE: do not forget to add sendmail_flags=NO to /etc/rc.conf.local to disable sendmail. NOTE: do not forget to add "-a /var/spool/postfix/dev/log" to syslogd_flags in /etc/rc.conf.local and restart syslogd. NOTE: do not forget to add postfix to pkg_scripts in /etc/rc.conf.local to start postfix automatically. NOTE: do not forget to remove the "sendmail clientmqueue runner" from root's crontab.
ClamAV ja clamav-milter
Tundub, et OpenBSD paketis clamav sisalduvad clamav, freshclam ning clamav-milter
# pkg_add clamav quirks-2.9 signed on 2014-07-31T22:37:55Z clamav-0.98.4p0:libxml-2.9.1p1: ok clamav-0.98.4p0:arc-5.21p: ok clamav-0.98.4p0:libltdl-2.4.2p0: ok clamav-0.98.4p0:unzip-6.0p4: ok clamav-0.98.4p0:lha-1.14i.ac20050924.1: ok clamav-0.98.4p0:bzip2-1.0.6p1: ok clamav-0.98.4p0: ok The following new rcscripts were installed: /etc/rc.d/clamav_milter /etc/rc.d/clamd /etc/rc.d/freshclam See rc.d(8) for details.
Tarkvaralise RAID kasutamine
Tarkvaralise RAID juurutamiseks operatsioonisüsteemi paigaldamise käigus tuleb teha sellised tegevused
- initsialiseerida fdisk abil RAID lülituse moodustavate kõvaketaste MBR
- tekitada kõvaketastele disklabel editor abil üks kogu ketast hõlmav partitsioon, märkides tüübiks 'RAID'
- koostada bioctl utiliidi abil komponentidest RAID1 mirror, tulemusena moodustub wd0 ja wd1 alusel sd0 nimeline seade
- paigaldada operatsioonisüsteemi installeri abil nö virtuaalsele sd0 seadmele operatsioonisüsteem
Konkreetselt toimub loetletud tegevuste läbiviimine selliselt
TODO
Bootimisel sobib kasutada nt (boot> promptis töötavad set, ls jt käsud)
boot> boot sr0a:/bsd
Kasulikud lisamaterjalid
- http://cybermashup.com/2013/09/19/softraid-and-crypto-for-openbsd-5-3/
- http://blog.cochard.me/2012/03/openbsd-51-installation-on-sofraid4.html
tmux programmi kasutamine
Tundub, et tmux programmi kõige olulisem praktiline erinevus võrreldes screen programmiga on, et käsurežiimi minnakse Ctrl-A asemel Ctrl-B abil. Nimelt, bash shellis on Ctrl-A rea algusse liikumise shortcut ja on tõesti ebamugav, kui see ei tööta. St et Ctrl-B ja C avab uue ekraani jne.
- Olemasolevale sessioonile külge ühendumine
# tmux attach
Operatsioonisüsteemi paikamine
Paikamiseks tuleb /usr/src alla lahti pakkida src.tar.gz ja sys.tar.gz arhiivid ning paigad aadressilt http://www.openbsd.org/errata56.html, iga paiga alguses on kirjas selle paiga rakendamise juhis, nt
# itm1:/usr/src# head 001_rxr.patch.sig untrusted comment: signature from openbsd 5.6 base private key RWR0EANmo9nqhktKtv2CaNBbjF9NkKJJdBLhW0hFdL8yus9REd6O8iiLzM8I6fL0NCx4ZXeflMC7babQmG7qvx8TLxf/YMtsGwA= OpenBSD 5.6 errata 1, Sep 5, 2014: Incorrect RX ring computation leads to panics under load with bge(4), em(4) and ix(4). Apply patch using: signify -Vep /etc/signify/openbsd-56-base.pub -x 001_rxr.patch.sig -m - | \ (cd /usr/src && patch -p0) Then build and install a new kernel: cd /usr/src/sys/arch/`machine`/conf KK=`sysctl -n kern.osversion | cut -d# -f1` config $KK cd ../compile/$KK make make install ...
Mõnel juhul on vaja uus tuum juurutada ning seejuures operatsioonisüsteem alglaadida; mõnel juhul mõni programm või teek uuesti kompileerida ning sel juhul piisab vastava protsessi stop ja stardist.
Syslog-ng logiserveri kasutamine
OpenBSD baas tarkvara hulka kuuluv syslog võimaldab logida lokaalsesse failisüsteemi või üle võrgu logiserverisse. Logiserveri teenuse pidamiseks tuleb kasutada midagi muud, nt syslog-ng tarkvara. Paigaldamiseks sobib öelda
# pkg_add syslog-ng
OpenBSD syslogd programmiga paralleelseks kasutamiseks sobib nt selline seadistusfail
# cat /etc/syslog-ng/syslog-ng.conf @version: 3.4 options { use_dns(no); create_dirs(no); keep_hostname(yes); }; source s_net { udp(port(515)); }; destination d_local { file("/var/log/syslog-ng.log"); }; log { source(s_net); destination(d_local); };
kus
- TODO
Käivitamiseks sobib öelda
# /etc/rc.d/syslog_ng start syslog_ng(ok)
Testiks saada midagi logisse
# echo '<0>logirida' | nc -w 1 -u 192.168.27.254 515
Dualboot Linux - OpenBSD arvuti tekitamine
- Arvutit tuleb kasutada BIOS mitte UEFI režiimis kuna 2015 aasta suvel OpenBSD ei oska kasutada GPT partitsioonitabelit
- Paigaldada tavalisel viisil Linux, nt sellise kõvaketta kasutusega, jättes osa kõvakettast partitsioneerimata
TODO
- Käivitada arvuti OpenBSD installerilt ning töötada fdisk programmiga (mille installer automaatselt käivitab), tekitades A6 tüüpi partitsiooni OpenBSD jaoks ja valida (E)dit
.. Which dist is the root disk? ('?' for details) [sd0] Use DUIDs rather than device names in fstab? [yes] Disk: sd0 geometry: 36404/255/63 [584843264 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] *0: 83 0 32 33 - 121 15 36 [ 2048: 1951744 ] Linux files* 1: 8E 121 157 37 - 11063 136 17 [ 1953792: 175781888 ] Linux LVM 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused Use (W)hole disk or (E)dit the MBR? [whole] e
kus
- ketas on suur 584843264 sektorit
- järgmise partitsiooni algus on eelmise algus + suurus, 1951744 + 2048 = 1953792
seejärel avaneb fdisk dialoog ja näidata, et asutakse redigeerima teist partitsiooni
Enter 'help' for information fdisk: 1> edit 2 #: id C H S - C H S [ start: size ] 2: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused Partition id ('0' to disable) [0 - FF]: [0] (? for help) A6
ning seejärel öelda, et redigeeridakse LBA sektorites ja näitada partitsiooni algus, 1953792 + 175781888 = 177735680 ja lõpp 584843264 - 177735680 = 407107584
Do you wish to edit in CHS mode? [n] Partition offset: [0] 177735680 Partition size: [0] 407107584
Tulelmusena on MBR selline
fdisk: 1> print .. #: id C H S - C H S [ start: size ] *0: 83 0 32 33 - 121 15 36 [ 2048: 1951744 ] Linux files* 1: 8E 121 157 37 - 11063 136 17 [ 1953792: 175781888 ] Linux LVM 2: A6 11063 136 18 - 36404 206 26 [ 177735680: 407107584 ] OpenBSD 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
Seejärel salvestada muudatused ja väljuda programmist, pöördudes tagasi installerisse
fdisk: 1> write fdisk: 1> quit
- Installer jätkab disklabel seadistamisega, tekitada nö tavalisel viisil vajalik hulk sobivate suurustega partitsioone, nt
a - 16 G juurfailisüsteem b - 10 G swap
Kusjuures offsettisid arvestatakse absoluutselt, mitte OpenBSD partitsiooni alguse suhtes
.. Use (A)uto layout, (E)dit auto layout, or create (C)ustom layout? [a] c
Label editor (enter '?' for help at any prompt) > a a offset: [177735680] size: [407107584] 30000000 FS type: [4.2BSD] mount point: [none] /
> a b offset: [2007735680] size: [377107584] 20000000 FS type: [swap]
ning salvestada muudatused ning väljuda programmist tagasi installerisse
> w > q
Tulemusena tekitatakse failisüsteemid. Edasi töötada installeriga nö tavalisel viisil.
- OpenBSD alglaadimiseks GRUB abil sobib käsitsi öelda
> set root=(hd0,msdos4) > chainloader +1 > boot
- GRUB menüüvaliku lisamiseks sobib kasutada sellise sisuga 40_custom faili
# cat /etc/grub.d/40_custom #!/bin/sh exec tail -n +3 $0 menuentry “OpenBSD″ { insmod part_msdos insmod chain set root=(hd0,msdos4) chainloader +1 }
ning default valiku kasustamiseks /etc/default/grub failis rida
GRUB_DEFAULT="OpenBSD"
ning genereerida grub.cfg fail öeldes
# update-grub
Peale paigaldamist, OpenBSD töötamise ajal saab fdisk ja disklabel sisu esitada programmidega
# fdisk sd0 Disk: sd0 geometry: 36404/255/63 [584843264 Sectors] Offset: 0 Signature: 0xAA55 Starting Ending LBA Info: #: id C H S - C H S [ start: size ] ------------------------------------------------------------------------------- *0: 83 0 32 33 - 121 157 36 [ 2048: 1951744 ] Linux files* 1: 8E 121 157 37 - 11063 136 17 [ 1953792: 175781888 ] Linux LVM 2: A6 11063 136 18 - 36404 206 26 [ 177735680: 407107584 ] OpenBSD 3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused
ning
# disklabel sd0 # /dev/rsd0c: type: SCSI disk: SCSI disk label: DELL PERC H310 duid: f7c2a009439d4811 flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 255 sectors/cylinder: 16065 cylinders: 36404 total sectors: 584843264 boundstart: 177735680 boundend: 584843264 drivedata: 0 16 partitions: # size offset fstype [fsize bsize cpg] a: 30000000 177735680 4.2BSD 2048 16384 1 # / b: 20000000 207735680 swap # none c: 584843264 0 unused i: 1951744 2048 ext2fs j: 175781888 1953792 unknown
Krahhinud OpenBSD käivitamine
Kui OpenBSD krahhib ja seejärel ei käivitu ning ütleb, et tuleks teha failisüsteemi kontroll single user režiimis, siis paistab, et seda sobib teha nt sedasi (mitte scsi ketta puhul tavaliselt /dev/rwd0a jne)
# fsck_ffs -y /dev/rsd0a
kus
- fsck_ffs eeldab, et kasutatakse ffs failisüsteemi (/etc/fstab real on nii kirjas, uuemal ajal vaikimisi on)
- -y - vastatakse automaatselt jaa paljudele küsimustele
- /dev/rsd0a - failisüsteem asub sd0 plokkseadmel ja disklabel partitsioonil a
Kui protseduur õnnestub tuleks arvutile öelda reboot ja seejärel võiks ta töötada edasi
# reboot
Liikluse prioriseerimine
Tööpõhimõte
Olgu antud juhul oluline selliste nelja osalise vahelise võrgliikluse priorieerimine, st kontrollimine, kui palju läbi asutuse tulemüüri kanalist mingiks liikluseks on kasutada ja millistel tingimustel. Liikluse prioriseerimisel saab otseselt kontrollida ainult tulemüürist pakettide väljumisi. Kaudselt mõjutab see ka pakettide sisenemisi (nt väljuvatele pakettidele saabuvaid vastuspakette)
server-internet klient-internet ____ ____ | | | | | | | | |____| |____| ..... internet ... | re0 - 1 Gbit/s liides, sisuliselt on ühendus teenusepakkuja poolt seadistatud 100 Mbit/s __|__ | | tulemüür | | |_____| | re1 - 1 Gbit/s liides ja ühendatud samuti 1 Gbit/s sisevõrgu switchi porti | ------|--------|--------|------ | | __|__ __|__ | | | | | | | | |_____| |_____| server-asutus klient-asutus
tingimused liiklusele
- arvuti klient-asutus kasutab internetist teenust arvutist server-internet, kusjuures toimub andmete alla ja üleslaadimine; mõlema suuna jaoks peab olema tagatud 30 Mbit/s kanal
- arvuti server-asutus pakub internetis olevale arvutile internet-klient teenust, kusjuures toimub andmete alla-laadimine; see liiklus ei tohi kasutada rohkem kui 20 Mbis/s kanalit
- kõik muu liiklus nö on nii nagu kujuneb
Tulemüüri seadistamine toimub
- kirjeldatakse queue'de hierarhia
- seostatakse queue paketifiltri reegliga
Queue'de kirjeldamine
# cat /etc/pf/pf.queues queue root_valis on re0 bandwidth 100M max 100M queue root_sise on re1 bandwidth 1000M max 1000M queue https_amphora_valis parent root_valis bandwidth 30M min 30M queue https_video_valis parent root_valis bandwidth 20M max 20M queue std_valis parent root_valis bandwidth 50M default queue https_amphora_sise parent root_sise bandwidth 30M min 30M queue https_video_sise parent root_sise bandwidth 20M max 20M queue std_sise parent root_sise bandwidth 950M default
kus
- kirjeldatakse välimise ja sisemise seadme juures queue (root_valis ja root_sise)
- https_amphora_valis queue tagab üleslaadimise kiiruseks 30 Mbit/s (reaalselt võib olla see ka rohkem kui muud asjaolud ei piira)
- https_amphora_sise queue tagab allalaadmise kiiruse 30 Mbit/s
- https_video_sise queue tagab, et allalaadimise kiirus ei ületa 20 Mbit/s
- https_video_valis queue tagab, et allalaadimisega kaasnevate välja minevate pakettide kiirus ei ületa 20 Mbit/s (tõenäoliselt pole seda vaja üldse teha)
- std_valis a std_sise on queue'd, mis tegelevad liiklusega, mille kohta paketifiltri reeglid ei näita konkreetse queue kasutamisst
Queue'de kasutamine
Amphora rakenduse liikluse allalaadimise suuna kiiruse tagamine (kuigi set queue öeldakse pass in reegli peal, aga kuna see sama reegel praktiliselt tegeleb ka tulemüürist re1 seadmel vastupakettide väljalubamisega, siis just nende pakettide kiirust tagataksegi)
pass in quick on re1 inet from 10.0.0/24 to 10.47.211.121 label "JSkohtvork from kohtvork amphora valjapaasule" \ tag FROM_KOHTVORK_TO_AMPHORA set queue https_amphora_sise
Amphora rakenduse liikluse ülelaadimise suuna kiiruse tagamine, eelmisel reeglis näidatud sildi abil lubatakse pakette tulemüüri välisel re0 seadmel välja ja seal öeldakse set queue
pass out quick on re0 inet tagged FROM_KOHTVORK_TO_AMPHORA nat-to 10.50.25.3 set queue https_amphora_valis
Video liikluse allalaadimise kiiruse piiramine
pass in quick on re1 inet from 10.0.0/24 to any port 554 label "JSkohtvork from vidoeserver to video partner" \ tag FROM_KOHTVORK_TO_VP set queue https_video_sise
Teisest tulemüüri liidesest lubatakse paketid läbi välja prioriseerides
pass out quick on re0 inet tagged FROM_KOHTVORK_TO_VP nat-to 84.50.25.3 set queue https_video_valis
Riistvara
OpenBSD puhul on reeglina tarvis uue riistvara juurutamisel seda hoolikalt valida. Vastasel korral ei pruugi lihtsalt töötada võrgukaart, arvutis tekib ebaloomulik koormus (ingl. k. load) jms.
Riistavara valimise teeb üsna otsekoheseks asjaolu, et OpenBSD manual pages peal on täpselt kirjas, millist riistvara sobib nt ühe või teise võrgukaardi draiveriga kasutada. Nt võiks võrgukaardi valik toimuda selliselt
- Arvutikauplusest leida funktsionaalsuse, kvaliteedi ja hinna osas meelepärane mudel, nt
Tootekirjeldus Võrgukaart Edimax 9260TX-EV2 Edimax EN 9260TX-E V2 - Network adapter - PCIe low profile - Gigabit Ethernet
- Seejärel leida tootja veebikohalt võrgukaardi sepetsifikatsioonist, milline chip sellel kaardil kasutuses on, nt kust on näha 'Realtek RTL8186E'
- Vaadata OpenBSD re (Realtek) draiveri manuaalist http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man4/re.4?query=re, kas selline chip on toetatud
All re NICs support IPv4 transmit/receive IP/TCP/UDP checksum offload, VLAN tag insertion and stripping, and use a descriptor-based DMA mechanism. The 8102E(L), 8103E(L), 8168C/8111C, 8168D/8111D, 8168DP/8111DP and 8168E/8111E chips also support IPv6 receive TCP/UDP checksum offload.
Tulemusena võiks olla üsna kindel, et võrgukaart 'Edimax 9260TX-EV2' töötab OpenBSD operatsioonisüsteemiga, ja see paistab väja arvutis nii
# dmesg .. re0 at pci1 dev 0 function 0 "Realtek 8168" rev 0x06: RTL8168E/8111E (0x2c00), \ msi, address 60:e3:27:01:4b:13 ...
Emaplaadid võivad tekitada vahel operatsioonisüsteemis load'i (top väljundi järgi nt pidev 1 väärtuse ümber olek) ja reaalselt on ka süsteem nö unine kuigi midagi justkui ei tööta protsesside mõttes. Sellest võib üle saada kui
- bootida arvuti single processor tuumaga
- lülitada BIOS'is välja CPU spetsiifilisi nö moodsaid asju (prefetch jms)
- lülitada tuumast välja UKC abil mingit funktsionaalsust
sshguard kasutamine
sshguard abil saab korraldada, et paketifilter automaatselt blokeerib nö kahtlased ssh teenuse poole pöördujad.
Tööpõhimõte
sshguard deemon jälgib /var/log/authlog faili sisu ja vastavalt default või seadistatud parameetrite väärtustele kirjutab sissekandeid PF sshguard tabelisse. Samuti näidatud aja pärast sissekanded kustutatakse.
Tarkvara paigaldamine
Tarkvara paigaldamiseks sobib öelda
# pkg_add sshguard
Tulemusena tekib failisüsteemi muu hulgas
- /usr/local/sbin/sshguard - deemoni binary
- /etc/rc.d/sshguard - käivitusskript
- seadisusfaili programmil ei ole
Tarkvara seadistamine
Märkus 2019 suvi: kasutada rc.d faili muutmise asemel seadistusfaili /etc/sshguard.conf.
Seadistmiseks sobib muuta käivitusskripti, nt (programmil seadistusfaili ei ole)
# grep daemon_flags /etc/rc.d/sshguard daemon_flags="-l /var/log/authlog -w /etc/sshguard.whitelist"
kus
- -w - whitelist ip aadresside/subnettide jne fail
# cat /etc/sshguard.whitelist 127.0.0.1/8 192.168.10.0/24
Paketifiltri ettevalmistamine
Nt /etc/pf.conf faili alguses kasutada ridu
table <sshguard> persist block in quick on $if_public proto tcp from <sshguard> to any port ssh label "ssh bruteforce"
Tarkvara käivitamine
Märkus 2019 suvi: kasutada käivitamiseks
# rcctl enable sshguard # rcctl start sshguard # rcctl stop sshguard - ei tööta hästi, osa protsessi nagu jääb käima
Käivitamiseks sobib öelda
# /etc/rc.d/sshguard start
Programm logib /var/log/authlog faili.
Tarkvara kasutamine
Logisse tekib
# grep sshguard /var/log/authlog May 28 11:35:59 itm1 sshguard[10205]: Started successfully [(a,p,s)=(40, 420, 1200)], now ready to scan. May 28 11:37:40 itm1 sshguard[10205]: Blocking 10.146.72.65:4 for >630secs: 40 danger in 3 attacks over 8 seconds (all: 40d in 1 abuses over 8s). May 28 11:40:17 itm1 sshguard[10205]: Blocking 10.35.154.82:4 for >630secs: 40 danger in 3 attacks over 9 seconds (all: 40d in 1 abuses over 9s).
PF tabelisse tekib
# pfctl -T show -t sshguard 10.35.154.82 10.146.72.65
Kasulikud lisamaterjalid
doas kasutamine
Alates OpenBSD v. 5.8 ilmus doas ja ta asendab muu hulgas sudo. Kasutamiseks sobib moodustada sellise sisuga /etc/doas.conf fail
# cat /etc/doas.conf permit keepenv { PKG_PATH ENV PS1 SSH_AUTH_SOCK } :wheel
ja root kaustaja shelli saab wheel grupiga kasutaja
$ doas /bin/ksh doas (imre@itm1.imool) password: #
vxlan võrguliidese kasutamine
TODO
UEFI ja GPT kasutamine
Tööpõhimõte
TODO
Vanilla OpenBSD GPT + UEFI
Tundub, et nt OpenBSD v. 6.1 puhul saab kasutada tavalist UEFI riistvaraga arvutit. Paigaldamiseks kopeerida install61.fs usb pulgale, nt Linux keskkonnas, hoolega jälgida, et of seade oleks ikka usb pulk ja mitte mõni kõvaketas vms
# dd if=install61.iso of=/dev/sdg bs=1M
käivitada arvuti ning bootida pulgalt, vajadusel öelda (hd0 on lokaalne kõvaketas)
boot> boot hd1a:/bsd
Disk set küsimusele vastata 'disk' ja edasi 'hd1' ning installer tunneb ise ära. Install kulgeb muus osas tavalisel viisil, tulemusena paistab gpt partitsioonindus sellisena
# fdisk sd0 Disk: sd0 Usable LBA: 64 to 78242912 [78242976 Sectors] #: type [ start: size ] ------------------------------------------------------------------------ 1: EFI Sys [ 64: 960 ] 3: OpenBSD [ 1024: 78241889 ]
Kui selliselt ettevalmistatud arvuti kõvaketast uurida Linux alt, paistab selline pilt
# parted /dev/sdb ... Warning: Not all of the space available to /dev/sdb appears to be used, you can fix the GPT to use all of the space (an extra 30 blocks) or continue with the current setting? Fix/Ignore? I Model: ATA SAMSUNG SP0411C (scsi) Disk /dev/sdb: 78242976s Sector size (logical/physical): 512B/512B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 2 64s 1023s 960s EFI System Area boot, esp 4 1024s 78242912s 78241889s sun-ufs OpenBSD Area
Multiboot
TODO
Kasulikud lisamaterjalid
switchd kasutamine
Tööpõhimõte
Väited
- paistab, et vana man bridge seadme vahetab välja ühel päeval man switch seade
- switch seadmel endal ei ole ip aadressi
- switchd on nn flow controller, SDN (Software-Defined Networking)
- switch seadmed saavad kasutada flow kontrollerit lokaalselt või üle võrgu
Seadistamine ja kasutamine
Tundub, et kasutamiseks sobib ka tühja sisuga /etc/switchd.conf fail ning flow kontrolleri käivitamiseks sobib öelda
# /etc/rc.d/switchd -f start
Tekitada switch switch0
# ifconfig switch0 create
asjasse puutuvad sellised protsessid
# ps aux | grep switch root 29908 0.0 0.0 756 1420 ?? Isp 5:34PM 0:00.01 /usr/sbin/switchd _switchd 22968 0.0 0.0 836 1808 ?? Isp 5:34PM 0:00.05 switchd: control (switchd) _switchd 81721 0.0 0.0 956 1728 ?? Isp 5:34PM 0:00.09 switchd: ofp (switchd) _switchd 39164 0.0 0.0 692 1636 ?? Isp 5:34PM 0:00.02 switchd: ofcconn (switchd)
ühendada flow kontrolleriga
# switchctl connect /dev/switch0
lisada virtuaalsete arvutite võrguseadmed
# ifconfig switch0 add tap0 # ifconfig switch0 add tap1
lisada hosti olev vether0 võrguseade
# ifconfig switch0 addlocal vether0
Tulemusena saavad host ja virtuaalsed arvutid üle võrgu piiranguteta üksteise poole pöörduda. Switchi olekut saab küsida
# switchctl show summary Switch Port Type Name Info 1 switch /dev/switch0 1 4294967294 mac fe:e1:ba:d7:e8:d8 age 16s 1 26 mac fe:e1:bb:d1:a5:45 age 8s 1 27 mac fe:e1:bb:d1:d9:90 age 6s
Küsida flow kontrolleri käest andmeid
# switchctl dump flows any > 127.0.0.1:6633: version 1_3 type MULTIPART_REQUEST length 56 xid 1 type FLOW flags 0000 table_id ALL out_port ANY out_group ANY cookie 0000000000000000 mask 0000000000000000 match type OXM length 4 (padded to 8) 127.0.0.1:6633 > any: version 1_3 type FEATURES_REQUEST length 8 xid 1
Seejuures
- kontrollida, et võrguseadmed on up olekus, vajadusel öelda 'ifconfig seadmenimi up'
- kui kasutatakse virtuaalseid arvuteid, siis võib olla mõnusam switch'i puudutav osa seadistada /etc/vm.conf failis
Kasulikud lisamaterjalid
- man switchctl
- man switchd
- man switchd.conf
- man ifconfig
- man vm.conf
syspatch kasutamine
OpenBSD v. 6.1 ilmus võimalus rakendada nn binary paiku. St enam pole vaja operatsioonisüsteemi lähteteksti abil kompileerimise teel rakendada parandusi. Kasutamine toimub selliselt
- failis /etc/installurl on mirrori url kust paiku kopeeritakse
# cat /etc/installurl http://ftp.aso.ee/pub/OpenBSD
- saadaolevate paikade nimekiri
# syspatch -c 001_dhcpd 002_vmmfpu 003_libressl 004_softraid_concat 005_pf_src_tracking 006_libssl 007_freetype 008_exec_subr 009_icmp_opts 010_perl 012_wsmux 013_icmp6_linklocal
- paikamine
# syspatch Get/Verify syspatch61-001_dhcpd.tgz 100% |**************| 71730 00:00 Installing patch 001_dhcpd Get/Verify syspatch61-002_vmmfpu.tgz 100% |*************| 9377 KB 00:01 Installing patch 002_vmmfpu Get/Verify syspatch61-003_libress... 100% |*************| 11391 KB 00:01 ...
- rakendatud paikade nimekiri
# syspatch -l 001_dhcpd 002_vmmfpu 003_libressl 004_softraid_concat 005_pf_src_tracking 006_libssl 008_exec_subr 009_icmp_opts 010_perl 012_wsmux 013_icmp6_linklocal
- rollback andmed on kataloogis /var/syspatch
GRE tunnel
Üks arvuti
# cat /etc/hostname.gre0 172.16.0.1 172.16.0.2 netmask 0xffffffff link0 up tunnel 192.168.111.103 192.0.0.101 !route add -net 172.21.10 -netmask 255.255.255.0 172.16.0.2
Teine arvuti
# cat /etc/hostname.gre0 172.16.0.2 172.16.0.1 netmask 0xffffffff link0 up tunnel 192.0.0.101 192.168.111.103 !route add -net 172.23.10 -netmask 255.255.255.0 172.16.0.1
Tulemus paistab sedasi
esimene # ifconfig gre0 gre0: flags=9011<UP,POINTOPOINT,LINK0,MULTICAST> mtu 1476 index 8 priority 0 llprio 3 groups: gre tunnel: inet 192.0.0.101 -> 192.168.111.103 inet 172.16.0.2 --> 172.16.0.1 netmask 0xffffffff
gre0: flags=9011<UP,POINTOPOINT,LINK0,MULTICAST> mtu 1476 index 8 priority 0 llprio 3 groups: gre tunnel: inet 192.168.111.103 -> 192.0.0.101 inet 172.16.0.1 --> 172.16.0.2 netmask 0xffffffff
Tulemusena saab nt pingida
# ping -I 172.16.0.1 172.16.0.2 PING 172.16.0.2 (172.16.0.2): 56 data bytes 64 bytes from 172.16.0.2: icmp_seq=0 ttl=255 time=1.944 ms 64 bytes from 172.16.0.2: icmp_seq=1 ttl=255 time=1.110 ms
Lisaks saab nt tekitada arvutitesse tekitada vether0 võrguseadmed ja neid tunneli testimiseks kasutada
teine # cat /etc/hostname.vether0 inet 172.23.10.103 255.255.255.0
esimene # cat /etc/hostname.vether0 inet 172.21.10.101 255.255.255.0
Kasulikud lisamaterjalid
OpenBSD git repositooriumi kasutamine
OpenBSD tarkvara on lisaks klassikalisele CVS repositooriumile https://www.openbsd.org/anoncvs.html/ olemas ka git repositooriumina aadressil https://github.com/openbsd
https://www.openbsd.org/ -> Getting Source -> GitHub Mirror
kopeerimiseks sobib öelda
# cd /usr # git clone https://github.com/openbsd/src.git
Tulemusena tekib nö tavaline /usr/src kataloogi sisu. Paikade rakendamiseks tuleb veenduda, et paik ei sisalda nn dos reavahetusi, nt paistab välja selline
.. diff --git sys/dev/pv/xenvar.h sys/dev/pv/xenvar.h index c79f0b8499d..bec54221c52 100644 --- sys/dev/pv/xenvar.h +++ sys/dev/pv/xenvar.h @@ -47,12 +47,10 @@ struct xen_intsrc { short xi_noclose; short xi_masked; struct refcnt xi_refcnt; struct task xi_task; struct taskq *xi_taskq; - void (*xi_handler)(void *); - void *xi_ctx; }; struct xen_gntent { grant_entry_t *ge_table; grant_ref_t ge_start; ...
ja öelda
# cd /usr/src # git apply --verbose --directory sys /var/tmp/xen-patches-20171229.diff Checking patch sys/dev/pv/xen.c... Checking patch sys/dev/pv/xenvar.h... Applied patch sys/dev/pv/xen.c cleanly. Applied patch sys/dev/pv/xenvar.h cleanly.
OpenBSD v. 6.5 kasutamine
- vlan seade on korrektne kirjeldada
# cat /etc/hostname.vlan10 inet 192.168.10.177 255.255.255.0 NONE parent xnf1 vnetid 10 group seadmed description kontor
seadme tekitamiseks sobib öelda
# sh /etc/netstart vlan10
Tulemus paistab selline
# ifconfig vlan10 vlan10: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500 lladdr 00:10:3a:79:22:22 description: kontor index 40 priority 0 llprio 3 encap: vnetid 10 parent xnf1 txprio packet groups: vlan seadmed media: Ethernet manual status: active inet 192.168.10.210 netmask 0xffffff00 broadcast 192.168.10.255
OpenBSD v. 6.5 -> v. 6.6 uuendamine sysupgrade abil
OpenBSD v. 6.5 -> v. 6.6 on kõige loomulikum uuendada uue sysupgrade utiliidi abil
- logida sisse ja rakendada kõik 6.5 uuendused
# syspatch
- öelda
# sysupgrade
- seejärel automaatselt arvutit käivitatakse mõned korrad, konsoolil paistab midagi sellist
root@tm-dom0-moraal:/etc/xen# xl console openbsd-65 pciide0: channel 0 disabled (no drives) pciide0: channel 1 disabled (no drives) "Intel 82371AB Power" rev 0x03 at pci0 dev 1 function 3 not configured xspd0 at pci0 dev 2 function 0 "XenSource Platform Device" rev 0x01 vga1 at pci0 dev 3 function 0 "Cirrus Logic CL-GD5446" rev 0x00 vga1: aperture needed wsdisplay1 at vga1 mux 1: console (80x25, vt100 emulation) isa0 at mainbus0 com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo com0: console pckbc0 at isa0 port 0x60/5 irq 1 irq 12 pckbd0 at pckbc0 (kbd slot) wskbd0 at pckbd0: console keyboard, using wsdisplay1 softraid0 at root scsibus1 at softraid0: 256 targets root on rd0a swap on rd0b dump on rd0b erase ^?, werase ^W, kill ^U, intr ^C, status ^T Welcome to the OpenBSD/amd64 6.6 installation program. Performing non-interactive upgrade... Terminal type? [vt220] vt220 Available disks are: sd0. Which disk is the root disk? ('?' for details) [sd0] sd0 Checking root filesystem (fsck -fp /dev/sd0a)... OK. Mounting root filesystem (mount -o ro /dev/sd0a /mnt)... OK. ifconfig: SIOCAIFADDR: File exists Force checking of clean non-root filesystems? [no] no /dev/sd0a (c391141494cc0c23.a) on /mnt type ffs (rw, local, wxallowed) Let's upgrade the sets! Location of sets? (disk http nfs or 'done') [http] disk Is the disk partition already mounted? [yes] yes Pathname to the sets? (or 'done') [6.6/amd64] /home/_sysupgrade/ Select sets by entering a set name, a file name pattern or 'all'. De-select sets by prepending a '-', e.g.: '-game*'. Selected sets are labelled '[X]'. [X] bsd [X] base66.tgz [X] game66.tgz [X] xfont66.tgz [X] bsd.mp [X] comp66.tgz [X] xbase66.tgz [X] xserv66.tgz [X] bsd.rd [X] man66.tgz [X] xshare66.tgz Set name(s)? (or 'abort' or 'done') [done] done Directory does not contain SHA256.sig. Continue without verification? [no] yes Installing bsd 100% |**************************| 18250 KB 00:00 Installing bsd.mp 100% |**************************| 18336 KB 00:00 Installing bsd.rd 100% |**************************| 10058 KB 00:00 Installing base66.tgz 100% |**************************| 236 MB 00:38 Installing comp66.tgz 100% |**************************| 72109 KB 00:21 Installing man66.tgz 100% |**************************| 7418 KB 00:07 Installing game66.tgz 100% |**************************| 2745 KB 00:00 Installing xbase66.tgz 100% |**************************| 22092 KB 00:03 Installing xshare66.tgz 100% |**************************| 4482 KB 00:07 Installing xfont66.tgz 100% |**************************| 39342 KB 00:08 Installing xserv66.tgz 100% |**************************| 15757 KB 00:02 Location of sets? (disk http nfs or 'done') [done] done Making all device nodes... done. Multiprocessor machine; using bsd.mp instead of bsd. Relinking to create unique kernel... done. CONGRATULATIONS! Your OpenBSD upgrade has been successfully completed! ...
- arvutit rebooditakse automaatselt ja paistab midagi sellist, st tundub et automaatselt rakendatakse mingis osas sysmerge
.. running rc.sysmerge ===> Updating /etc/changelist ===> Updating /etc/fbtab ===> Updating /etc/login.conf ===> Updating /etc/mail/smtpd.conf ===> Installing /etc/X11/twm/system.twmrc ===> Installing /etc/X11/xenodm/GiveConsole ===> Installing /etc/X11/xenodm/TakeConsole ===> Installing /etc/X11/xenodm/Xreset ===> Installing /etc/X11/xenodm/Xresources ===> Installing /etc/X11/xenodm/Xservers ===> Installing /etc/X11/xenodm/Xsession ===> Installing /etc/X11/xenodm/Xsetup_0 ===> Installing /etc/X11/xenodm/Xstartup ===> Installing /etc/X11/xenodm/xenodm-config ===> Installing /etc/X11/xinit/xinitrc ===> Installing /etc/X11/xsm/system.xsm ===> Linking /etc/fonts/conf.d/10-scale-bitmap-fonts.conf ===> Linking /etc/fonts/conf.d/20-unhint-small-dejavu-sans-mono.conf ===> Linking /etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf ===> Linking /etc/fonts/conf.d/20-unhint-small-dejavu-serif.conf ===> Linking /etc/fonts/conf.d/20-unhint-small-vera.conf ===> Linking /etc/fonts/conf.d/30-lucida-aliases.conf ===> Linking /etc/fonts/conf.d/30-metric-aliases.conf ===> Linking /etc/fonts/conf.d/30-urw-aliases.conf ===> Linking /etc/fonts/conf.d/31-nonmst.conf ===> Linking /etc/fonts/conf.d/40-nonlatin.conf ===> Linking /etc/fonts/conf.d/42-luxi-mono.conf ===> Linking /etc/fonts/conf.d/45-latin.conf ===> Linking /etc/fonts/conf.d/49-sansserif.conf ===> Linking /etc/fonts/conf.d/50-user.conf ===> Linking /etc/fonts/conf.d/51-local.conf ===> Linking /etc/fonts/conf.d/60-latin.conf ===> Linking /etc/fonts/conf.d/65-fonts-persian.conf ===> Linking /etc/fonts/conf.d/65-nonlatin.conf ===> Linking /etc/fonts/conf.d/69-unifont.conf ===> Linking /etc/fonts/conf.d/80-delicious.conf ===> Linking /etc/fonts/conf.d/90-synthetic.conf ---- /etc/ntpd.conf unhandled, re-run sysmerge to merge the new version ---- /var/unbound/etc/unbound.conf unhandled, re-run sysmerge to merge the new version ...
- öelda ja vajadusel kohendada seadistusi ka käsitsi (esimene kord küsib kas ntp.conf ja unbound.conf faile muuta, ja teinekord kontrolliks, et enam pole muudatusi)
# sysmerge # sysmerge # reboot
- öelda (või ilma -U)
# pkg_add -Uu
- öelda
# syspatch
- lõpuks veelkorra rebootida
# reboot
OpenBSD v. 6.6 -> v. 6.7 uuendamine sysupgrade abil
pkg_add vastas
--- -cyrus-sasl-2.1.27p1 ------------------- You should also run rm -rf /var/sasl2/* --- -joe-4.6 ------------------- You should also check /etc/joe/joerc (which was modified) --- -mc-4.8.23p0 ------------------- Couldn't delete /etc/mc/mc.keymap (no checksum) --- -sshguard-2.3.1 ------------------- You should also check /etc/sshguard.conf (which was modified) --- -zabbix-agent-4.0.11 ------------------- You should also run rm -rf /var/log/zabbix/* You should also check /etc/zabbix/zabbix_agentd.conf (which was modified) --- +zabbix-agent-4.0.19 ------------------- Error deleting directory /usr/local/lib/python3.6: Directory not empty
OpenBSD v. 6.7 -> v. 6.8 uuendamine sysupgrade abil
Tundub, et kõik toimub ladusalt, vt 6.5 -> 6.6
- bootloader uuenes automaatselt 3.47 -> 3.52
Pakettide uuendamisel
Read shared items: ok --- -cyrus-sasl-2.1.27p1 ------------------- You should also run rm -rf /var/sasl2/* --- -joe-4.6 ------------------- You should also check /etc/joe/ftyperc (which was modified) You should also check /etc/joe/joerc (which was modified) --- -mc-4.8.24 ------------------- Couldn't delete /etc/mc/mc.keymap (no checksum) --- -sshguard-2.3.1 ------------------- You should also check /etc/sshguard.conf (which was modified) --- -zabbix-agent-4.0.19 ------------------- You should also run rm -rf /var/log/zabbix/* You should also check /etc/zabbix/zabbix_agentd.conf (which was modified)
OpenBSD v. 7.4 -> v. 7.5 uuendamine sysupgrade abil
TODO
Misc
# netstat -l -n -p tcp -f inet Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address (state) tcp 0 0 10.192.0.53.53 *.* LISTEN tcp 0 0 192.168.10.210.53 *.* LISTEN tcp 0 0 127.0.0.1.53 *.* LISTEN tcp 0 0 192.168.1.210.53 *.* LISTEN tcp 0 0 10.193.0.53.53 *.* LISTEN tcp 0 0 *.22 *.* LISTEN
Wireguard
Tööpõhimõte
TODO
Serveri ja kliendi seadistamine
Debugimine
# ifconfig wg0 debug # tail -f /var/log/messages Nov 29 13:13:18 tm-moraal /bsd: wg0: Sending handshake initiation to peer 0 Nov 29 13:13:18 tm-moraal /bsd: wg0: Receiving handshake response from peer 0 Nov 29 13:13:18 tm-moraal /bsd: wg0: Receiving keepalive packet from peer 0 Nov 29 13:13:30 tm-moraal /bsd: wg0: Sending keepalive packet to peer 0 Nov 29 13:14:02 tm-moraal /bsd: wg0: Sending keepalive packet to peer 0
# tcpdump -nei wg0 tcpdump: listening on wg0, link-type LOOP 13:13:18.759201 192.168.23.2 > 192.168.112.15: icmp: echo request 13:13:18.784273 192.168.112.15 > 192.168.23.2: icmp: echo reply 13:13:19.764026 192.168.23.2 > 192.168.112.15: icmp: echo request 13:13:19.773764 192.168.112.15 > 192.168.23.2: icmp: echo reply
Kasulikud lisamaterjalid