NetworkManager-1.50.0

Introduksjon til NetworkManager

NetworkManager er et sett med samhandlende verktøy som gjør nettverksbygging enkelt og greit. Enten du bruker WiFi, kablet, 3G eller Bluetooth lar NetworkManager deg raskt flytte fra ett nettverk til et annet: Når et nettverk er konfigurert og koblet til en gang kan den oppdages og slås på igjen automatisk neste gang den er tilgjengelig.

[Notat]

Notat

Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen pakker riktig hvis LFS eller avhengigheter har blitt oppdatert siden den siste stabile versjonene av bøkene.

[Notat]

Notat

Pass på at du deaktiverer systemd-networkd tjenesten eller konfigurer den til ikke å administrere grensesnittene du vil administrere med NetworkManager.

Pakkeinformasjon

NetworkManager Avhengigheter

Påkrevd

libndp-1.9

Anbefalt

Valgfri

BlueZ-5.79, D-Bus Python-1.3.2 (for testpakken), GnuTLS-3.8.8 (kan brukes i stedet for nss-3.106), GTK-Doc-1.34.0, jansson-2.14, ModemManager-1.18.12, UPower-1.90.6, Valgrind-3.24.0, dnsmasq, firewalld, libaudit, libteam, mobile-broadband-provider-info, PPP, og RP-PPPoE

Kjernekonfigurasjon

Hvis du ønsker å kjøre testene, kontroller at minst følgende alternativer er aktivert i kjernekonfigurasjonen. De alternativene har vært fastslått å være nødvendig, men kanskje ikke tilstrekkelig. Kompiler på nytt kjernen om nødvendig:

[*] Networking support --->                                                [NET]
  Networking options --->
    [*]   TCP/IP networking                                               [INET]
    <*/M>   IP: tunneling                                             [NET_IPIP]
    <*/M>   IP: GRE demultiplexer                              [NET_IPGRE_DEMUX]
    <*/M>   IP: GRE tunnels over IP                                  [NET_IPGRE]
    <*>     The IPv6 protocol --->                                        [IPV6]
      <*/M>   IPv6: IPv6-in-IPv4 tunnel (SIT driver)                  [IPV6_SIT]
      <*/M>   IPv6: GRE tunnel                                        [IPV6_GRE]
      [*]     IPv6: Multiple Routing Tables               [IPV6_MULTIPLE_TABLES]
    [*]     MPTCP: Multipath TCP                                         [MPTCP]
    [*]       MPTCP: IPv6 support for Multipath TCP                 [MPTCP_IPV6]
    <*/M> 802.1Q/802.1ad VLAN Support                               [VLAN_8021Q]
    [*]   QoS and/or fair queueing --->                              [NET_SCHED]
      <*> Stochastic Fairness Queueing (SFQ)                       [NET_SCH_SFQ]
      <*> Token Bucket Filter (TBF)                                [NET_SCH_TBF]
      <*> Fair Queue Controlled Delay AQM (FQ_CODEL)          [NET_SCH_FQ_CODEL]
      <*> Ingress/classifier-action Qdisc                      [NET_SCH_INGRESS]

Device Drivers --->
  [*] Network device support --->                                   [NETDEVICES]
    [*]   Network core driver support                                 [NET_CORE]
    <*/M>   Bonding driver support                                     [BONDING]
    <*/M>   Dummy net driver support                                     [DUMMY]
    <*/M>   Ethernet team driver support --->                         [NET_TEAM]
    <*/M>   MAC-VLAN support                                           [MACVLAN]
    <*/M>     MAC-VLAN based tap driver                                [MACVTAP]
    <*/M>   IP-VLAN support                                             [IPVLAN]
    <*/M>   Virtual eXtensible Local Area Network (VXLAN)                [VXLAN]
    <*/M>   Virtual ethernet pair device                                  [VETH]
    <*/M>   Virtual Routing and Forwarding (Lite)                      [NET_VRF]

Installasjon av NetworkManager

Fiks python skriptene slik at de bruker Python 3:

grep -rl '^#!.*python$' | xargs sed -i '1s/python/&3/'

Installer NetworkManager ved å kjøre følgende kommandoer:

mkdir build &&
cd    build &&

meson setup ..                    \
      --prefix=/usr               \
      --buildtype=release         \
      -D libaudit=no              \
      -D nmtui=true               \
      -D ovs=false                \
      -D ppp=false                \
      -D selinux=false            \
      -D qt=false                 \
      -D session_tracking=systemd \
      -D modem_manager=false      &&
ninja

En allerede aktiv grafisk øky med en bussadresse er nødvendig for å kjøre testene. For å teste resultatene, utsted ninja test.

Noen få tester kan mislykkes, avhengig av aktiverte kjernealternativer.

Nå, som root bruker:

ninja install &&
mv -v /usr/share/doc/NetworkManager{,-1.50.0}

Hvis du ikke har sendt -D docs=true alternativ til meson, du kan installere de forhåndsgenererte manualsidene med (som root bruker):

for file in $(echo ../man/*.[1578]); do
    section=${file##*.} &&
    install -vdm 755 /usr/share/man/man$section
    install -vm 644 $file /usr/share/man/man$section/
done

Hvis du ikke har brukt -D docs=true, forhåndsgenerert HTML dokumentasjon kan også installeres med (som root bruker):

cp -Rv ../docs/{api,libnm} /usr/share/doc/NetworkManager-1.50.0

Parameterforklaringer

--buildtype=release: Spesifiser en byggetype egnet for stabile utgivelser av pakken, som standard kan produsere uoptimaliserte binærfiler.

-D docs=true: Bruk denne bryteren for å aktivere bygging av mansider og dokumentasjon hvis GTK-Doc-1.34.0 er installert.

-D nmtui=true: Denne bryteren gjør det mulig å bygge nmtui.

-D ovs=false: Denne bryteren deaktiverer Open vSwitch integrasjon fordi den trenger jansson-2.14. Fjern den hvis du har jansson-2.14 installert på systemet ditt.

-D modem_manager=false: Denne bryteren er nødvendig hvis ModemManager ikke er installert. Utelat denne bryteren hvis du har bygget ModemManager og mobile-broadband-provider-info.

-D session_tracking=systemd: Denne bryteren brukes til å sette systemd-logind som standardprogram for øktsporing.

-D ppp=false: Denne bryteren deaktiverer PPP støtte i NetworkManager siden programmene er nødvendige for det ikke er installert. Fjern denne bryteren hvis du trenger PPP støtte og har PPP installert.

-D libaudit=no og -D selinux=false: Denne bryteren deaktiverer støtte for libaudit og SELinux siden de ikke brukes i BLFS.

-D qt=false: deaktiverer Qt 5 eksempler.

-D crypto=gnutls: Bruk denne bryteren hvis du har GnuTLS installert og ønsker å bruke den til sertifikat og nøkkel operasjoner i NetworkManager, i stedet for å bruke NSS (standard).

-D crypto=null: Bruk denne bryteren hvis verken NSS eller GnuTLS er installert, men du vil uansett bygge NetworkManager. Denne bryteren vil få NetworkManager til å mangle noen funksjoner (for eksempel 802.1X).

-D suspend_resume=upower: Bruk denne bryteren hvis du har UPower-1.90.6 installert og ønsker å bruke den (i stedet for Systemd-256.5) for å suspendere og gjenoppta støtte.

Konfigurere NetworkManager

Konfigurasjonsfiler

/etc/NetworkManager/NetworkManager.conf

Konfigurasjonsinformasjon

For at NetworkManager skal virke, må det i det minste være til stede en minimal konfigurasjonsfil. En slik fil er ikke installert med make install. Utsted følgende kommando som root bruker for å lage en minimal NetworkManager.conf fil:

cat >> /etc/NetworkManager/NetworkManager.conf << "EOF"
[main]
plugins=keyfile
EOF

Denne filen skal ikke endres direkte av brukere av systemet. I stedet bør systemspesifikke endringer gjøres ved hjelp av konfigurasjonsfiler i /etc/NetworkManager/conf.d mappen.

For å tillate polkit å administrere autorisasjoner, legg til følgende konfigurasjonsfil:

cat > /etc/NetworkManager/conf.d/polkit.conf << "EOF"
[main]
auth-polkit=true
EOF

For å bruke noe annet enn den innebygde dhcp klienten (anbefalt hvis du kun bruker nmcli), bruk følgende konfigurasjon (gyldige verdier inkluderer enten dhcpcd eller internal):

cat > /etc/NetworkManager/conf.d/dhcp.conf << "EOF"
[main]
dhcp=dhcpcd
EOF

For å forhindre NetworkManager fra å oppdatere /etc/resolv.conf filen, legg til følgende konfigurasjonsfil:

cat > /etc/NetworkManager/conf.d/no-dns-update.conf << "EOF"
[main]
dns=none
EOF

For ytterligere konfigurasjonsalternativer, se man 5 NetworkManager.conf.

For å la vanlige brukere konfigurere nettverkstilkoblinger, bør du legge dem til netdev gruppen, og lag en polkit regel som gir adgang. Kjør følgende kommandoer som root bruker:

groupadd -fg 86 netdev &&
/usr/sbin/usermod -a -G netdev <username>

cat > /usr/share/polkit-1/rules.d/org.freedesktop.NetworkManager.rules << "EOF"
polkit.addRule(function(action, subject) {
    if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("netdev")) {
        return polkit.Result.YES;
    }
});
EOF

Systemd Enhet

For å starte NetworkManager nissen ved oppstart, aktiver den tidligere installerte systemd enheten ved å kjøre følgende kommando som root bruker:

[Notat]

Notat

Hvis du bruker Network Manager til å administrere et grensesnitt, bør enhver tidligere konfigurasjon for det grensesnittet være fjernet, og grensesnittet tatt ned før Network Manager startes.

systemctl enable NetworkManager

Fra og med versjon 1.11.2 av NetworkManager, en systemd enhet kalt NetworkManager-wait-online.service er aktivert, som brukes til å forhindre tjenester som krever nettverkstilkobling fra å starte inntil NetworkManager oppretter en forbindelse. For å deaktivere denne virkemåten, kjør følgende kommando som root bruker:

systemctl disable NetworkManager-wait-online

Innhold

Installerte Programmer: NetworkManager, nmcli, nm-online, nmtui, og, symbolkobling til nmtui: nmtui-connect, nmtui-edit, og nmtui-hostname
Installerte Biblioteker: libnm.so og flere moduler under /usr/lib/NetworkManager
Installerte Mapper: /etc/NetworkManager, /usr/include/libnm, /usr/lib/NetworkManager, /usr/share/doc/NetworkManager-1.50.0, /usr/share/gtk-doc/html/{libnm,NetworkManager} (hvis dokumentasjonen er bygget), og /var/lib/NetworkManager

Korte Beskrivelser

nmcli

er et kommandolinjeverktøy for å kontrollere NetworkManager og få dens status

nm-online

er et verktøy for å avgjøre om du er på nett

nmtui

er et interaktivt ncurses-basert brukergrensesnitt for nmcli

nmtui-connect

er et interaktivt ncurses-basert brukergrensesnitt til å aktivere/deaktivere tilkoblinger

nmtui-edit

er et interaktivt ncurses-basert brukergrensesnitt for å redigere tilkoblinger

nmtui-hostname

er et interaktivt ncurses-basert brukergrensesnitt for å redigere vertsnavnet

NetworkManager

er nettverksadministrasjonsnisse

libnm.so

inneholder funksjoner som brukes av NetworkManager