テリロジー 「半公式」エンジニアブログ(仮)

株式会社テリロジー コンサルティング&ソリューション技術部

【Linux】仮想インターフェース設定

こんにちは、はじめまして。コンサルティング&ソリューション技術統括部の樋口です。

普段とは毛色を変えて、Linuxのちょっとした技についてお話したいと思います。

みなさんは、LinuxでLANに仮想インターフェースを割り当てるときにどのような方法を利用されていらっしゃいますか?

今回は、debian系のディストリビューションで仮想インターフェースを設定する方法を紹介したいと思います。

 

仮想インターフェース設定方法

通常、仮想インターフェースを追加する際は、/etc/network/interfaces へ下記の様に仮想インターフェースの設定を追記して、service networking restart コマンドを実行するだけかと思います。

 

auto eth3
iface eth0 inet static
 address 192.168.0.10
 netmask 255.255.255.0
 network 192.168.0.0
 broadcast 192.168.0.255

auto eth3_0
iface eth0_0 inet static
 address 192.168.10.20
 netmask 255.255.255.0
 network 192.168.10.0
 broadcast 192.168.10.255

しかし、これでは仮想インターフェースにIPアドレスは設定ができても、MACアドレスは実インターフェースのアドレスを共有していて、仮想MACアドレスをアサインする事ができません。

MACアドレスを指定して仮想インターフェースを作成するには、下記の様に「ip」コマンドを使用する必要があります。

 

ip link add link 実インターフェース名 address MACアドレス 仮想インターフェース名 type macvlan


実行例

ip link add link eth3 address 52:54:00:11:11:11 eth3_0 type macvlan

 ※上記例では、eth3 に eth3_0 の名前で MACアドレスが 52:54:00:11:11:11 のインターフェースを作成しようとしています

 

コマンド実行後に、仮想インターフェースにIPアドレスの設定をおこなえば、仮想MACアドレスを仮想IPアドレスを設定することが可能です。

 

 

 仮想インターフェース削除方法

 

設定した仮想インターフェースを削除するのには、設定した時と逆の手順にて削除する必要があります。

まずは、仮想インターフェースに設定したIPアドレスを解除します。

/etc/network/interfaces へ記述した設定の削除をおこないます。

 

auto eth3
iface eth0 inet static
 address 192.168.0.10
 netmask 255.255.255.0
 network 192.168.0.0
 broadcast 192.168.0.255

auto eth3_0                          ←削除
iface eth0_0 inet static          ←削除
 address 192.168.10.20         ←削除
 netmask 255.255.255.0         ←削除
 network 192.168.10.0           ←削除
 broadcast 192.168.10.255     ←削除

 

上記を削除後、service networking restart コマンドを実行し、IPアドレスを削除します。

削除後、仮想インターフェースにアサインしたMACアドレスを削除するため、下記コマンドを実行します。

 

ip link del link 実インターフェース名 address MACアドレス 仮想インターフェース名

 

 実行例

ip link del link eth3 address 52:54:00:11:11:11 eth3_0

 

実行後、ifconfig -a コマンドから、仮想インターフェースが消えていることを確認します。

 

みなさん、いかがでしたでしょうか?

案外、簡単に仮想インターフェースにMACアドレスを割り当てることができましたね。

この内容が、みなさんのお役立ていただければ、幸いです。

それでは、失礼いたします。