タグVLAN&KVM サーバを作る① 環境構築


KVMサーバをセットアップする

NIC1つでタグVLANを使って複数サブネットに属させる理由

サーバ用のM/Bや、サーバ機を購入すれば、NICが2つ以上乗っている事は当たり前ですが、サイトの目的がECOなので、低消費電力の為にはNICの数も削減させます。これによって、スイッチのポート数、LANケーブル、サーバ側のNICの利用数を削減してECOを目指します。

今回は、5000~6000円程度で購入可能なVLAN、QOS機能を搭載したNetGearのProSafe Plusスイッチ(GS116EGS108E)と連携して、1つのNICしか持っていないサーバで、タグVLAN用のDMZネットワークを用いて外向けサーバを運用するための準備をします。

なので、eth0.2やbr0.2等のインターフェースが出てきますが、これらはタグ付きのパケットを受け取るインターフェースとなり、bridge-utilsをインストールすることにより利用可能となります。

CPUが仮想化をサポートしているかの確認

OS側の設定を行っていく前に、KVMサーバのセットアップで注意する事がいくつかあるので、事前に確認しておきます。

  • BIOSによる仮想化サポートが有効である
  • CPUが仮想化をサポートしている
  • メモリは十分に積んでいる(8GB以上を推奨)

KVMが使えるようにIntelのCPUがサポートしている機能にVMX(仮想化拡張機能)が含まれているかを確認する。(Celeron等の一部のCPUは対応していないと思います)

sudo cat /proc/cpuinfo | grep vmx
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt tsc_deadline_timer xsave lahf_lm arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms

タグVLANとKVMに必要なパッケージをインストールする

sudo apt-get install bridge-utils
sudo apt-get install qemu-kvm virt-manager virt-viewer
sudo apt-get install vlan
sudo modprobe 8021q
sudo echo "8021q" >> /etc/modules

virbr0を使わない場合には削除する

KVMをインストールすると、自動的にvirbr0が作られますが、ブリッジを使うため不要なので削除します(必要なら残してください)。

sudo virsh net-list
名前               状態     自動起動  永続
----------------------------------------------------------
default              動作中  はい (yes)  はい (yes)

virbr0を削除する。

sudo virsh net-destroy default
sudo virsh net-autostart default --disable
sudo virsh net-list --all

interfacesファイルを修正してタグVLANとブリッジ用インターフェースを作成する

  • eth0を自動起動するようにする。
  • vlan-raw-deviceの設定でタグVLANをに対応するeth0.2を作る。
  • ブリッジインターフェースであるbr0、br0.2を作る

# /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet manual

auto eth0.2
iface eth0.2 inet manual
vlan-raw-device eth0

auto br0
iface br0 inet static
address 172.20.1.250
netmask 255.255.255.0
network 172.20.1.0
broadcast 172.20.1.255
gateway 172.20.1.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0

auto br0.2
iface br0.2 inet static
address 172.20.2.250
netmask 255.255.255.0
network 172.20.2.0
broadcast 172.20.2.255
dns-nameservers 172.20.2.230
bridge_ports eth0.2
bridge_stp off
bridge_fd 0
bridge_maxwait 0

ネットワークを再起動させて、eth0.2、br0、br0.2のネットワーク設定が出来たことを確認します。pingが通ることも、確認しておいてください。

sudo service networking restart
ifconfig

起動時にiptablesの設定がされるように設定する

iptablesのルールについては、環境毎となり、ここで説明すると長くなってしまうため、『Ubuntu&タグVLAN&KVM環境でのiptablesの設定』に記事を分離しました。iptablesの設定をする上での目的は、仮想マシンが攻撃され、乗っ取られた場合でも、ホストOSに対しての通信を制限する事です。

終了時にゲストOSをシャットダウンさせる

sudo vi /usr/lib/libvirt/libvirt-guests.sh
URIS=default
ON_BOOT=start
ON_SHUTDOWN=shutdown
SHUTDOWN_TIMEOUT=300
PARALLEL_SHUTDOWN=0
START_DELAY=30
BYPASS_CACHE=0

以上でKVMサーバのセットアップは完了です。

タグ付けされた , . ブックマークする へのパーマリンク.

コメントを残す

メールアドレスが公開されることはありません。