piątek, 13 listopada 2015

Fedora 23 - sterownik NVidia

Po aktualizacji do Fedory 23 okazało się, że mam za nowy pakiet:

xorg-x11-server-Xorg-1.18.0-1.fc23.x86_64

Konkretnie, problemem jest ABI w wersji 20. Binarny driver NVidia pochodzący z rpmfusion.org, kompiluje się, ale nie uruchamia się. Poszperałem trochę na forach i tutaj, znalazłem oświadczenie NVidii, bżmiące w skrócie: "Nie wspieramy wersji developerskich. Jak zamrożą to uwzględnimy".

Downgrade X'ów robić mi się nie chce, więc binarny sterownik chwilowo  poszedł w odstawkę na rzecz nouveau:

xorg-x11-drv-nouveau-1.0.12-0.3.fc23.x86_64

Minecraft (przynajmniej w fullscreen) będzie musiał poczekać :-\

Fedora 23 - OpenSSH 7

Nie wytrzymałem (no w zasadzie to wytrzymałem... jakiś tydzień) i zaktualizowałem moje machiny do Fedory 23. 
Niespodzianek prawie nie było. Zmieniło się Openssh na wersję 7.1, która ma zablokowane uwierzytelnienie po DSA. (heartbleed i tego typu sprawy)
Dlatego musiałem sobie wygenerować nowe klucze:  RSA, albo Ed25519:

ssh-keygen -t ed25519

albo

ssh-keygen -t rsa -b 4096

no a potem trzeba taki kluczyk skopiować na docelowego hosta:

cat .ssh/id_rsa.pub | ssh hawking "cat >> .ssh/authorized_keys"

I znowu można się cieszyć uwierzytelnianiem po kluczach.
Miłego dnia.

poniedziałek, 3 sierpnia 2015

Sieć w Linuxie - po nowemu, czyli oswajanie NetworkManagera

Leve it or leave it.
Ponieważ lubię Fedorę i RedHata, postanowiłem oswoić się z wynalazkami typu systemd i NetworkManager.
Tym razem chcę się skupić na NM, który od pierwszych wersji bardzo dojrzał. I dorobił się CLI :-)
Buduję sobie właśnie klaster Pacemakerowy w oparciu o Fedora 22 Server. Węzły działają w KVM, ale na różnych hostach. Dlatego zdecydowałem się stworzyć 2 sieci: bridged, do bezpośredniej komunikacji i "nat" do internetu i komunikacji host<->gość. 

Profile połączeń

Coś pokręciłem i mimo użycia tego samego obrazu dysku, mam lekko inną definicję sprzętu obu węzłów klastra. W efekcie, na jednej maszynie  powstały karty i profile połączeń w postaci: ensX a na drugiej ethX


[root@lnx0 ~]# nmcli c s
NAZWA  UUID                                  TYP             URZĄDZENIE 
ens4   b125be98-b025-4435-8af6-048cbf8c55de  802-3-ethernet  ens4       
ens3   2255e02d-dba1-4ecf-85fd-0f2bdab60ddb  802-3-ethernet  ens3 


Okazało się, że przy tworzeniu maszyn wirtualnych, na jednej z nich, użyłem emulacji kart Realtek a na drugiej VirtIO. Po wyprostowaniu tej od realteków mam coś takiego:
[root@lnx0 ~]# nmcli c s
NAZWA  UUID                                  TYP             URZĄDZENIE 
ens4   b125be98-b025-4435-8af6-048cbf8c55de  802-3-ethernet  eth1       
ens3   2255e02d-dba1-4ecf-85fd-0f2bdab60ddb  802-3-ethernet  eth0

Dlaczego nie ma nowych? Bo MAC adresy ani lokalizacja urządzenia się nie zmieniły. Zmienił się tylko tym i moduł w jądrze. Dlatego potrzebuję wyprostować też nazwy połączeń z ensX na coś bardziej ludzkiego:

[root@lnx0 ~]# nmcli c modify ens4 connection.id bridged-eth1
[root@lnx0 ~]# nmcli c modify ens3 connection.id nat-eth0
[root@lnx0 ~]# nmcli c s
NAZWA         UUID                                  TYP             URZĄDZENIE 
bridged-eth1  b125be98-b025-4435-8af6-048cbf8c55de  802-3-ethernet  eth1       
nat-eth0      2255e02d-dba1-4ecf-85fd-0f2bdab60ddb  802-3-ethernet  eth0 

Hostname

Nazwy hostów też musiałem zmienić z szablonowego "lnx0" na pcmk-1 i pcmk-2. I znów z pomocą przychodzi nmcli:

[root@lnx0 ~]# nmcli general hostname pcmk-1
[root@lnx0 ~]# cat /etc/hostname 
pcmk-1
[root@lnx0 ~]# hostname
pcmk-1
[root@lnx0 ~]# 

Oczywiście trzeba zadbać o to, by nazwa rozwiązywała się do jakiegoś sensownego adresu IP, a potem ostrzegawczy strzał w tył głowy, żeby sprawdzić czy po reboocie wszystkie zmiany są na miejscu.

Podsumowanie

O Network Managerze pewnie można by napisać książkę. Opisałem tutaj jedynie niewielki fragment jego funkcjonalności, ot tak na zachętę. Jego wielką siłą jest CLI, które we współpracy z bash-completion i wbudowanycm helpem, daje bardzo wygodne i intuicyjne narzędzie do manipulowania ustawieniami sieci, i to bez konieczności ręcznego prucia plików z /etc/sysconfig/network-scripts i okolic :-)