Proxmox klaster – zmiana adresów ip lub nazwy hosta

Procedura zmiany adresów ip lub nazwy hosta w nodach klastra Proxmox.

Przed zmianą adresów musimy zapewnić aby nody widziały się używając nowych ip.
Na zmienianym nodzie przygotowujemy konfigurację interfejsów z nowym adresem i sprawdzamy czy jest komunikacja między pozostałymi nodami a tym nowym ip.

Ja dodałem nowy interfejs VLAN do którego przypisałem adres 192.168.8.3:

# ip a
. . . . . . .
vmbr0.255@vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.8.3/24 scope global vmbr0.255
. . . . . . .

Wyłączamy lub przenosimy wszystkie vm z noda którego zmieniamy.

W shell na zmienianym nodzie, sprawdzamy status klastra.

# pvecm status
. . . . . . 
Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2  
Flags:            Quorate Qdevice 

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 192.168.1.1
0x00000002          1    A,V,NMW 192.168.1.2
0x00000003          1    A,V,NMW 192.168.1.3

Następnie w pliku /etc/pve/corosync.conf zmieniamy ip lub nazwę hosta naszego noda oraz config_version. Musimy to zrobić bardzo ostrożnie gdyż każdy zapis zostanie od razu rozpropagowany na pozostałe nody klastra. Teraz na pozostałych nodach sprawdzamy czy naniesione zmiany są widoczne w pliku /etc/pve/corosync.conf.

Na każdym nodzie restartujemy corosynca.

# systemctl restart corosync

Ponownie sprawdzamy status klastra

# pvecm status
. . . . . . 
Votequorum information
----------------------
Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2  
Flags:            Quorate Qdevice 

Membership information
----------------------
    Nodeid      Votes    Qdevice Name
0x00000001          1    A,V,NMW 192.168.1.1
0x00000002          1    A,V,NMW 192.168.1.2
0x00000003          1    A,V,NMW 192.168.8.3

Powinniśmy nadal obserwować quorum, a nasz nod będzie miał zmieniony ip.

Pozostało nam zaktualizować adres ip lub nazwę hosta w pliku /etc/hosts.

Jeżeli chcemy zmienić ip lub nazwę hosta następnemu nodowi postępujemy dokładnie tak samo.

Proxmox VE (PVE), Proxmox BS (PBS) – konfiguracja powiadomień email

Ustawiamy serwery Proxmox, aby wysyłały maile z powiadomieniami.

  1. Ustawiamy w www GUI adres email z którego będzie wysyłana poczta:
    PVE: Datacenter > Options > Email from address
    PBS: Configuration > Others > Email from addresss
  2. W opcjach użytkownika ustawiamy adres email na który mają być wysyłane powiadomienia.
  3. Do /etc/hosts jeżeli brak, to dodajemy wpisz z adresem ip naszego noda, nie wystarczy localhost.
  4. Konfigurujemy Postfixa jako root. Musimy to zrobić na każdym nodzie klastra PVE.

(Zmieniamy lub dodajemy opcje do konfiguracji postfixa)
# nano /etc/postfix/main.cf

relayhost = [adres.serwera.poczty]:465
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt

(dla konfiguracji ssl/tls(port465) dodajemy dodatkowo wpisy)
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt

(Dodajemy dane potrzebne do uwierzytelnienia na serwerze poczty)
# nano /etc/postfix/sasl_passwd

[adres.serwera.poczty]:465    NAZWA_UZYTKOWNIKA:HASLO

(Zmieniamy uprawnienia)
# chmod 600 /etc/postfix/sasl_passwd
# postmap /etc/postfix/sasl_passwd

(Instalujemy bibliotekę)
# apt-get install libsasl2-modules

(Restart Postfixa)
# systemctl restart postfix.service

(Test)
# echo "Subject: Testa"| sendmail -f adres@email.zrodlowy -v adresat@maila

W razie niepowodzenia wysyłki czytamy logi Postfixa i modyfikujemy konfigurację
PVE: NazwaNoda > System > Syslog
PBS: Administration > Services > Postfix (podwójne kliknięcie)s

Proxmox – Usunięcie klastra – usunięcie ostatniego noda z klastra

Poinformowanie naszego ostatniego noda, że ma pracować bez kworum
# pvecm expected 1

Zatrzymanie klastra
# systemctl stop pve-cluster

Uruchomienie noda w trybie lokalnym 
# pmxcfs -l

Usunięcie wszystkich plków konfiguracyjnych klastra
# rm -f /etc/pve/cluster.conf /etc/pve/corosync.conf 
# rm -f /etc/cluster/cluster.conf /etc/corosync/corosync.conf 
# rm /var/lib/pve-cluster/.pmxcfs.lockfile

Zatrzymanie klastra
# systemctl stop pve-cluster

Fortigate – restart noda w HA

{Lista nodów}
Unit-1 # execute ha manage ?
<0>     Subsidiary unit FGX00FTXXXXXX
<1>     Subsidiary unit FGX00FTYYYYYY

{Przełączenie na noda id 1}
Unit-1 # execute ha manage 1 admin                
Unit-2 $                                     

{Reboot noda}
Unit-2 $ execute reboot
This operation will shutdown the system !
Do you want to continue? (y/n)y

Fortigate WAF – ignorowanie sygnatury

W profilu WAF możemy dodać sygnaturę do listy ignorowanych.

Zacznijmy od sprawdzenia opisu sygnatury, którą chcemy wyłączyć.

diag waf dump | grep -f <id sygnatury>

# diag waf dump | grep -f 90300017

90300017 - This signature prevents attackers from obtaining file and folder names using a tilde character "~" in a get request . <---

Aby w danym profilu dodać sygnaturę do listy ignorowanych wykonujemy:

# config waf profile
# edit <Profile Name>
# config signature
# show | grep disabled-signature  
   
  set disabled-signature 80080005 80200001 60030001 60120001 80080003 90410001 90410002

Zapamiętujemy aktualne wpisy i dodajemy nowy

# set disabled-signature 80080005 80200001 60030001 60120001 80080003 90410001 90410002 90300017 
# end
# end

Przenoszenie VM z ESXi do Proxmox

Aby przenieś VM z ESXi do Proxmoxa wyłączamy na ESXi VM i kopiujemy pliki VMDK do Proxmoxa. W Proxmoxsie zakładamy nową VM nie wskazując nośnika instalacyjnego ani dysku.

Konwertujemy przekopiowane plik VMDK na Proxmoxie

qm disk import <vmid> <source> <storage> [options]

# qm importdisk 100 ./dysk.vmdk local-zfs

Możemy wskazać dodatkowo format do jakiego będziemy importować
–format <raw | qcow2 | vmdk>

Po przekonwertowaniu dysków wchodzimy do ustawień sprzętu VM (Hardware) i na każdym Unused Disk wykonujemy Edit a następnie Add.

Jeżeli dysk się nie pojawił w menu Hardware to w shellu uruchamiamy:

# qm rescan

W Options > boot order, ustawiamy z którego dysku system ma się bootować.

Domena AD – Windows polecenia

Sprawdza stan Twojego bezpiecznego kanału oraz nazwę kontrolera domeny, którego dotyczy zapytanie.

nltest /sc_query:domena.com

Sprawdzanie zastosowanych obiektów zasad grup

gpresult /r

Domena AD – Relacja zaufania między tą stacją roboczą a domeną podstawową nie powiodła się

Gdy domena AD przestaje ufać komputerowi, prawdopodobnie dzieje się tak dlatego, że hasło komputera lokalnego nie pasuje do hasła przechowywanego w usłudze Active Directory.

Aby usługa AD mogła ufać komputerowi, oba hasła muszą być zsynchronizowane. Jeśli nie są zsynchronizowane, pojawi się niesławny komunikat o błędzie „Błąd relacji zaufania między tą stacją roboczą a domeną podstawową.

Niestety, nigdy nie było ani jednego rozwiązania, które działałoby w 100% przypadków.

Gdy nowy komputer jest dodawany do usługi Active Directory, tworzone jest konto komputera z hasłem. To hasło jest domyślnie ważne przez 30 dni. Po 30 dniach zmienia się automatycznie. Jeśli zmieni się, a hasło klienta nie, pojawi się komunikat o błędzie „relacja zaufania między tą stacją roboczą a domeną podstawową nie powiodła się”.

Aby sprawdzić, że to ten problem występuje logujemy się na kliencie jako admin lokalny i w Power Shellu uruchamiamy

> Test-ComputerSecureChannel
False

False oznacza, że zaufanie nie istnieje.

Możemy użyć też cmd w starszych systemach

nltest /sc_verify:<your domain FQDN>

Różne sposoby rozwiązania problemu

Resetuj-ComputerMachinePassword (PowerShell)

Jako admin na kliencie wykonujemy:

> Reset-ComputerMachinePassword

netdom (cmd)

Jako admin na kliencie wykonujemy:

netdom resetpwd /s:DC /ud:abertram /pd:*
  • DC to nazwa kontrolera domeny
  • abertram to nazwa konta użytkownika usługi Active Directory z uprawnieniami do resetowania konta komputera
  • * jest symbolem zastępczym hasła do konta użytkownika, które będzie monitować o podanie hasła.

Test-ComputerSecureChannel — naprawa (PowerShell)

Jako admin na kliencie wykonujemy:

> Test-ComputerSecureChannel -Repair -Credential (Get-Credential)

Ponowne zalogowanie do domeny

  • zalogować się do komputera clienta za pomocą lokalnego konta administracyjnego
  • przejdź do Właściwości systemu
  • kliknij Zmień
  • ustaw go na grupę roboczą
  • restart
  • ustaw go z powrotem na domenę

Przygotowane na podstawie: https://adamtheautomator.com/the-trust-relationship-between-this-workstation-and-the-primary-domain-failed/