Centos8で静的IPを設定する方法の詳細な説明

Centos8で静的IPを設定する方法の詳細な説明

CentOS 8をインストールした後、ネットワークを再起動すると次のエラーが表示されます

エラーメッセージは次のとおりです。

network.service の起動に失敗しました: ユニット network.service が見つかりません。

network.service ネットワーク サービスが見つからないため、ネットワーク サービスを再起動できないことを意味します。

rhel8 (centos8 を含む) では、/etc/sysconfig/network-scripts/ にスクリプト ファイルはなく、従来の network.service もありません。したがって、ネットワーク構成は、NM コマンド ツール セットなどの他の方法でのみ実行できます。つまり、rhel8 では NM をオンにする必要があります。そうしないと、ネットワークを使用できません。

静的IPを手動で設定する

/etc/sysconfig/network-scripts/ifcfg-ens32 をcatします。
タイプ=イーサネット
PROXY_METHOD=なし
BROWSER_ONLY=いいえ
BOOTPROTO=静的
DEFROUTE=はい
IPV4_FAILURE_FATAL=いいえ
IPV6INIT=はい
IPV6_AUTOCONF=はい
IPV6_DEFROUTE=はい
IPV6_FAILURE_FATAL=いいえ
IPV6_ADDR_GEN_MODE=安定したプライバシー
名前=ens32
UUID=066b4926-b40c-4c28-a5b4-2310d2b96613
デバイス=ens32
ONBOOT=はい
IPアドレス=192.168.1.200
ネットマスク=255.255.255.0
ゲートウェイ=192.168.1.254
DNS1=223.5.5.5
プレフィックス=24

nmcliを使用してネットワーク構成を再読み込みします。

nmcli c リロード

チェック

nmcli c
名前 UUID タイプ デバイス
ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 イーサネット ens32

nmcliコマンドを追加しました

nmcliの使い方

nmcli の使用方法は、Linux の ip コマンドや Cisco の switch コマンドと非常に似ており、タブ補完をサポートしています (詳細については、この記事の最後にあるヒントを参照してください)。コマンドの最後に -h、--help、または help を使用してヘルプを表示することもできます。

nmcli --ヘルプ
使用方法: nmcli [オプション] オブジェクト { コマンド | ヘルプ }
 
オプション
-o[verview] 概要モード(デフォルト値を非表示)
-t[erse] 簡潔な出力
-p[retty] きれいな出力
-m[ode] 表形式|複数行出力モード
-c[colors] auto|yes|no 出力に色を使用するかどうか
-f[ields] <field1,field2,...>|all|common 出力するフィールドを指定します
-g[et-values] <field1,field2,...>|all|-m tabular -t -f の共通ショートカット
-e[scape] yes|no 値の列区切りをエスケープする
-a[sk] 不足しているパラメータを尋ねる
-s[how-secrets] パスワードの表示を許可する
-w[ait] <秒> 終了操作を待つタイムアウトを設定します
-v[ersion] プログラムのバージョンを表示
-h[help] このヘルプを印刷する
 
物体
g[general] NetworkManagerの一般的なステータスと操作
n[ネットワーク] 全体的なネットワーク制御
r[adio] NetworkManager 無線スイッチ
c[onnection] NetworkManagerの接続
d[evice] NetworkManagerによって管理されるデバイス
a[gent] NetworkManager シークレットエージェントまたは polkit エージェント
m[onitor] NetworkManagerの変更を監視する

nmcli で最もよく使用されるコマンドは 2 つあります。

nmcli 接続
接続と翻訳すると、ifcfg-ethX に相当する設定ファイルとして理解できます。 nmcli cと省略可能

nmcliデバイス
デバイスと翻訳すると、実際のネットワーク カード (物理ネットワーク カードと仮想ネットワーク カードを含む) として理解できます。 nmcli dと省略可能
NM には、接続とデバイスという 2 つの次元があり、多対 1 の関係になります。ネットワーク カードに IP アドレスを割り当てる場合は、まず NM がこのネットワーク カードを管理できる必要があります。デバイス内のネットワーク カード (つまり、nmcli d で表示されるネットワーク カード) は NM によって管理されます。次に、デバイスに対して複数の接続 (つまり、nmcli c が認識できるもの) を設定できます。各接続は、ifcfg 設定ファイルとして理解できます。デバイス上で一度にアクティブにできる接続は 1 つだけです。接続は nmcli c up を介して切り替えることができます。

接続には 2 つの状態があります。

  • アクティブ(色付きフォント):接続が現在有効であることを示します
  • 非アクティブ (通常のフォント): 接続が現在有効ではないことを示します。

デバイスには、次の 4 つの一般的な状態があります。

  • 接続済み: NM によって管理されており、現在アクティブな接続があります
  • 切断: デバイスは NM によって管理されていますが、現在アクティブな接続がありません。
  • 管理されていない: NM によって管理されていない
  • 使用不可: 使用不可、NM を管理できません。通常は、ネットワーク カード リンクがダウンしているときに発生します (例: ip link set ens32 down)

一般的な nmcli コマンドのリスト

# IP を表示する (ifconfig、ip addr と同様)
NMCLI
 
# 接続を作成し、静的 IP を設定します (ifcfg を設定し、BOOTPROTO=none として ifup で起動するのと同じです)
nmcli c add type ethernet con-name ens32 ifname ens32 ipv4.addr 192.168.1.100/24 ​​ipv4.gateway 192.168.1.1 ipv4.method manual
 
# 接続を作成し、動的 ​​IP を設定します (ifcfg を設定するのと同等で、BOOTPROTO=dhcp で、ifup を使用して接続を開始します)
nmcli c 追加タイプ イーサネット con-name ens32 ifname ens32 ipv4.method auto
# IP を変更する (非対話型)
nmcli c ens32 ipv4.addr '192.168.1.200/24' を変更します
nmcli c up ens32
# IP を変更する (インタラクティブ)
nmcli c 編集 ens32
nmcli> ipv4.addresses に移動します
nmcli ipv4.addresses> 変更
「アドレス」の値を編集: 192.168.1.200/24
'ipv4.method' も 'manual' に設定しますか? [はい]: はい
nmcli ipv4>保存
nmcli ipv4> アクティブ化
nmcli ipv4>終了
# 接続を有効にする (ifup と同等)
nmcli c up ens32
# 接続を停止します(ifdown と同等)
nmcli c ダウン
# 接続を削除します (ifdown および delete ifcfg と同様)
nmcli c 削除 ens32
# 接続リストを表示する nmcli c show
# 接続の詳細を表示 nmcli c show ens32
# すべての ifcfg または接続ルートを再読み込みします (すぐには有効になりません)
nmcli c リロード
# 指定された ifcfg または接続ルートを再ロードします (すぐには有効になりません)
nmcli c ロード /etc/sysconfig/network-scripts/ifcfg-ens32
nmcli c ロード /etc/sysconfig/network-scripts/route-ens32
# 接続はすぐに有効になります。方法は 3 つあります: nmcli c up ens32
nmcli d ens32を再適用する
nmcli d 接続 ens32
# デバイスリストを表示する nmcli d
# すべてのデバイスの詳細情報を表示 nmcli d show
# 指定されたデバイスの詳細情報を表示します nmcli d show ens32
# ネットワークカードを有効にする nmcli d connect ens32
# ワイヤレスネットワークを無効にする(NM はデフォルトでワイヤレスネットワークを有効にします)
nmcli r すべてオフ
# NM管理ステータスを確認する nmcli n
# NM管理を有効にする nmcli n on
# NM管理を無効にする(注意して実行してください)
nmcli n オフ
#イベントの監視 nmcli m
# NM自体のステータスを表示する nmcli
# NMがオンラインで利用可能かどうかを確認します nm-line

ここで言及されているifcfgは、/etc/sysconfig/network-scripts/ifcfg-ens32と/etc/sysconfig/network-scripts/route-ens32を参照します。

nmcli 接続の重要なポイント

nmcli c 表示
名前 UUID タイプ デバイス
ens32 066b4926-b40c-4c28-a5b4-2310d2b96613 イーサネット ens32
  • 最初の列は接続名で、con-nameと呼ばれます(con-nameはネットワークカード名ではないことに注意してください)。
  • 2列目は接続のUUIDです
  • 最後の列はネットワークカード名(通常はデバイス名と呼ばれます)で、nmcil dで表示できます。

接続を操作するときは、識別子を指定する必要があります。識別子は、con-name、UUID、またはifcfgファイルが存在する場合はifcfgのフルパス(/etc/sysconfig/network-scripts/ifcfg-ens32など)を使用することもできます。

nmcli c はens32を表示します
nmcli c ショー cae3f1ef-e79a-46c3-8e0c-946b91a65e11
nmcli c は /etc/sysconfig/network-scripts/ifcfg-ens32 を表示します。

nmcli c 接続名

ifcfg のファイル名と内容の NAME= に対応します。このパラメータは接続の名前を示します。ネットワーク カード名と同じである必要はありません。デバイスに対して複数の接続を作成できますが、同時に有効にできる接続は 1 つだけです。複数の接続がある場合、nmcli c delete は現在の接続を削除し、その代わりに同じデバイスの他の接続を自動的に選択します。指定した接続スイッチを有効にするには、nmcli c up を使用できます。
注意: nmcli c modify を使用して con-name を変更すると、ifcfg ファイル内の NAME のみが変更され、ifcfg ファイル名は変更されません。

nmcli c の ipv4.method

ifcfg ファイルの内容の BOOTPROTO に対応して、ipv4.method のデフォルト値は auto であり、BOOTPROTO=dhcp に相当します。このときに IP を指定すると、ネットワーク カードに DHCP によって割り当てられた IP と静的 IP の両方が設定される場合があります。手動に設定すると、BOOTPROTO=none となり、静的 IP のみが存在することになります。

例: 接続の作成

nmcli c add type ethernet con-name ens32-test ifname ens32 ipv4.addresses '192.168.1.100/24,192.168.1.101/32' ipv4.routes '10.0.0.0/8 192.168.1.10,192.168.0.0/16 192.168.1.11' ipv4.gateway 192.168.1.254 ipv4.dns '8.8.8.8,4.4.4.4' ipv4.method manual
  • type ethernet: 接続を作成するときは、タイプを指定する必要があります。多くのタイプがあり、nmcli c add type -h で確認できます。ここでは、ethernet が指定されています。
  • con-name ens32 ifname ens32: 最初の ethX は接続名を示します。これは任意に定義でき、ネットワーク カード名と同じである必要はありません。2 番目の ethX はネットワーク カード名を示します。これは nmcli d で表示される必要があります。
  • ipv4.addresses '192.168.1.100/24,192.168.1.101/32': 2つのIPアドレス、192.168.1.100/24と192.168.1.101/32を設定します
  • ipv4.gateway 192.168.1.254: ゲートウェイは 192.168.1.254 です
  • ipv4.dns '8.8.8.8,4.4.4.4': dns は 8.8.8.8 と 4.4.4.4
  • ipv4.method マニュアル: 静的 IP の設定

対応するifcfgとdnsは

# /etc/sysconfig/network-scripts/ifcfg-ens32-test
タイプ=イーサネット
PROXY_METHOD=なし
BROWSER_ONLY=いいえ
BOOTPROTO=なし
IPアドレス=192.168.1.100
プレフィックス=24
IPアドレス1=192.168.1.101
プレフィックス1=32
ゲートウェイ=192.168.1.254
DNS1=8.8.8.8
DNS2=4.4.4.4
DEFROUTE=はい
IPV4_FAILURE_FATAL=いいえ
IPV6INIT=はい
IPV6_AUTOCONF=はい
IPV6_DEFROUTE=はい
IPV6_FAILURE_FATAL=いいえ
IPV6_ADDR_GEN_MODE=安定したプライバシー
名前=ens32-テスト
UUID=9a10ad89-437c-4caa-949c-a394a6d28c8d
デバイス=ens32
ONBOOT=はい
 
# /etc/resolv.conf
ネームサーバー 8.8.8.8
ネームサーバー 4.4.4.4

この時点で、nmcli cを通じて追加の接続を確認できるはずです。

注意: これが ethX 用に作成された最初の接続である場合、自動的に有効になります。すでに接続がある場合は、自動的に有効になりません。有効にするには、nmcli c up ethX-test を実行します。

nmcli デバイスの重要なポイント

nmcli d 接続 ens32
NM は指定されたネットワーク カードを管理し、ネットワーク カードに対応するアクティブな接続を更新します (接続構成が以前に変更されている場合)。接続はあっても非アクティブな場合は、自動的に接続を選択してアクティブにします。接続がない場合は、自動的に接続を生成してアクティブにします。

nmcli d 切断 ens32
指定されたネットワーク カードの管理を一時的に停止するように NM に指示します。この操作では、実際のネットワーク カードのリンク ステータスは変更されず、対応する接続​​が非アクティブになるだけです。システムを再起動すると、自動的に再接続されます。また、ネットワーク カードのすべての接続を手動で削除すると、ネットワーク カードのステータスは自動的に切断に変わります。

nmcli d ens32を再適用する
これは、ネットワーク カード デバイスが接続状態にある場合に、接続を更新するために特に使用され、そうでない場合はエラーが報告されます。

nmcli d ens32 自動接続を設定します yes|no 管理します yes|no
自動的に接続するかどうか、自動的に管理するかどうかを設定できますが、テスト後、現在のブート状態でのみ使用できます。これらの 2 つのパラメーターを no に設定し、システムを再起動すると、自動的に接続され、管理されている yes の状態に戻ります。したがって、このコマンドはあまり役に立ちません。注意: managed が no に設定されている場合、nmcli c reload は設定ファイルを読み取りますが、すぐには有効になりません。その後、nmcli c up ethX を実行すると、すぐに有効になり、managed が自動的に yes に変更されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • VMware 仮想マシンでの Centos8 ブリッジの静的 IP 設定方法
  • Centos8 (最小インストール) Python3.8+pip のインストール方法に関するチュートリアル
  • CentOS 8 VMware 仮想マシンがインターネットにアクセスするための静的 IP ネットワーク カードの設定の詳細な説明
  • VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)
  • Linux および CentOS (サーバー) に zip および unzip コマンド機能をインストールする
  • Centos7.5でのIPアドレス設定の実装
  • CentOS7 ブリッジモードで静的 IP を設定する方法
  • CentOS IP接続ネットワーク実装プロセス図

<<:  Rx レスポンシブプログラミングについての簡単な説明

>>:  MySQL の char、varchar、text フィールド タイプの違い

推薦する

Linux で特定のプログラムを見つけるための whereis の例の詳細な説明

Linuxは特定のプログラムを見つけますwhereis コマンドは主にプログラム ファイルを検索し、...

WeChatミニプログラム公式顔認証の詳しい説明

ミニプログラムはユーザーの個人情報を収集してアップロードしましたが、拒否されました。こんにちは、ミニ...

Vue3 ドキュメント クイックスタート

目次1. セットアップ1. セットアップ関数の最初のパラメータ - props 2. 文脈2. セッ...

MySQLでTEXT/BLOB型を使用する際の注意点を詳しく説明します

1. TEXTとBLOBの違いTEXT ファミリと BLOB ファミリの唯一の違いは、BLOB 型は...

jQueryの競合問題を解決する方法

フロントエンド開発において、$ は jQuery の関数です。$ のパラメータが異なると、実装される...

Linux で yum と入力した後に -bash: /usr/bin/yum: No such file or directory という問題を解決する方法

Linuxでyumを入力すると、プロンプトが表示されます: -bash: /usr/bin/yum:...

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明

in() の ID の順序に従った Mysql クエリ結果の順序の詳細な説明コード例: <se...

MySQL 8.0.23 インストールの超詳細なチュートリアル

目次序文1. 公式サイトからMySQLをダウンロードする2. 解凍ファイルを設定する3. 初期化4....

JS 配列の重複を排除する 9 つの高度な方法 (実証済みで効果的)

序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...

DOCTYPE宣言の機能と使い方の詳しい説明

1. ブラウザのレンダリングモードとdoctype一部の Web ページは標準に従って作成されていま...

MySQLリモートアクセスの設定方法をステップバイステップで説明します

序文MySQL データベースを使用する場合、クライアントはデータベース サーバーにリクエストを送信す...

JavaScript におけるさまざまなバイナリオブジェクトの関係の詳細な説明

目次序文さまざまなオブジェクト間の関係配列バッファ型付き配列Uint8ClampedArray文字間...

JavaScript配列重複排除の詳細な説明

目次1. アレイ重複排除2. 配列内のオブジェクトの重複排除3. 配列内の同じフィールドに基づいて別...

CSS のフィルター属性とバックドロップフィルターの適用と違いの詳細な説明

フィルターとバックドロップフィルターにはいくつかの違いがあります。フィルターは現在の要素だけでなく、...

Docker コンテナ アプリケーションで避けるべき 10 の悪い習慣

コンテナが企業の IT インフラストラクチャに欠かせない要素となっていることは間違いありません。コン...