Operatsioonisüsteemi FreeBSD kasutamine

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

FreeBSD https://www.freebsd.org/ ...

LiveCD

FreeBSD install meedia (nt .iso) kasutamisel on üks menüü valikutest LiveCD.

Paigaldamine

FreeBSD kannatab paigaldada tühjale kõvakettale, aga ka kus on juba paigaldatud Linux ja GRUB bootloader ja kus on partitsioneerimata ruumi ning pole kõik neli primaarset partitsiooni kasutuses. Paigaldamisel sobib valida mitte-expert režiim ja vaikimisi tekitatakse kõik ühte failisüsteemi.

Operatsioonisüsteemi kopeerimine LiveCD abil

Lähtepunktiks on üks arvuti, kuhu on paigaldatud tavalisel viisil FreeBSD operatsioonisüsteem. Eesmärk on kopeerida paigaldatud arvuti juurfailisüsteem üle võrgu teise arvutisse.

SSH serveri käivitamine

# mkdir /tmp/etc
# mount_unionfs /tmp/etc /etc
# vi /etc/ssh/sshd_config # to permit root login
# passwd root
# service sshd onestart

Fdisk partitsiooni BSD partitsioonide tekitamine

RAID kontrolleri andmed

# mfiutil show adapter
mfi0 Adapter:
    Product Name: PERC H310 Mini
   Serial Number: 37304IM
        Firmware: 20.12.0-0004
     RAID Levels: JBOD, RAID0, RAID1, RAID5, RAID10, RAID50
  Battery Backup: not present
           NVRAM: 32K
  Onboard Memory: 0M
  Minimum Stripe: 64K
  Maximum Stripe: 64K

Füüsiliste plokkseadmete esitamine

# mfiutil show drives
mfi0 Physical Drives:
 0 (   0.0) ONLINE <SEAGATE ST9146853SS YS0A serial=7XM2R84L> SCSI-6 E1:S0
 1 (   0.0) ONLINE <SEAGATE ST9146853SS YS0A serial=7XM2R9BN> SCSI-6 E1:S1

Plokkseadme kasutuselevõtmine

# bsdlabel /dev/mfid0s3a
# bsdlabel -w /dev/mfid0s3
# mount /dev/mfid0s3a /tmp/mfid0s3a

Tundub, et partitsioone on sobivam teha gpart programmiga

# gpart delete -i 1 mfid0s3
# gpart show mfid0s3
# gpart add -s 12G -t freebsd-ufs mfid0s3
# gpart add -s 4G -t freebsd-swap mfid0s3
# gpart add -s 36G -t freebsd-ufs mfid0s3
# gpart show mfid0s3
=>        0  125829120  mfid0s3  BSD  (60G)
          0   25165824        1  freebsd-ufs  (12G)
   25165824    8388608        2  freebsd-swap  (4.0G)
   33554432   75497472        4  freebsd-ufs  (36G)
  109051904   16777216           - free -  (8.0G)

Swap kasutamiseks sobib öelda

# swapon /dev/mfid0s3b
# swapctl -l
Device:       1024-blocks     Used:
/dev/mfid0s3b   4194304         0

Automaatseks külgeühendamiseks

# cat /etc/fstab
# Device        Mountpoint      FStype  Options Dump    Pass#
/dev/mfid0s3a   /               ufs     rw      1       1
/dev/mfid0s3b   none            swap    sw      0       0

Andmete kopeerimine

# ssh root@10.0.26.199 'cd /tmp/root && tar -zcf - .' | tar -zxf - -C /tmp/mfid0s3a
..
tar: ./var/run/devd.pipe: tar format cannot archive socket

kus

  • ssh käsk antakse arvutist, mis on käivitatud LiveCD
  • ssh käsk antakse arvutis, kuhu kopeeritakse ja kus on /tmp/mfid0s3a alla ühendatud juurfailisüsteem
  • 10.0.26.199 arvuti on käivitatud samuti LiveCD ning /tmp/root alla on ühendatud juurfailisüsteem, kust kopeeritakse

GRUB abil alglaadimine

FreeBSD käsitsi kävitamiseks sobib öelda GRUB promptis nt

grub> insmod part_bsd
grub> insmod ufs2
grub> set root=(hd0,msdos3,bsd1)
grub> kfreebsd /boot/loader
grub> boot

kus

  • FreeBSD on enda meelest /dev/ad0s3a partitsioonil (ad0 -> hd0; s3 -> msdos3, a -> bsd1) ning fdisk meelest kolmandal partitsioonil

Vastava nn menuentry lisamiseks GRUB seadistusfaili sobib kasutada failis /etc/grub.d/40_custom sektsiooni

menuentry "FreeBSD 10 (/boot/loader)" {
  insmod ufs2
  insmod part_bsd
  set root='(hd0,msdos3,bsd1)'
  search  --no-floppy --fs-uuid --set=root 5248225c853c926d
  kfreebsd /boot/loader
}

ning öelda

# update-grub

Kasulikud lisamaterjalid

PF paketifiltri kasutamine

# sysctl -w net.inet.ip.forwarding=1
# kldload pf

Seadistusfailiks /etc/pf.conf ...

pflog kasutamine

Laadida tuuma moodul

# kldload pflog

ning tekitada seade

# ifconfig pflog0 create

Kui paketifilter logib blokeerimisi, siis paistavad nad

# tcpdump -nei pflog0

Faili salvestamiseks tuleb käivitada pflogd deemon

# pflogd

Netflow genereerimine

TODO

Võrgu seadistamine

  • /etc/rc.conf
  • võrguseadmete esitamiseks
# ifconfig igb0
  • ruutingutabeli esitamiseks
# netstat -nr

Seadistusfaili alusel võrgu seadistuste kehtestamine

# /etc/rc.d/netif restart
# /etc/rc.d/routing restart

Paketihaldus

Paketihalduse kasutamisel tuleb arvestada, et nö viimasel ajal on juurutatud kasutusse pkg2ng tarkvara.

Vajaduse seada csh shellile iseloomulikult http proxy

# setenv http_proxy "http://cache.imool.org:3128"
# pkg

Paigaldamiseks (kusjuures joerc on /usr/local/etc/joe/joerc)

# pkg install joe

Nimekirja esitamiseks

# pkg info

Uuendamiseks

# pkg upgrade

Paketis sisalduvate failide nimikiri

# pkg info -q -l symon
/usr/local/bin/symon
/usr/local/bin/symux
...

Paketihalduse uuendamisega seotud /var/cache/pkg kataloogi sisu puhastamine

# pkg clean -n
# pkg clean

Süsteemi osa uuendamine, olemasoleva versiooni küsimine

# freebsd-version -kru
13.0-RELEASE-p11
13.0-RELEASE-p11
13.0-RELEASE-p11

uuendamine ise ühe minor versiooni piires (nt kui on paigaldatud 13.0 ja püsitakse selle sees, st nende käskudega ei uuendata v. 13.1 peale)

# freebsd-update fetch
# freebsd-update install

patch versiooni muutumisel tekitatakse automaatsel juurfailisüsteemi zfs kloon, boot environment sistema osana

root@freebsd-tk:~ # bectl list -s -c creation
BE/Dataset/Snapshot                            Active Mountpoint Space Created

default
  zroot/ROOT/default                           NR     /          15.5G 2021-04-25 11:26
  default@2022-09-08-23:37:22-0                -      -          5.36G 2022-09-08 23:37
  default@2022-11-05-20:23:37-0                -      -          2.19G 2022-11-05 20:23

13.1-RELEASE_2022-09-08_233722
  zroot/ROOT/13.1-RELEASE_2022-09-08_233722    -      -          8K    2022-09-08 23:37
    zroot/ROOT/default@2022-09-08-23:37:22-0   -      -          5.36G 2022-09-08 23:37

13.1-RELEASE-p2_2022-11-05_202337
  zroot/ROOT/13.1-RELEASE-p2_2022-11-05_202337 -      -          8K    2022-11-05 20:23
    zroot/ROOT/default@2022-11-05-20:23:37-0   -      -          2.19G 2022-11-05 20:23

ning clone ja mille kloon ta on seostamiseks sobib lisaks öelda nt

root@freebsd-tk:~ # zfs get all zroot/ROOT/13.1-RELEASE-p2_2022-11-05_202337 | grep -i origin
zroot/ROOT/13.1-RELEASE-p2_2022-11-05_202337  origin                  zroot/ROOT/default@2022-11-05-20:23:37-0  -

ning küsida snapshot nimekirja

root@freebsd-tk:~ # zfs list -t snapshot -o space
NAME                                                                          AVAIL   USED  USEDSNAP  USEDDS  USEDREFRESERV  USEDCHILD
zroot/ROOT/default@2022-09-08-23:37:22-0                                          -  5.36G         -       -              -          -
zroot/ROOT/default@2022-11-05-20:23:37-0                                          -  2.19G         -       -              -          -
zroot/iocage/releases/13.0-RELEASE/root@6bfbc7fa-90e9-4ac7-8f6f-6c1a7b4388cc      -     0B         -       -              -          -

BE kustutamiseks sobib öelda (-o tähendab, et kustutatakse ka vastav zfs snapshot)

root@freebsd-tk:~ # bectl destroy -o 13.1-RELEASE_2022-09-08_233722

Süsteemi minor versiooni uuendamine, nt v. 13.0 -> 13.1

TODO

Kasulikud lisamaterjalid

Teenuste käivitamine

Käsitsi käsurealt käivitamiseks sobib öelda nt

# service zabbix_agentd onestart

Selleks, et teenus alglaadimise käigus käivituks tuleb /etc/rc.conf failis kasutada sarnast rida

zabbix_agentd_enable="YES"

Kui selline rida on olemas, siis sobib käsurealt öelda ka

# service zabbix_agentd start

CARP

Tundub, et FreeBSD v. 10 ja edasi on CARP seadmete osa muutunud vähemalt nö välimuse mõttes. Enam ei ole iseseisvaid carp0 jt nimelisi seadmeid, carp esineb vastava füüsilise seadme omadusena. Kui seadmel on nö põhiline aadress ning lisaks carp aadress, siis selle seadistamine toimub selliselt

# kldload carp
# ifconfig igb0 10.0.26.243/24
# ifconfig igb0 vhid 26 pass parool26 alias 10.0.26.222/32

Tulemusena tekib selline seade

# ifconfig igb0
igb0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
       options=403bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,VLAN_HWTSO>
       ether f4:ce:46:a7:40:bc
       inet 10.0.26.243 netmask 0xffffff00 broadcast 10.0.26.255 
       inet 10.0.26.222 netmask 0xffffffff broadcast 10.0.26.222 vhid 26 
       nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
       media: Ethernet autoselect (1000baseT <full-duplex>)
       status: active
       carp: MASTER vhid 26 advbase 1 advskew 0

MASTER lülitamine BACKUP'iks, masteris öelda

# ifconfig igb0 vhid 26 state backup

Kasulikud lisamaterjalid

PFSYNC

Mõlemas öelda

# kldload pfsync
# ifconfig pfsync0 up

ning ühes

# ifconfig pfsync0 syncpeer 10.0.51.179 syncdev igb1

ja teises

# ifconfig pfsync0 syncpeer 10.0.51.178 syncdev igb1

Tulemusena tekkivad kummagi tulemüüri paketifiltri state tabelisse teise tulemüüri kohta käivad sissekandeid. Tundub, et seejuures halveneb teenusepakkumine, nt /root/bin/weighttp -n 4600000 -c 60 -t 4 http://10.184.41.189/index.html väljundisse ilmuvad

..
error: connect() failed: No route to host (113)
...
error: connect() failed: Connection timed out (110)

Netflow

Softflowd

Tarkvara paigaldamiseks sobib öelda

# pkg install softflowd

Seadistamiseks kasutada /etc/rc.conf failis nt

softflowd_enable="YES"
softflowd_interfaces="igb1"
softflowd_igb1_collector="10.10.50.177:10178"
softflowd_igb1_timeouts="-t maxlife=300"
softflowd_igb1_max_states="16000"

Netgraph

# kldload ng_ether
# kldload ng_socket
# kldload ng_netflow
# kldload ng_socket

Kasulikud lisamaterjalid

Märkused

  • root kasutaja shelliks sobib paljudele csh asemel paremini bash, selleks tuleb
# pkg install bash
..
======================================================================

bash requires fdescfs(5) mounted on /dev/fd

If you have not done it yet, please do the following:

        mount -t fdescfs fdesc /dev/fd

To make it permanent, you need the following lines in /etc/fstab:

        fdesc   /dev/fd         fdescfs         rw      0       0

======================================================================
  • lisada vastav rida /etc/fstab sisse
  • muuta kasutaja root shell
# chsh -s /usr/local/bin/bash
chsh: user information updated

Kasulikud lisamaterjalid

  • TODO