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のマージ結果と水平スプライシングフィールドの実装手順

推薦する

MySQL Bツリーインデックスとインデックス最適化の概要についての簡単な説明

MySQL の MyISAM エンジンと InnoDB エンジンはどちらもデフォルトで B+ ツリー...

css n番目から始まるすべての要素を取得する

具体的なコードは次のとおりです。 <div id="ボックス"> &...

Dockerオーバーレイはホスト間のコンテナ相互通信を実現します

目次1. Dockerの設定2. レジストリとネットワークを作成する3. コンテナを起動する環境説明...

NestJsはMongooseを使用してMongoDBを操作する

最近、NestJs フレームワークを学び始めました。学習コストは他のフレームワークよりもはるかに高く...

HTMLリンクを書くときは、HTTPリクエストを減らすためにサブフォルダに必ずスラッシュを追加してください。

サブフォルダーの末尾にスラッシュがない場合、2 つの HTTP リクエストが生成され、効率に影響しま...

MySQL 派生テーブル(Derived Table)の簡単な使用例分析

この記事では、例を使用して、MySQL 派生テーブルの簡単な使用方法を説明します。ご参考までに、詳細...

CSSポジショニングによる階層関係の問題の詳細な説明

絶対、相対、固定位置の位置決めabsolue: 絶対配置。上、下、左、右を使用して、配置先の親要素に...

JavaScript setinterval 1秒遅延ソリューション

setinterval を使用すると、ページを開いた直後に 1 秒の遅延後に実行されることがわかりま...

MySQLデータベースのタイムアウト設定を構成する方法の例

目次序文1. JDBCタイムアウト設定2. 接続プールのタイムアウト設定3. MyBatisクエリの...

Linux で FastDFS ファイル サーバーを構築するための実装手順

目次1. ソフトウェアパッケージ2. gccをインストールする3. libfastcommonをイン...

訪問者を惹きつけるウェブサイトコンテンツを作成する14の方法

ネットサーフィンをしていると、私の注意を引こうとする美しいグラフィックでいっぱいの Web サイトを...

透明な入力ボックスにアイコンを追加する HTML コード

最近、弁護士推薦のウェブサイトを作成していたのですが、検索ボックスに問題がありました。検索ボックス内...

Linux インストール Redis 実装プロセスとエラー解決

今日、redis をインストールしたところ、今までになかったいくつかのエラーが発生しました。ここで記...

jQueryのチェーンプログラミングスタイルの詳細な例

チェーンプログラミングの実装原理jQuery を使用すると、開発者は常にドット構文を使用して独自のメ...

Vueのキーボードイベントの詳細な説明

目次共通キーエイリアスエイリアスが指定されていないキーシステム修飾キーカスタムキーエイリアス要約する...