GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nakonfigurovat statickou IP adresu na RHEL 8 / CentOS 8 Linux

Existuje mnoho případů, kdy můžeme chtít nastavit statickou IP pro síťové rozhraní. V RHEL 8 / CentOS 8 jsou síťová připojení spravována démonem NetworkManager, takže v tomto tutoriálu uvidíme, jak můžeme takový úkol provést přímou úpravou souboru rozhraní pomocí nástroje příkazového řádku nmcli nebo prostřednictvím textového uživatelského rozhraní nmtui .

V tomto tutoriálu se naučíte:

  • Jak nastavit statickou IP adresu přímou úpravou souboru rozhraní
  • Jak nastavit statickou IP adresu pomocí nástroje nmcli
  • Jak nastavit statickou IP adresu pomocí nmtui


Upravený soubor síťového rozhraní

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém RHEL 8 / CentOS 8
Software Veškerý software zmíněný v tomto tutoriálu je součástí minimální instalace RHEL 8 nebo CentOS 8.
Jiné Oprávnění ke spuštění příkazu s právy root.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Úvod

V Red Hat Enterprise Linux 8 jsou síťová rozhraní spravována NetworkManager démona, takže abychom mohli změnit nastavení síťového rozhraní, musíme s ním nějak interagovat. V tomto tutoriálu uvidíme, jak můžeme nastavit statickou IP adresu, bránu a DNS server pro NIC pomocí různých tří metod.

Identifikace našeho rozhraní

První věc, kterou chceme udělat, je najít rozhraní, které chceme upravit. K výpisu všech rozhraní v našem systému můžeme použít ip addr příkaz:

$ ip addr
1: lo: <loopback,up,lower_up> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  inet 127.0.0.1/8 scope host lo
      valid_lft forever preferred_lft forever
  inet6 ::1/128 scope host
      valid_lft forever preferred_lft forever
2: enp1s0: <broadcast,multicast,up,lower_up> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.189/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
       valid_lft 3004sec preferred_lft 3004sec
    inet6 fe80::9ab6:ba48:1ddd:a8e1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
</broadcast,multicast,up,lower_up></loopback,up,lower_up>

Ve výše uvedeném výstupu, který je výsledkem spuštění příkazu na mém virtualizovaném počítači rhel8, můžeme vidět dvě rozhraní:lo a enp1s0 . První je „virtuální“ rozhraní, které systém používá k „mluvení“ sám se sebou. Druhá je ta, která nás zajímá, a její IPv4 adresa je aktuálně 192.168.122.189:chceme ji změnit.

Metoda 1 – ruční úprava konfiguračního souboru rozhraní

Pro každé síťové rozhraní spravované démonem NetworkManager je vytvořen konfigurační soubor v /etc/sysconfig/network-scripts adresář. Název souboru se skládá z ifcfg- prefix plus název rozhraní. Pokud zkontrolujeme soubor související s naší NIC, uvidíme jeho skutečné nastavení:

$ cat /etc/sysconfig/network-scrIPts/ifcfg-enp1s0
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="dhcp"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="d5f41bf4-de0a-43b3-b633-7e2ec6212e58"
DEVICE="enp1s0"
ONBOOT="yes"
."

BOOTPROTO volba je nastavena na dhcp :volba nastavuje protokol, který se má použít při spouštění pro nastavení IP adresy rozhraní. Možné možnosti použití jsou:

  • žádný – neměl by být používán žádný protokol
  • bootp – použijte protokol bootp
  • dhcp – použijte protokol dhcp

Protože chceme nastavit statickou adresu IPv4, chceme změnit hodnotu BOOTPROTO na none a staticky nakonfigurujte naši IP, předponu trasy, bránu a DNS server. Toho můžeme dosáhnout pomocí příslušného IPADDR , PREFIX , GATEWAY a DNS možnosti. Protože lze zadat mnoho serverů DNS, DNS možnost musí být hlášena spolu s progresivním číslem počínaje 1. Po potřebných úpravách by náš soubor měl vypadat
takto:

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="enp1s0"
UUID="d5f41bf4-de0a-43b3-b633-7e2ec6212e58"
DEVICE="enp1s0"
ONBOOT="yes"
IPADDR=192.168.122.66
PREFIX=24
GATEWAY=192.168.122.1
DNS1=192.168.122.1

Naši statickou IP jsme nastavili na 192.168.122.66 a nastavte naši bránu i DNS server na 192.168.122.1 . Nyní, aby naše změny byly účinné, musíme odložit a znovu spustit síťové rozhraní. Uvědomte si, že to naruší existující připojení ssh přes uvedené rozhraní:

$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0

Spuštěním ip addr znovu můžeme ověřit, že se IP adresa změnila:

IP addr|grep enp1s0|grep inet
inet 192.168.122.66/24 brd 192.168.122.255 scope global noprefix

Metoda 2 – pomocí nmcli

Nmcli je nástroj příkazového řádku používaný k ovládání NetworkManageru. Jeho použitím můžeme mimo jiné měnit nastavení sítě pro konkrétní rozhraní. V našem případě musíme použít nmcli s connection dílčí příkaz s modify nebo edit akce. První nám umožňuje přímo měnit nastavení, zatímco druhý spouští shell nmcli, kde můžeme pracovat interaktivně.

Přímé použití nmcli

Chcete-li změnit IP adresu rozhraní „enp1s0“ přímým příkazem nmcli, spustíme:

$ sudo nmcli connection modify enp1s0 IPv4.address 192.168.122.66/24

Všimněte si, že jsme specifikovali směrovací prefix společně s IP pomocí tzv. CIDR notace (Classes Inter-Domain Routing). Ke změně brány a nastavení DNS používáme podobnou syntaxi:

$ sudo nmcli connection modify enp1s0 IPv4.gateway 192.168.122.1
$ sudo nmcli connection modify enp1s0 IPv4.dns 192.168.122.1

Nakonec nastavíme metodu na manual abyste se vyhnuli použití jiného spouštěcího protokolu pro rozhraní. Tento příkaz nastaví volbu BOOTPROTO na none v konfiguračním souboru rozhraní:

$ sudo nmcli connection modify enp1s0 IPv4.method manual

Použití prostředí nmcli

Jak jsme uvedli výše, k provedení stejných změn můžeme použít i interaktivní metodu. Chcete-li zadat nmcli shell používáme edit akce, za kterou následuje název rozhraní, které chceme upravit:

$ sudo nmcli connection edit enp1s0
===| nmcli interactive connection editor |===

Editing existing '802-3-ethernet' connection: 'enp1s0'

Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [.]' for detailed property descrIPtion.

You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, IPv4, IPv6, tc, proxy
nmcli>

Blikající kurzor nám říká, že shell přijímá příkazy:můžeme napsat help Chcete-li získat seznam dostupných, print zobrazit všechny vlastnosti připojení nebo describe následuje nastavení a jedna z jeho vlastností (reprezentovaná tečkovou notací), abyste získali popis druhé. Například:

nmcli>
nmcli> describe IPv4.address

=== [addresses] ===
[NM property descrIPtion]
Array of IP addresses.

[nmcli specific descrIPtion]
Enter a list of IPv4 addresses formatted as:
  IP[/prefix], IP[/prefix],...
Missing prefix is regarded as prefix of 32.

Example: 192.168.1.5/24, 10.0.0.11/24

Chcete-li změnit adresu našeho rozhraní:

nmcli> set IPv4.address 192.168.122.66/24

Stejný princip se používá pro změnu ostatních vlastností:

nmcli> set IPv4.gateway 192.168.122.1
nmcli> set IPv4.dns 192.168.122.1
nmcli> set IPv4.method manual

Chcete-li uložit provedené úpravy, musíme vydat poslední příkaz:

nmcli> save
Connection 'enp1s0' (d5f41bf4-de0a-43b3-b633-7e2ec6212e58) successfully updated.

Pro ukončení shellu nmcli stačí napsat quit a stiskněte enter:

nmcli> quit

Opět, aby byly změny účinné, měli bychom znovu načíst rozhraní pomocí stejného příkazu, který jsme použili dříve.

Metoda 3 – pomocí nmtui

Kromě změny parametrů síťového rozhraní ruční úpravou jeho souboru nebo pomocí utility nmcli můžeme NetworkManager ovládat také pomocí textového uživatelského rozhraní. Pro jeho spuštění stačí zavolat nmtui v našem terminálu:

$ sudo nmtui


Textové uživatelské rozhraní nmtui

Vybereme Edit a connection a pak název rozhraní, se kterým chceme manipulovat; poté pokračujeme ve změně požadovaných hodnot. Například:



Úprava nastavení připojení pomocí nmtui

Poté, co jsme spokojeni, vybereme OK a stiskněte enter:vrátíme se zpět do nabídky výběru rozhraní. Tentokrát zvolíme back a poté zvolte quit k východu. Chcete-li použít nastavení, musíme znovu načíst připojení rozhraní:

$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0

Závěry

V tomto tutoriálu jsme viděli tři metody, které můžeme použít k nastavení statické IP adresy na Red Hat Enterprise Linux 8. Vidíme, jaké možnosti bychom měli změnit a co bychom měli přidat do konfiguračního souboru rozhraní při jeho ruční úpravě a jak provést stejné změny pomocí nmcli a nmtui, což jsou nástroje příkazového řádku a textové uživatelské rozhraní:oba se používají k ovládání démona NetworkManager.


Cent OS
  1. CentOS / RHEL 5:Jak nakonfigurovat propojení rozhraní (NIC teaming)

  2. CentOS / RHEL 4:Jak nakonfigurovat propojení rozhraní (Týmování NIC)

  3. Jak nakonfigurovat rozhraní v promiskuitním režimu na CentOS/RHEL 7 (trvale)

  1. Jak nainstalovat a nakonfigurovat R na RHEL 8 / CentOS 8 Linux System

  2. Jak nakonfigurovat virtuální síťové rozhraní na RHEL 8 / CentOS 8

  3. Jak nakonfigurovat rozhraní v „Promiskuitním režimu“ v CentOS/RHEL

  1. Jak změnit IP adresu na RHEL 8 / CentOS 8 Linux

  2. Jak nakonfigurovat NTP server na RHEL 8 / CentOS 8 Linux

  3. Jak nakonfigurovat propojení síťového rozhraní na RHEL 8 / CentOS 8 Linux