独自のMacとインターフェースするためのVLANの追加 - さまざまなLinuxディストリビューションのさまざまな構文

独自のMacとインターフェースするためのVLANの追加 - さまざまなLinuxディストリビューションのさまざまな構文

VLANの既存のインターフェイスにサブインターフェイスを追加する必要があります。さらに、サブインターフェイスには独自のMACアドレスが必要です。マニュアルページを見ると、この構文がCentOS / RHで正しく機能することがわかりました。

/usr/sbin/ip link add link eth0 name eth0.1 address 00:11:22:33:44:5F type vlan id 1

インターネット検索では、一部のディストリビューションでは、このコマンドを実行するために「vlan」の代わりに「macvlan」キーワードを使用することがわかりました。 vlanキーワードの代わりにmacvlanキーワードを使用するLinuxディストリビューションを知っている人はいますか?

答え1

ip次のコマンドを使用してVLAN MACアドレスを割り当てることができます。

# ip link add link <interface> name <vlan interface name> address <mac> type vlan id <vlan ID>

例:

# ip link add link ens33 name myvlan123 address 00:0c:29:ed:ff:ff type vlan id 123

確認する:

# ip a
....
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:ed:ff:ea brd ff:ff:ff:ff:ff:ff
    inet 192.168.101.180/24 brd 192.168.101.255 scope global ens33
       valid_lft forever preferred_lft forever
3: myvlan123@ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 00:0c:29:ed:ff:ff brd ff:ff:ff:ff:ff:ff
    inet6 fe80::2fda:8335:9f2:b9c7/64 scope link 
       valid_lft forever preferred_lft forever

デフォルトのインターフェイスは00:0c:29:ed:ff:ea現在vlanです00:0c:29:ed:ff:ff

より多くのヒントを見ることができます:

# ip link help

また、VLANカーネルモジュールがロードされていることを確認してください。

# lsmod | grep -i 8021q

一部のディストリビューションはvlanその名前にちなんで命名することができます。インストールvlanまたは8021qパッケージ(pacman、yum、apt、..)が必要な場合があります。

答え2

vlanとmacvlanは2つの異なるものです。 VLANは、ブロードキャストドメイン(802.1q)を分離するための共通規格です。これは、物理ネットワークに複数の論理ネットワークを作成できることを意味します。ネットワークスイッチを含む使用されるすべてのコンポーネントは互換性がなければなりません。

Macvlanは、Linuxシステムで独立した仮想インターフェイスを提供するために使用されます。これは物理インターフェイスとVLANインターフェイスで作成できます。 Macvlanは非標準であり、他のネットワークデバイスとは関係ありません。

まず、例のようにVLANインターフェイスを作成する必要があります。次に、次のように1つ以上のmacvlanインターフェイスを追加する必要があります。

ip link add macvlan1 link eth0.1 type macvlan
ip link add macvlan2 link eth0.1 type macvlan

コマンドを使用して、ip link新しいインターフェイスが作成されたことを確認します。その場合は、ip addr次のコマンドを使用してIPアドレスを割り当て、インターフェイスを呼び出す必要がある可能性があります。

ip link set dev macvlan1 up
ip link set dev macvlan2 up

質問によると、例ではvlan 1を使用しました。ただし、本番環境では VLAN 1 を使用しないでください。一部のデバイスでは、このIDをVLANがまったくないと解釈することができます。

Macvlanはカーネル2.6.23で実験用に、3.9では本番用に導入されました。 iproute2(ipコマンド)パッケージは長い間macvlanをサポートしてきたため、これはRed Hat 6を含むすべての最新のLinuxディストリビューションで動作します。

関連情報