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

推薦する

HttpとHttpsの両方をサポートするNginxの詳細な設定

最近の Web サイトでは Https をサポートすることがほぼ標準機能となっており、Nginx は...

CentOS に Redis と MySQL をインストールする

1|0MySQL(MariaDB) 1|11. 説明MariaDB データベース管理システムは My...

Linuxのseqコマンドを使用して数字のシーケンスを生成します(推奨)

Linux の seq コマンドは、数字のリストを非常に高速に生成でき、使いやすく柔軟性に優れてい...

MySQL への接続時に発生する 1449 および 1045 例外の解決方法

MySQL への接続時に発生する 1449 および 1045 例外の解決方法 mysql 1449:...

impress.js プレゼンテーション層フレームワーク (デモツール) - 初めての体験

半年もブログを書いていなかったので、少し恥ずかしいです... 正月休みは、Dota をプレイしたり ...

MySQL の nvl() 関数に似た ifnull() 関数についての簡単な説明

IFNULL(式1,式2) expr1 が NULL でない場合、IFNULL() は expr1 ...

2 つの Linux サーバー間の自動ファイル同期

サーバーB(172.17.166.11)の電源がオンまたは再起動されると、サーバーA(172.17....

UbuntuでMySQLデータベースファイルディレクトリを変更する方法

序文同社の Ubuntu サーバーは、さまざまなシステムのディレクトリを異なる論理パーティションに配...

HTM と HTML の違いは何ですか? HTM と HTML の違いは何ですか?

Web デザインを学習する過程で、html と htm の関係など、遭遇した多くの問題について深く...

MySQL5.7.03 上位バージョンから MySQL 5.7.17 への置き換えインストール プロセスと見つかった問題の解決策

1. インストール方法は? 1. [実行] -> [cmd] と入力して、小さな黒いウィンドウ...

WeChatアプレットがユーザーの移動軌跡を記録

目次設定を追加json 構成レイヤー構成の表示論理層の構成位置追跡をオンにする録音を開始開始座標を決...

aタグ内のテキストを非表示にして画像を表示するには?360モードレンダリングに対応

多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...

アイデアはDockerプラグインを使用してワンクリックの自動デプロイを実現します

目次環境: 1. Dockerはリモート接続アクセスを可能にするidea dockerプラグインをイ...

初心者のためのWebサイト構築入門 ③ エイリアス(CNAME)レコードとURL転送

①. エイリアス(CNAME)レコードの使用方法:前回の投稿のドメイン名解決では、A レコードの解...

Vueのライブ放送機能の詳しい説明

最近、会社でたまたま生放送をしていたのですが、今日は私が遭遇した落とし穴を記録します。会社のサーバー...