CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

CentOS/RHEL システムで VLAN タグ付きイーサネット カードを使用する方法

シナリオによっては、Linux サーバー (CentOS/RHEL) の同じイーサネット カード (NIC) 上の異なる VLAN から複数の IP を割り当てる必要があります。これは、VLAN タグ付きインターフェースを使用することで実現できます。しかし、これを行うには、複数のVLANがスイッチポートに接続されていることを確認する必要があります。つまり、複数のVLANをスイッチに追加して設定することができます。集約ポートトランクポート(LCTT翻訳注:一般的には集約ポートトランクポートアクセスポートアクセスポートハイブリッドポートハイブリッドポート3種類あります。

Linux サーバーがあり、2 つのイーサネット カード ( enp0s3enp0s8 ) があると仮定します。最初のカード ( enp0s3 ) はデータ転送に使用され、2 番目のカード ( enp0s8 ) は制御/トラフィック管理に使用されます。データ転送には複数の VLAN を使用します (または、データ トラフィック NIC 上の異なる VLAN から複数の IP を割り当てます)。

サーバーのデータ NIC に接続されているポートは、複数の VLAN をマッピングして集約ポートとして構成されていると想定しています。

以下は、データ転送ネットワーク インターフェイス カード (NIC) にマップされる VLAN です。

  • VLAN ID (200)、VLAN N/W = 172.168.10.0/24
  • VLAN ID (300)、VLAN N/W = 172.168.20.0/24

CentOS 7 / RHEL 7 / CentOS 8 / RHEL 8 システムで VLAN タグ付きインターフェースを使用するには、カーネル モジュール8021qロードする必要があります。

カーネルモジュール8021qをロードするには、次のコマンドを使用します。

[root@linuxtechi ~]# lsmod | grep -i 8021q
[root@linuxtechi ~]# modprobe --first-time 8021q
[root@linuxtechi ~]# lsmod | grep -i 8021q
8021q 29022 0
ガープ 14384 1 8021q
mrp 18542 1 8021q
[root@linuxtechi ~]#

modinfoコマンドを使用して、カーネル モジュール8021qの詳細情報を表示できます。

[root@linuxtechi ~]# modinfo 8021q
ファイル名: /lib/modules/3.10.0-327.el7.x86_64/kernel/net/8021q/8021q.ko
バージョン: 1.8
ライセンス: GPL
エイリアス: rtnl-link-vlan
rhelバージョン: 7.2
ソースバージョン: 2E63BD725D9DC11C7DA6190
依存: mrp、garp
インツリー: Y
vermagic: 3.10.0-327.el7.x86_64 SMP mod_unload modversions
署名者: CentOS Linux カーネル署名キー
署名キー: 79:AD:88:6A:11:3C:A0:22:35:26:33:6C:0F:82:5B:8A:94:29:6A:B3
sig_hashalgo: sha256
[root@linuxtechi ~]#

ここで、ip コマンドを使用して、VLAN 200および300 enp0s3ネットワーク カードにタグ付け (またはマップ) します。

(LCTT 翻訳メモ: これは、まず VLAN タグ200 enp0s3ネットワーク カードにマップすることです。)

[root@linuxtechi ~]# ip link add link enp0s3 name enp0s3.200 type vlan id 200

インターフェイスを開くには、次のipコマンドを使用します。

[root@linuxtechi ~]# ip link set dev enp0s3.200 up

同様に、VLAN タグ300 enp0s3ネットワーク カードにマップします。

[root@linuxtechi ~]# ip link add link enp0s3 name enp0s3.300 type vlan id 300
[root@linuxtechi ~]# ip link set dev enp0s3.300 up

次に、 ipコマンドを使用して、マークされたインターフェースのステータスを表示します。

次のipコマンドを使用して、それぞれの VLAN からタグ付きインターフェースに IP アドレスを割り当てることができます。

[root@linuxtechi ~]# ip addr 172.168.10.51/24 dev enp0s3.200 を追加します
[root@linuxtechi ~]# ip addr 172.168.20.51/24 dev enp0s3.300 を追加します

次のipコマンドを使用して、マークされたインターフェースに IP が割り当てられているかどうかを確認します。

再起動後、上記のipコマンドで行った変更はすべて保持されません (LCTT 翻訳注: 変更は構成ファイルまたはデータベースに保存できます。保存プロセスが実行されない場合、現在の環境のみが有効になり、再起動後に構成は無効になります)。これらのマークされたインターフェースはservice network restart (LCTT 翻訳注: service network restart、またはdownコマンドとupコマンド) 後に使用できなくなります。

したがって、マークされたインターフェースを再起動後も維持するには、インターフェースのifcfgファイルを使用する必要があります。

インターフェース ( enp0s3 ) ファイル/etc/sysconfig/network-scripts/ifcfg-enp0s3を編集し、次の内容を追加します。

著者の注意: ご使用の環境のインターフェース名に置き換えてください。

[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
タイプ=イーサネット
デバイス=enp0s3
BOOTPROTO=なし
ONBOOT=はい

ファイルを保存して終了します。

VLAN ID 200のインターフェース ファイル/etc/sysconfig/network-scripts/ifcfg-enp0s3.200を作成し、次の内容を追加します。

[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.200
デバイス=enp0s3.200
BOOTPROTO=なし
ONBOOT=はい
IPアドレス=172.168.10.51
プレフィックス=24
ネットワーク=172.168.10.0
VLAN=はい

ファイルを保存して終了します。

同様に、VLAN ID 300のインターフェース ファイル/etc/sysconfig/network-scripts/ifcfg-enp0s3.300を作成し、次の内容を追加します。

[root@linuxtechi ~]# vi /etc/sysconfig/network-scripts/ifcfg-enp0s3.300
デバイス=enp0s3.300
BOOTPROTO=なし
ONBOOT=はい
IPアドレス=172.168.20.51
プレフィックス=24
ネットワーク=172.168.20.0
VLAN=はい

ファイルを保存して終了します。この時点で、次のコマンドを使用してネットワークサービスを再起動します。

[root@linuxtechi ~]# systemctl ネットワークを再起動します

次に、次のipコマンドを使用して、マークされたインターフェースが設定され、起動され、実行されていることを確認します。

CentOS/RHEL システムで VLAN タグ付きのイーサネット カードを使用する方法については、これで終わりです。CentOS システムで VLAN タグ付きのイーサネット カードを使用する方法の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • VMware CentOS 仮想マシンのインストールとネットワーク構成のグラフィックチュートリアル
  • Centos7.3は起動時に自動的に起動または指定されたコマンドを実行します
  • RedHat RHEL7.2 システムを vmware12 にインストールする詳細な手順 (画像とテキスト)
  • Linux仮想ネットワークデバイスのVLAN構成の詳細な説明
  • ブレイクアウトVLAN
  • VLAN内のDHCPドメインについて

<<:  HTML テーブル タグ チュートリアル (47): ネストされたテーブル

>>:  Mysqlのマージ結果と水平スプライシングフィールドの実装手順

推薦する

C++ TpeScriptシリーズのジェネリックについて

目次1. テンプレート2. ジェネリック3. ジェネリック再帰4. デフォルトのジェネリックパラメー...

jsで照明スイッチを制御する

参考までに、jsを使用して照明スイッチを制御します。具体的な内容は次のとおりです。トピック: js ...

SQL で行の最大値または最小値を取得する方法

元データと対象データSQL文を実装する(最大) 選択 店、 月、 最大(dz,fz,sp) が最大値...

Vue.js を学ぶ際に遭遇する落とし穴

目次クラス void のポイントES6 矢印関数ヴュートファイvue-cli非同期と同期実行と展開ヒ...

Mysql でよく使用される時間、日付、変換関数の概要

この記事では、主に実際のアプリケーションでよく使用されるMySQLの時刻と日付、および変換関数につい...

Nginx コンテンツ キャッシュと共通パラメータ設定の詳細

使用シナリオ:プロジェクトのページでは、頻繁に変更されず、個別のカスタマイズも伴わない大量のデータを...

Vue フロントエンド開発における階層的にネストされたコンポーネント間の通信の詳細な説明

目次序文例まとめ序文Vue の親子コンポーネントは、props を通じて親コンポーネントの値を子コン...

CSS3+ベジェ曲線でスケーラブルな入力検索ボックス効果を実現

では、早速レンダリングを見てみましょう。 コア コードはtransition: cubic-bezi...

MySql8.0以降のバージョンでROOTパスワードを正しく変更する方法

展開環境:インストールバージョン Red Hat Cent 7.0 MYSQL バージョン 8.0....

MYSQLテーブルの包括的な概要

目次1. テーブルを作成する1.1. テーブルを作成するための基本構文1.1.1. シンプルなテーブ...

MySQLの詳細な分析で使用法と結果を説明します

序文日常業務では、実行に時間のかかる SQL ステートメントを記録するために、スロー クエリを実行す...

React Native が「NSArray<id<RCTBridgeModule>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

最近、古い RN プロジェクトを Xcode で実行すると、次のコード エラーが報告されました。 &...

CSS はコンテナ レベル (div...) タグを 1 つの位置 (ページの右端) に固定します。

コードは次のようになります。 。プロセス{ 境界線:1px 実線 #B7B7B8; 背景:#F8F8...

MySQL 8.0.12 のインストールと設定のチュートリアル

この記事はMySQL 8.0.12のインストールと設定に関する詳細なチュートリアルを記録しています。...

MySQL sql_mode の分析と設定の説明

昨夜、MySQL データベースにデータセットを挿入したときにエラーが発生しました。データベースは容赦...