この詳細なチュートリアルでは、 VLANタグ付け、その利点とユースケース、およびLinuxオペレーティングシステムでVLANタグを構成する方法を学びます。
LinuxでVLANタグを構成するには、仮想LANの作成、VLAN IDの割り当て、および必要に応じてIPアドレスの構成が含まれます。今後のセクションでは、3つの異なる方法でそれを行う方法を確認します。しかし、その前に、VLANタグ付け、その利点、モードとは何かを理解しましょう。
目次
Virtual LAN(VLAN)タグ付けは、物理ネットワークを複数の仮想ネットワークまたはVLANに論理的に分割できるネットワークテクノロジーです。
VLANタグ付けは、特定のフレームが属するVLANを特定するために、データリンクレイヤー(レイヤー2)のイーサネットフレームに特別なタグを追加します。このタグ付けにより、ネットワークトラフィックを分離し、ネットワークのセキュリティ、効率、および管理性を向上させることができます。
これを素人の用語にするために、あなたが多くの部屋のある大きな家を持っていると想像してください、そしてあなたはさまざまな目的のために家を異なるセクションに分割したいと思います。
たとえば、誰もがたむろするためのリビングルーム、料理のためのキッチン、寝るための寝室、お風呂に入るバスルームがあるかもしれません。
同様に、VLANタグ付けは、大規模なコンピューターネットワークをより小さく、より管理しやすいセクションに分割するようなものです。それはあなたの家の中に仮想室を作るようなものです。
各VLANは別の部屋のようなもので、同じVLAN内のデバイスは互いに簡単に通信できますが、異なるVLANのデバイスは直接通信できません。
VLANタグ付けは、ネットワークのセキュリティ、パフォーマンス、柔軟性の向上に役立つ強力なネットワーキングテクノロジーです。中小企業から大企業まで、さまざまなネットワークで広く使用されている技術です。
なぜこれをやりたいのですか?いくつかの理由があります:
VLANが実際のネットワークでどのように使用されるかの例をいくつか紹介します。
VLANタグ付けは、複数のIPアドレスを単一のネットワークインターフェイスに割り当てることとまったく同じではありません。
VLANタグ付けは、単一のネットワークを複数の仮想ネットワークに分割する方法であり、それぞれに独自のブロードキャストドメインがあります。これは、各イーサネットフレームにVLANタグを追加することによって行われます。このフレームは、フレームが属するVLANを識別します。 VLANタグ付けはレイヤー2テクノロジーです。つまり、イーサネットプロトコルと同じレベルで動作することを意味します。
一方、複数のIPアドレスを単一のネットワークインターフェイスに割り当てることは、レイヤー3テクノロジーです。これは、複数のIPアドレスを使用してネットワークインターフェイスを構成することによって行われます。それぞれが異なるサブネットに属します。これにより、インターフェイスは複数のネットワーク上のデバイスと通信できます。
2つのテクノロジーは、多くの場合、安全で柔軟なネットワーク環境を作成するために一緒に使用されます。たとえば、企業はVLANを使用してネットワークを異なる部門に分割し、複数のIPアドレスを各ネットワークインターフェイスに割り当てて、デバイスが複数の部門と通信できるようにする場合があります。
以下は、VLANタグ付けと複数のIPアドレスを単一のネットワークインターフェイスに割り当てることの重要な違いを要約するテーブルです。
これらの手順を完了した後、VLANモジュールをロードし、LinuxシステムにVLANを構成するために使用できる必要があります。 VLANサブインターフェイスの作成と、必要に応じてVLANタグ付けを構成することを進めることができます。
NetPlan構成ファイルは、通常、/etc/netplan/ディレクトリに配置され、.yaml拡張機能で終了します。
すでに構成ファイルがある場合があります。そうでない場合は、作成できます。 NanoやVIMなどのテキストエディターを使用して、構成ファイルを編集します。
$ sudo nano /etc/netplan/01-netcfg.yaml
01-netcfg.yamlを独自の構成ファイルに置き換えます。
NetPlan構成ファイルで、その名前、親インターフェイス(VLANが関連付けられる物理インターフェイス)、およびVLAN IDを指定して、VLANインターフェイスを定義します。
これがYAML構成の例です。
ネットワーク: バージョン:2 レンダラー:NetworkD イーサネット: ens18: DHCP4:いいえ アドレス: -192.168.1.40/24 ルート: - へ:デフォルト 経由:192.168.1.101 名前サーバー: アドレス:[8.8.8.8、8.8.4.4] vlans: VLAN10: ID:10 リンク:ens18 アドレス:[192.168.10.2/24]
上記の構成ファイルで、独自の構成に一致するネットワーク設定を交換します。
次の構成に示すように、複数のVLANを定義することもできます。各VLANに一意の名前とIPアドレスを使用していることを確認してください。
重要:
NetPlan YAML構成ファイルの適切なラインインデントは、読みやすさと正確性に不可欠です。 YAMLはスペースを使用してデータ構造を表すため、一貫した明確なインデントが不可欠です。
NetPlan構成ファイルの変更を保存し、テキストエディターを終了します。次に、NetPlanコマンドを使用して構成を適用します。
$ sudo netplanが適用されます
このコマンドは、VLANセットアップを含む新しいネットワーク構成を適用します。
VLANインターフェイスが作成されており、IPコマンドを使用して正しく機能していることを確認できます。
$ ip addr show vlan10 $ ip link show vlan10
「VLAN10」をVLANインターフェイス名に置き換えます。これらのコマンドは、VLANインターフェイスとそのIP構成に関する情報を表示する必要があります。
それでおしまい! NetPlanを使用してVLANタグ付けを構成しました。必要に応じて、VLAN ID、IPアドレス、物理インターフェイス名を含む、特定のネットワークセットアップに構成を適応させてください。
VLANインターフェイスを削除するには、NetPlan構成ファイルのVLANの対応するセクションを削除するだけです。
変更を加える前に、NetPlan構成ファイルのバックアップを作成することをお勧めします。これにより、何か問題が発生した場合は、元の構成に簡単に戻すことができます。
$ sudo cp /etc/netplan/01-netcfg.yaml /etc/netplan/01-netcfg.yaml.backup
次に、テキストエディターを使用してNetPlan構成ファイルを開きます。
$ sudo nano /etc/netplan/01-netcfg.yaml
削除するVLANのセクションを見つけます。それはVLANの下でのサブセクションになります:そして、次のようになります:
vlans: VLAN10: ID:10 リンク:eth0 アドレス:[192.168.10.2/24]
VLANのセクション全体を削除します。ファイルを保存して閉じます。
実行して変更を適用します。
$ sudo netplanが適用されます
ネットワークインターフェイスをチェックすることにより、VLANが正常に削除されたことを確認してください。
$ ip a
VLANインターフェイス(例、VLAN10)はリストされなくなります。
LinuxシステムでNMCLI(NetworkManagerコマンドラインインターフェイス)でVLANタグ付けを構成するには、次の手順に従ってください。
VLANモジュール(8021Q)がLinuxにロードされているかどうかを確認するには、ロードされたカーネルモジュールをリストするLSMODコマンドを使用できます。 VLANモジュールがロードされているかどうかを確認する方法は次のとおりです。
端末を開き、次のコマンドを実行します。
$ lsmod | GREP 8021Q
VLANモジュールがロードされている場合、「8021Q」を含む出力が表示されます。出力が表示されない場合、モジュールがロードされていないことを意味します。
VLANモジュールがロードされていないことがわかった場合は、ModProbeコマンドを使用して手動でロードできます。
$ sudo modprobe 8021q
このコマンドを実行した後、LSMOD |を使用してそのステータスをもう一度確認できます。 GREP 8021Q。ロードされている場合、モジュールが出力にリストされていることがわかります。
Linuxシステムのシステムブート中にVLANモジュール(8021Q)を永続的にロードするには、次の手順に従うことができます。
システムブート中に自動負荷のモジュールを指定するために使用される構成ファイルを決定します。このファイルの場所は、Linuxディストリビューションに基づいて異なる場合があります。
Red Hat/Centosの場合:
ファイルは通常、/etc/modules-load.d/modules.confです。
ubuntu/debianの場合:
/etc/modules-load.d/ディレクトリにカスタム.confファイルを作成します。
管理特権を持つテキストエディターを使用して構成ファイルを開きます(例、Sudo NanoまたはSudo VI)。
構成ファイルに、ブートでロードするVLANモジュール(8021Q)を指定する行を追加します。例えば:
8021q
このエントリを追加した後、ファイルを保存します。
構成を適用します:
構成ファイルを編集した後、変更を適用する必要がある場合があります。一部のシステムでは、これはブート中に自動的に行われます。ただし、SystemCTLコマンドを使用して変更を手動で適用できます。
Red Hat/Centosの場合:
$ sudo systemctl restart systemd-modules-load
ubuntu/debianの場合:
$ sudo Systemctl RestArt SystemD-Modules-Load.Service
モジュールの読み込みを確認します。
VLANモジュールがブートにロードされていることを確認するには、LSMODコマンドを使用してそのステータスを確認するか、関連するメッセージのシステムログを確認できます。
$ lsmod | GREP 8021Q
モジュールが出力にリストされている場合、ブートプロセス中に正常にロードされたことを意味します。
これらの手順に従って、VLANモジュールを構成して永続的にロードすることにより、システムが起動するたびにモジュールが自動的にロードされ、手動でロードする必要がないことを確認します。
ネットワークマネージャーがインストールされ、システムに実行されていることを確認してください。次のコマンドを使用して、ネットワークマネージャーのステータスを確認できます。
$ SystemCtl Status NetworkManager
インストールまたは実行されていない場合は、Distributionのパッケージマネージャーを使用してインストールして起動できます(たとえば、Debian/UbuntuまたはYum on Centos/Rhelでapt)。
VLANのベースとして使用する物理ネットワークインターフェイスを特定します。次のコマンドを使用して、利用可能なすべてのネットワークインターフェイスをリストできます。
$ nmcliデバイスステータス
サンプル出力:
デバイスタイプ状態接続 ENS18イーサネット接続された有線接続1 LOLOOPBACKが管理されていない -
ENS18など、使用するインターフェイスを探してください。
次に、VLANインターフェイスを作成します。この例では、ETH0にID 10のVLANを作成すると仮定しましょう。
$ sudo nmcli con add type vlan con-name vlan10 ifname vlan10 dev ens18 id 10
次に、VLANインターフェイスにIPアドレス、ゲートウェイ、およびDNSを割り当てます。
例えば:
$ sudo nmcli接続は、vlan10 ipv4.addresses 192.168.10.2/24を変更します $ sudo nmcli接続は、vlan10 ipv4.gateway 192.168.10.1を変更します $ sudo nmcli接続は、vlan10 ipv4.dns 8.8.8.8を変更します $ sudo nmcli接続vlan10 ipv4.methodマニュアルを変更します
上記のコマンドでは、ネットワーク設定を独自に置き換えます。
次のコマンドを使用してVLAN接続をアクティブにします。
$ sudo nmcli接続up vlan10
VLAN10をVLAN接続の名前に置き換えます。
NMCLIを使用して、構成を確認できます。
$ nmcli接続はvlan10を表示します
このコマンドは、そのステータスと構成されたプロパティを含むVLAN接続の詳細を表示します。
NMCLI Con Modifyコマンドを使用して設定を変更できます。 VLANを削除します。たとえば、vlan10、コマンドは次のとおりです。
$ sudo nmcli con delete vlan10
それでおしまい! LinuxシステムでNMCLIを使用してVLANタグ付けを構成しました。 IPアドレス、ゲートウェイ、DNS設定など、特定のネットワークのセットアップと要件に構成を適応させてください。
VLANモジュール(802.1Q)がLinuxシステムにロードされていることを確認するには、次の手順に従うことができます。
VLANモジュールが既にロードされているかどうかを確認するには、ロードされたカーネルモジュールをリストするLSMODコマンドを使用できます。端末を開いて実行します。
$ lsmod | GREP 8021Q
サンプル出力:
8021Q 45056 0 GARP 20480 1 8021Q MRP 20480 1 8021Q
「8021Q」を含む出力が表示されている場合、VLANモジュールがすでにロードされていることを意味します。
LSMODコマンドに802.1Qモジュールが表示されない場合、ModProbeコマンドを使用して手動でロードできます。端末を開いて実行します。
$ sudo modprobe 8021q
このコマンドは、VLANモジュールをカーネルにロードします。エラーメッセージが表示されない場合は、モジュールを正常にロードする必要があります。
VLANモジュールが起動時に自動的にロードされるようにするには、/etc/modulesファイルに追加するか、/etc/modules-load.d/ディレクトリで構成ファイルを作成できます。たとえば、 /etc /モジュールに追加するには、実行します。
$ echo '8021q' | sudo tee -a /etc /モジュール
これにより、システムの起動中に自動的にロードされるモジュールのリストに「8021Q」が追加されます。
VLANタグを構成する前に、ネットワークインターフェイスの名前を見つける必要があります。
IP Link Showまたはifconfigコマンドを使用して、使用可能なネットワークインターフェイスをリストできます。通常、これらのインターフェイスには、ENP0SXまたは、ENSXまたはETHXなどの名前があります。
$ IPリンクショー
サンプル出力:
1:lo:<loopback> mtu 65536 qdisc noqueue状態不明モードデフォルトグループデフォルトqlen 1000 リンク/ループバック00:00:00:00:00:00:00:00:00:00:00 2:<strong><mark> ens18</mark> :<broadcast> mtu 1500 qdisc fq_codel upモードデフォルトグループデフォルトqlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF altname enp0s18</broadcast></strong></loopback>
上記の出力にあるように、 Ens18という名前の1つのネットワークインターフェイスがあります。
IPコマンドを使用して、物理ネットワークインターフェイスのVLANサブインターフェイスを作成します。物理インターフェイスの名前(例、ENS18)と目的のVLAN IDに置き換えます。
$ sudo ip link add link ens18 name vlan10タイプvlan id 10
$ sudo ip link add link ens18 name vlan20タイプvlan id 20
VLANサブインターフェイスにIPアドレスを割り当てます。
$ sudo ip addrは192.168.10.2/24 dev vlan10を追加します
$ sudo ip addr追加192.168.20.2/24 dev vlan20
$ sudo ip link set dev vlan10 up
$ sudo ip link set dev vlan20 up
同様に、セットアップに必要なVLANを設定できます。
IPコマンドを使用して、VLANのIPアドレスが正しく構成されているかどうかを確認します。
$ ip a 1:lo:<loopback> mtu 65536 qdisc noqueue state unknownグループデフォルトqlen 1000 リンク/ループバック00:00:00:00:00:00:00:00:00:00:00 INET 127.0.0.1/8スコープホストLO valid_lft永遠にpreferred_lft永遠に INET6 :: 1/128スコープホスト valid_lft永遠にpreferred_lft永遠に 2:ens18:<broadcast> mtu 1500 qdisc fq_codel state up groupデフォルトqlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF altname enp0s18 INET 192.168.1.40/24 BRD 192.168.1.255 Scope Global Noprefixroute ens18 valid_lft永遠にpreferred_lft永遠に INET6 FE80 :: BFCF:B9D3:60DE:AF1B/64スコープリンクnoprefixroute valid_lft永遠にpreferred_lft永遠に 3:<strong><mark> vlan10@ens18</mark> :<broadcast> mtu 1500 qdisc noqueue state upグループデフォルトqlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF inet<strong><mark> 192.168.10.2/24</mark> スコープグローバルENS18.10 valid_lft永遠にpreferred_lft永遠に INET6 FE80 :: 6C26:BFF:FE8E:338C/64スコープリンク valid_lft永遠にpreferred_lft永遠に 4:<strong><mark> vlan20@ens18</mark> :<broadcast> mtu 1500 qdisc noqueue state upグループデフォルトqlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF inet<strong><mark> 192.168.20.2/24</mark> スコープグローバルENS18.20 valid_lft永遠にpreferred_lft永遠に INET6 FE80 :: 6C26:BFF:FE8E:338C/64スコープリンク valid_lft永遠にpreferred_lft永遠に</strong></broadcast></strong></strong></broadcast></strong></broadcast></loopback>
上記の出力にあるように、IPアドレス192.168.10.2/24と192.168.20.2/24を備えた2つのVLAN、つまりVLAN10とVLAN20をそれぞれ作成しました。
IP AddR Showコマンドを使用して、特定のVLANのIPアドレスのみを表示することもできます。たとえば、VLAN10のIPアドレスを表示するには、実行してください。
$ ip addr show vlan10 3:vlan10@ens18: mtu 1500 qdisc noqueue state upグループデフォルトqlen 1000 Link/Ether 6E:26:0B:8E:33:8C BRD FF:FF:FF:FF:FF:FF inet<strong><mark> 192.168.10.2/24</mark> BRD 192.168.10.255 Scope Global Noprefixroute ens18.10 valid_lft永遠にpreferred_lft永遠に INET6 FE80 :: 6C26:BFF:FE8E:338C/64スコープリンク valid_lft永遠にpreferred_lft永遠に</strong>
これがVLANタグ付けに関するFAQ(よくある質問)です。
Q:VLANタグ付けとは何ですか?A:VLANタグ付けは、物理ネットワークを複数の仮想ネットワークまたはVLANに論理的に分割できるネットワークテクノロジーです。特別なタグをイーサネットフレームに追加して、特定のフレームが属するVLANを識別します。
Q:VLANタグ付けの目的は何ですか?A:VLANタグ付けは、ネットワークセグメンテーション、トラフィックアイソレーション、ブロードキャスト制御、サービス品質(QOS)優先順位付け、ネットワークセキュリティの改善など、いくつかの目的に役立ちます。
Q:VLANタグ付けはどのように機能しますか?A:VLANタグ付けは、データリンクレイヤー(レイヤー2)のイーサネットフレームに4バイトタグを追加して、VLAN IDを示します。ネットワークデバイスはこのタグを使用して、フレームが属するVLANを決定します。
Q:VLANでIPアドレスクラス(クラスAやクラスCなど)を混ぜることはできますか?A:はい、同じVLAN内の異なるクラスからIPアドレスを割り当てることができます。 VLANはIPアドレスクラスに依存しておらず、適切なサブネットマスクを備えたIPアドレス範囲を使用できます。
Q:異なるVLANのデバイスは、デフォルトで互いに通信しますか?A:いいえ、異なるVLANのデバイスは、デフォルトで互いに通信しません。 VLANは互いに分離されており、通信にはルーターまたはレイヤー3デバイスがそれらの間のトラフィックをルーティングする必要があります。
Q:LinuxでVLANタグ付けを構成するにはどうすればよいですか?A:LinuxでVLANタグ付けを構成するには、IPコマンドなどのツールまたはNetPlanなどの構成ファイルを使用できます。物理インターフェイスにVLANサブインターフェイスを作成し、VLAN IDを割り当て、必要に応じてIPアドレスを構成します。
Q:マネージドスイッチでVLANタグ付けを構成できますか?A:はい、ほとんどの管理されたスイッチはVLANタグ付けをサポートしています。 VLANを構成し、ポートをVLANに割り当て、VLAN通信を容易にするためにマネージドスイッチでVLANトランクを設定できます。
Q:VLANタグ付けと単一のインターフェイス上の複数のIPアドレスの違いは何ですか?A:VLANタグ付けは、個別のVLAN IDを持つ個別の仮想ネットワークを作成しますが、単一のインターフェイス上の複数のIPアドレスには、同じネットワークまたはサブネット内の複数のIPアドレスの割り当てが含まれます。 VLANタグ付けは、より良いトラフィックの隔離とセキュリティを提供します。
Q:LinuxシステムにVLANモジュールがロードされているかどうかを確認するにはどうすればよいですか?A:LSMODを使用してVLANモジュールがロードされているかどうかを確認できます。 GREP 8021Qコマンド。出力に「8021Q」が表示された場合、モジュールはロードされます。それ以外の場合は、手動でロードする必要がある場合があります。
Q:VLANモジュールが起動時に自動的にロードされるようにするにはどうすればよいですか?A:ブートでVLANモジュールの自動負荷を確保するには、Linuxディストリビューションの適切な構成ファイルに追加します。たとえば、ubuntuでは、/etc/modules-load.d/に追加できます。
この包括的なガイドでは、LinuxオペレーティングシステムでVLANタグを構成する3つの方法について説明しました。
Linuxネットワーキングでは、VLANタグ付けは、単一の物理ネットワーク内で分離された仮想ネットワークを作成できる便利な手法です。この分離は、セキュリティを改善し、ネットワーク管理を簡素化し、全体的なネットワーク効率を高めます。
ホームネットワークまたは複雑なエンタープライズ環境を管理するかどうかにかかわらず、LinuxでVLANタグ付けを理解して実装すると、特定のニーズに合わせてネットワークをカスタマイズし、機能とセキュリティの両方を強化できます。
以上がLinuxでVLANタグを構成する方法[ステップバイステップガイド]の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。