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 | ワイルドカード(%、_ など)を使用したファジークエリの詳細な説明

ワイルドカードのカテゴリ: %パーセント ワイルドカード: 任意の文字が任意の回数出現できることを示...

MySQL シリーズ 7 MySQL ストレージ エンジン

1. MyISAM ストレージエンジン欠点:トランザクションはサポートされていません最小粒度ロック:...

docker compose の使い方の詳しい説明

目次Docker Compose の使用シナリオ基本的なデモ基本的な操作とメンテナンスdocker-...

jQuery でダイナミックなパーティクル効果を実現

この記事では、動的なパーティクル効果を実現するためのjQueryの具体的なコードを参考までに紹介しま...

Nginx/Httpd ロードバランシング Tomcat 設定チュートリアル

前回のブログでは、Nginx と httpd を使用して、逆生成用のバックエンド Tomcat サー...

Vueのウェブページスクリーンショット機能の詳しい説明

最近、プロジェクトで写真をアップロードする要件があるのですが、顧客がアップロードする写真のサイズがま...

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorException の解決方法

bitronix を使用して MySQL に接続するときの MySQLSyntaxErrorExce...

MySQL 5.7.20 無料インストールバージョンの設定方法グラフィックチュートリアル

インターネット上で多くの関連チュートリアルを見てきましたが、インストール プロセスにはまだいくつかの...

AngularでTweenMaxアニメーションライブラリを使用する際の問題と解決策

最近何もすることがないのでCSSをいじっていますより良いアニメーションライブラリTweenMaxを見...

JTAを実装するためにAtomikosと組み合わせたTomcatについて

最近、プロジェクトは環境を切り替え、WebLogic を Tomcat に置き換えました。途中で発生...

uniapp 要素ノードスタイルの動的変更の詳細な説明

目次1. スタイル属性をバインドして変更するhtml:対応するjs:達成された効果:次に、refを使...

ハンドラー PageHandlerFactory-Integrated のモジュール リストに不正なモジュール ManagedPipelineHandler が含まれています

Web プロジェクトを開発する場合、IIS をインストールする必要があります。IIS がインストール...

MYSQL トランザクション チュートリアル Yii2.0 マーチャント引き出し機能

序文私はプログラマーとしてスタートした PHP プログラマーです。これまで、トレーニング コースで勉...

HTMLのmarquee属性でテキストを踊らせる

構文: <marquee> …</marquee>モバイル属性マーキーを使用...

Linux で MySQL をインストールする簡単な方法

Linux に MySQL をインストールする方法をオンラインで検索すると、多くの方法が表示されまし...