ネットワークインターフェイスに静的IPを設定したい場合が多くあります。 RHEL 8 / CentOS 8では、ネットワーク接続はNetworkManagerデーモンによって管理されるため、このチュートリアルでは、コマンドラインユーティリティ nmcli
> 、またはテキストユーザーインターフェイスを介して、 nmtui
。
このチュートリアルでは、次のことを学びます。
- インターフェースファイルを直接編集して静的IPアドレスを設定する方法
- nmcliユーティリティを使用して静的IPアドレスを設定する方法
- nmtuiを使用して静的IPアドレスを設定する方法
編集したネットワークインターフェースファイル
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
RHEL 8 / CentOS 8 | |
このチュートリアルで説明されているすべてのソフトウェアは、RHEL8またはCentOS8の最小インストールに含まれています。 | |
root権限でコマンドを実行する権限。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、または sudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
はじめに
Red Hat Enterprise Linux 8では、ネットワークインターフェースは NetworkManager
によって管理されます。 デーモンなので、ネットワークインターフェイスの設定を変更するには、何らかの方法でデーモンと対話する必要があります。このチュートリアルでは、さまざまな3つの方法を使用して、NICの静的IPアドレス、ゲートウェイ、およびdnsサーバーを設定する方法を説明します。
インターフェースの特定
最初に実行したいのは、変更するインターフェースを見つけることです。システム上のすべてのインターフェースを一覧表示するには、 ip addr
を使用できます。 コマンド:
$ 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>
上記の出力では、rhel8仮想化マシンでコマンドを実行した結果であり、次の2つのインターフェイスが表示されます。 lo
およびenp1s0
。 1つは「仮想」インターフェースであり、システムがそれ自体と「対話」するために使用します。 2つ目は私たちが興味を持っているもので、現在そのIPv4アドレスは192.168.122.189です。変更したいのです。
方法1-インターフェース構成ファイルを手動で変更する
NetworkManagerデーモンによって管理されるネットワークインターフェースごとに、構成ファイルが / etc / sysconfig / network-scripts
内に作成されます。 ディレクトリ。ファイルの名前は、ifcfg-
で構成されます。 プレフィックスとインターフェイスの名前。 NICに関連するファイルを調べると、実際のセットアップを確認できます。
$ 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
オプションがdhcp
に設定されている :このオプションは、起動時にインターフェイスのIPアドレスを設定するために使用するプロトコルを設定します。使用できるオプションは次のとおりです。
- なし–プロトコルは使用しないでください
- bootp –bootpプロトコルを使用します
- dhcp –dhcpプロトコルを使用します
静的IPv4アドレスを設定するため、BOOTPROTOの値を none
に変更します。 IP、ルートプレフィックス、ゲートウェイ、およびdnsサーバーを静的に構成します。これは、それぞれ IPADDR
を使用して実現できます。 、 PREFIX
、 GATEWAY
およびDNS
オプション。多くのDNSサーバーを指定できるため、 DNS
オプションは、1から始まる累進番号とともに報告する必要があります。必要な変更を加えると、ファイルは次のようになります。
this:
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
静的IPを192.168.122.66
に設定します ゲートウェイとdnsサーバーの両方を192.168.122.1
に設定します 。ここで、変更を有効にするには、ネットワークインターフェイスを上下に移動する必要があります。これにより、上記のインターフェースを介した既存のssh接続が中断されることに注意してください。
$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0
ip addr
を実行する もう一度コマンドを実行すると、IPが変更されたことを確認できます:
IP addr|grep enp1s0|grep inet inet 192.168.122.66/24 brd 192.168.122.255 scope global noprefix
方法2–nmcliを使用
Nmcli
NetworkManagerを制御するために使用されるコマンドラインツールです。これを使用することで、他のシンの中でも、特定のインターフェイスのネットワーク設定を変更できます。この場合、 connection
でnmcliを使用する必要があります modify
を使用したサブコマンド またはedit
アクション。 1つ目は設定を直接変更でき、2つ目はインタラクティブに操作できるnmcliシェルを起動します。
nmcliを直接使用する
直接nmcliコマンドを使用して「enp1s0」インターフェースのIPアドレスを変更するには、次のコマンドを実行します。
$ sudo nmcli connection modify enp1s0 IPv4.address 192.168.122.66/24
いわゆるCIDR
を使用して、IPとともにルーティングプレフィックスを指定したことに注意してください。 表記(クラスドメイン間ルーティング)。同様の構文を使用して、ゲートウェイとDNS設定を変更します。
$ sudo nmcli connection modify enp1s0 IPv4.gateway 192.168.122.1 $ sudo nmcli connection modify enp1s0 IPv4.dns 192.168.122.1
最後に、メソッドを manual
に設定します インターフェイスに他のブートプロトコルを使用しないようにします。このコマンドは、インターフェース構成ファイルでBOOTPROTOオプションをnoneに設定します。
$ sudo nmcli connection modify enp1s0 IPv4.method manual
nmcliシェルの使用
上で述べたように、インタラクティブな方法を使用して同じ変更を実行することもできます。 nmcliシェル
に入るには edit
を使用します アクションの後に、編集するインターフェースの名前が続きます:
$ 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>
点滅するカーソルは、シェルがコマンドを受け入れていることを示しています。 help
と入力できます。 利用可能なもののリストを取得するには、 print
すべての接続プロパティを表示するか、 describe
後者の説明を取得するために、設定とそのプロパティの1つ(ドット表記で表されます)が続きます。例:
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
インターフェイスのアドレスを変更するには:
nmcli> set IPv4.address 192.168.122.66/24
同じ原則を使用して、他のプロパティを変更します:
nmcli> set IPv4.gateway 192.168.122.1 nmcli> set IPv4.dns 192.168.122.1 nmcli> set IPv4.method manual
行った変更を保存するには、最後のコマンドを1つ発行する必要があります:
nmcli> save Connection 'enp1s0' (d5f41bf4-de0a-43b3-b633-7e2ec6212e58) successfully updated.
nmcliシェルを終了するには、 quit
と入力するだけです。 Enterキーを押します:
nmcli> quit
繰り返しますが、変更を有効にするには、以前に使用したのと同じコマンドでインターフェースをリロードする必要があります。
方法3–nmtuiを使用
ファイルを手動で変更するか、nmcliユーティリティを使用してネットワークインターフェイスのパラメータを変更する以外に、テキストユーザーインターフェイスを使用してNetworkManagerを制御することもできます。起動するには、 nmtui
を呼び出すだけです。 私たちのターミナルで:
$ sudo nmtui
nmtuiテキストユーザーインターフェイス
接続の編集
を選択します 次に、操作するインターフェイスの名前。次に、目的の値の変更に進みます。例:
nmtuiを使用した接続設定の編集
満足したら、 OK
を選択します Enterキーを押します。インターフェイス選択メニューに戻ります。今回はback
を選択します 、次に quit
を選択します 出る。設定を適用するには、インターフェース接続をリロードする必要があります:
$ sudo nmcli connection down enp1s0 && sudo nmcli connection up enp1s0
結論
このチュートリアルでは、Red Hat Enterprise Linux 8で静的IPアドレスを設定するために使用できる3つの方法を確認しました。手動で編集する場合に変更する必要のあるオプションと、インターフェイス構成ファイルに追加する必要のあるオプション、および実行方法を確認します。 nmcliとnmtuiを使用した同じ変更。これらはそれぞれコマンドラインユーティリティとテキストユーザーインターフェイスです。どちらもNetworkManagerデーモンを制御するために使用されます。