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ディストリビューションで動作します。