Ubuntu operatsioonisüsteemi ettevalmistamine: erinevus redaktsioonide vahel

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti
41. rida: 41. rida:
   
 
====systemd-network====
 
====systemd-network====
  +
  +
Tegelemise kaalutlus
  +
  +
* vähendada süsteemi ründepinda - suhteliselt tundlik protsess töötab ja ei ole sisuliselt vajalik
  +
* nt vaevalt, et sobiks, et süsteemis töötab iscsi server target kuulab port 3260/tcp ilma sisaldamata reaalset lun'i vms
   
 
Osutub, et vaikimisi Ubuntu 24.04, 26.04 jt systemd-network kuulab af_packet kihis lldp sõnumeid
 
Osutub, et vaikimisi Ubuntu 24.04, 26.04 jt systemd-network kuulab af_packet kihis lldp sõnumeid

Redaktsioon: 2. juuni 2026, kell 13:02

Sissejuhatus

Käesolevas tekstis kirjeldatud viisil ettevalmistatakse kõigi labori k8s klastrite aluseks olevad node'id. St nad on tavalised Ubuntu v. 22.04 operatsioonisüsteemid.

Ubuntu operatsioonisüsteemi ettevalmistamine

Ubuntu operatsioonisüsteem paigaldatakse tavalise Ubuntu installeri abil. Praktiliselt võiks teha ühe arvuti valmis ning seejärel teda nö paljundada. Seejuures võiks igaks juhuks machine-id muuta unikaalseks

# rm /etc/machine-id /var/lib/dbus/machine-id
# dbus-uuidgen --ensure
# cp /etc/machine-id /var/lib/dbus/machine-id
# reboot
  • tekitada laborit teenindavasse dns serverisse dns nimed node'ide kohta
  • Paigaldada tavaline Ubuntu pigem minimaalsete valikutega (st mitte desktop tüüpi)
  • Lisaks peab olema paigaldatud tarkvara: apparmor, iptables ja open-iscsi
  • Arvutitel peab olema kellaaeg õige (tänu ntp kliendi seadistustele)

Tulemuse kontrollimine

  • node'id peavad üksteist oma privaatses subnetis nägema
  • node'id peavad nägema internetti
  • dns nimelahendus töötab
  • arvuti kellaaeg on õige

Misc

SSH

Ubuntu 26.04 kuulab võimalusel (st kui nt PVE virtuaalse arvuti jaoks on vsock sisse lülitatud) kolme protokolli peal ssh kliente

root@ubuntu-2604-01:~# systemctl list-sockets | grep ssh
0.0.0.0:22                                      ssh.socket                           ssh.service
[::]:22                                         ssh.socket                           ssh.service
vsock::22                                       sshd-vsock.socket                    -
/run/ssh-unix-local/socket                      sshd-unix-local.socket               -

systemd-network

Tegelemise kaalutlus

  • vähendada süsteemi ründepinda - suhteliselt tundlik protsess töötab ja ei ole sisuliselt vajalik
  • nt vaevalt, et sobiks, et süsteemis töötab iscsi server target kuulab port 3260/tcp ilma sisaldamata reaalset lun'i vms

Osutub, et vaikimisi Ubuntu 24.04, 26.04 jt systemd-network kuulab af_packet kihis lldp sõnumeid

root@zabbix-pub-01:~# ss -lnp -A 'packet'
Netid       State        Recv-Q       Send-Q        Local Address:Port          Peer Address:Port       Process
p_raw       UNCONN       0            0                   [35020]:enp6s18                   *            users:(("systemd-network",pid=676,fd=18))
p_raw       UNCONN       0            0                   [35020]:enp6s19                   *            users:(("systemd-network",pid=676,fd=19))
p_raw       UNCONN       0            0                   [35020]:enp6s20                   *            users:(("systemd-network",pid=676,fd=20))

kus

  • systemd-network - protsessile vastav kasutajanimi
  • pid - protsessid pid
  • fd - asjasse puutuvad file descriptor väärtus (protsessi vaatest, st mitte süsteemi globaalsest vaatest)

ning küsides protsessi pid=676 käest, mis ta kuulab

root@zabbix-pub-01:~# lsof -n -P -p 676 | grep SOCK_R
systemd-n 676 systemd-network   18u     pack              52583      0t0 35020 type=SOCK_RAW
systemd-n 676 systemd-network   19u     pack              52592      0t0 35020 type=SOCK_RAW
systemd-n 676 systemd-network   20u     pack              52600      0t0 35020 type=SOCK_RAW

kusjuures seda 676 protsessi omajagu nö laiendatakse capablities abil (protsess kuulub kasutajale systemd-network, st mitte root)

root@zabbix-pub-01:~# pscap -p 676
ppid  pid   uid              command             capabilities
1     676   systemd-network  systemd-network     net_bind_service, net_broadcast, net_admin, net_raw @ +

root@zabbix-pub-01:~# ps -u systemd-network -f
UID          PID    PPID  C STIME TTY          TIME CMD
systemd+    1744       1  0 11:52 ?        00:00:00 /usr/lib/systemd/systemd-networkd

tulemusena saab systemd-network arvu ethernetis olevate switchide jutust, nt (eeldusel, et on switche mis räägivad)

root@zabbix-pub-01:~# networkctl lldp
LINK    CHASSIS-ID        SYSTEM-NAME CAPS        PORT-ID    PORT-DESCRIPTION
enp6s18 16:18:9c:2d:31:86 -           ..b........ tap50194i0 -

Capability Flags:
b - Bridge

1 neighbors listed.

Välja lülitamiseks sobib kasutada sellist seadistust (emitlldp on väidetavalt niikuinii 'no' vaikimisi)

root@zabbix-pub-01:~# mkdir /etc/systemd/network/10-netplan-enp6s18.network.d
root@zabbix-pub-01:~# cat /etc/systemd/network/10-netplan-enp6s18.network.d/override.conf
[Network]
LLDP=no
EmitLLDP=no

Teoreetiliselt võiks töötada

root@zabbix-pub-01:~# networkctl edit --drop-in=override.conf @enp6s18

Tööpõhimõte

  • kernel ja udev avastavad võrguseadme ja teevad esmased seadistused (seade saab nime jms)
  • netplan genereerib /etc/netplan/50-cloud-init.yaml alusel systemd-network jaoks seadistuse - /run/systemd/network/10-netplan-enp6s18.network
  • inimene on veel lisanud seadistuse täpsustusi - /etc/systemd/network/10-netplan-enp6s18.network.d/override.conf
  • systemd (st systemd-network) hakkab rakendama seadistust kasutades kõiki asjasse puutuvaid nö fragmente

Muudatuse kehtestamiseks

root@zabbix-pub-01:~# systemctl restart systemd-networkd
root@zabbix-pub-01:~# ss -lnp -A 'packet'
Netid       State        Recv-Q       Send-Q        Local Address:Port          Peer Address:Port       Process
p_raw       UNCONN       0            0                   [35020]:enp6s19                   *            users:(("systemd-network",pid=676,fd=19))
p_raw       UNCONN       0            0                   [35020]:enp6s20                   *            users:(("systemd-network",pid=676,fd=20))

Kasulikud lisamaterjalid