2014年6月18日水曜日

CentOS 6.5のKVM環境にWindows 8.1をインストールしてみた

  • このエントリーをはてなブックマークに追加


Cent OS 6.5のKVMホストに試しに仮想マシンにWindows 8.1をインストールしてみました。結果、うまくいきませんでした。今後サポートされるようになるでしょう。
一応インストール前に、「virt-install --os-variant list」でサポートされるOSを確認しました。Window 8,8.1がサポートされないようなので、うまくいくのかなぁと思いながら、やってみました。

サポートOS一覧にWindows 8、8.1が存在しません。

  [root@centos01 ~]# virt-install --os-variant list
win7                 : Microsoft Windows 7
vista                : Microsoft Windows Vista
winxp64              : Microsoft Windows XP (x86_64)
winxp                : Microsoft Windows XP
win2k                : Microsoft Windows 2000
win2k8               : Microsoft Windows Server 2008
win2k3               : Microsoft Windows Server 2003
openbsd4             : OpenBSD 4.x
 
virt-installの--os-variantオプションにwin7を設定する、--os-variantを指定しない、二通りやりました。
いずれも仮想マシンが作成されたが、Windows 8.1のインストールには失敗しました。
  [root@centos01 ~]# virt-install \
> --name win81 \
> --ram 768 \
> --vcpus=1 \
> --file=/var/lib/libvirt/images/win81.img \
> --file-size=16 \
> --cdrom=/var/lib/libvirt/images/windows8.1x64.ISO \
> --os-variant=win7 \
> --graphics spice,port=5903,listen=0.0.0.0 --channel spicevmc \
> --autostart \
「virsh edit win81」で確認したところ、OS ElementでRedhatになっていることがわかりました。
   <os>
    <type arch='x86_64' machine='rhel6.5.0'>hvm</type>
    <boot dev='hd'/>
  </os>
Remote Viewerで接続したところ、何秒くらい(感覚では10秒?)以下の画面が表示されました。その後、エラーコードが表示されました。

  

再起動しても改善されませんでした。

2014年6月17日火曜日

KVM環境(CentOS 6.5)で仮想マシンを作成する方法

  • このエントリーをはてなブックマークに追加


KVMホスト上に仮想マシンを作成し、CentOS 6.5をインストールしてみます。

KVMホスト情報
・ネットワーク
    仮想ネットワーク(Default): virbr0 (192.168.122.0/24)
     外部接続用のブリッジ:br0 (10.10.0.0/21)
     host ip 10.10.3.102
・仮想マシン作成に使うISOファイル:/var/lib/libvirt/images/CentOS-6.5-x86_64-bin-DVD1.iso

virt-installにオプションを指定して実行する


・virt-installを実行する。
  [root@centos01 ~]# virt-install \
> --name centos02 \
> --ram 768 \
> --vcpus=1 \
> --file=/var/lib/libvirt/images/centos02.img \
> --file-size=8 \
> --cdrom=/var/lib/libvirt/images/CentOS-6.5-x86_64-bin-DVD1.iso \
> --network bridge=br0 \
> --os-variant=rhel6 \
> --graphics spice,port=5902,listen=0.0.0.0 --channel spicevmc \
> --autostart \
>
WARNING  KVM acceleration not available, using 'qemu'

Starting install...
Creating storage file centos02.img                       | 8.0 GB     00:00
ドメインを作成中...                              |    0 B     00:01
ディスプレイをオープンできません:
利用可能なコマンドラインオプションの完全な一覧を確認するには 'virt-viewer --help' を実行してください
Domain installation still in progress. You can reconnect to
the console to complete the installation process.  

・オプション解説
[root@centos01 ~]# virt-install \
> --name centos02 \    仮想マシン名
> --ram 768 \          割り当てるメモリ768MB
> --vcpus=1 \          割り当てるCPUの数
> --file=/var/lib/libvirt/images/centos02.img \      ディスクイメージファイル
> --file-size=8 \                                     ディスクイメージファイルのサイズ8GB
> --cdrom=/var/lib/libvirt/images/CentOS-6.5-x86_64-bin-DVD1.iso \ ISOファイルからインストール
> --network bridge=br0 \           ネットワーク指定
> --os-variant=rhel6 \               仮想OSの種類( virt-install --os-variant listで確認できる)
> --graphics spice,port=5902,listen=0.0.0.0 --channel spicevmc \     spiceクライアントから接続しグラフィックモードでインストール。5902番ポートを指定
> --autostart \     ホスト起動時に仮想マシンも自動起動     
・virshで確認する。
  [root@centos01 ~]# virsh list
 Id    名前                         状態
----------------------------------------------------
 1     centos02                       実行中  
  [root@centos01 ~]# virsh dominfo centos02
Id:             1
名前:         centos02
UUID:           c4bc7e3d-fc4c-69c2-0a74-bb3c561f41c7
OS タイプ:   hvm
状態:         実行中
CPU:            1
CPU 時間:     109.5s
最大メモリー: 786432 KiB
使用メモリー: 786432 KiB
永続:         はい (yes)
自動起動:   有効にする
管理済み保存: いいえ (no)
セキュリティモデル: selinux
セキュリティ DOI: 0
セキュリティラベル: system_u:system_r:svirt_t:s0:c123,c145 (enforcing)

spiceクライアントから仮想マシンに接続する

今回はWindows 8からspiceで仮想マシンに接続してみます。
SPICEクライアントをここからダウンロードします。

しかし、コマンドプロンプトで以下を実行しても何も表示されません。Windows 8ではspiceクライアントが動かない模様。
  > .\spice -h hostip -p 5902  
Remote Viewerというツールで接続出来ました。ダウンロードはこちらから。http://virt-manager.org/download/
Remote Viewerを起動し、URLに「spice://hostip:port」の形でspice://10.10.3.102:5902を入力します。

図のようなUnable to connect to the graphic serverエラーが表示されます。
telnet 10.10.3.102 5902をテストしてみたところ、接続できないことがわかりました。
KVMホスト側のファイアウォールが有効になっているのではないかと思って、5902 portへの接続を許可しました。で、うまくいきました。

-A INPUT -p tcp -m tcp --dport 5902 -j ACCEPTの一行を/etc/sysconfig/iptablesファイルに追加しました。
※注意REJECTの後ろには追加しないでください。
  [root@centos01 ~]# cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5902 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
  [root@centos01 ~]# service iptables restart
iptables: チェインをポリシー ACCEPT へ設定中filter         [  OK  ]
iptables: ファイアウォールルールを消去中:                  [  OK  ]
iptables: モジュールを取り外し中:                          [  OK  ]
iptables: ファイアウォールルールを適用中:                  [  OK  ]
以下はRemote Viewerで接続した画面です。ここから、通常通り、CentOS 6.5 をインストールできます。


仮想マシンを操作する


仮想マシンを起動する。(小文字大文字区別する)
  # virsh start centos02  
仮想マシンをシャットダウンする。
  # virsh shutdown centos02  
仮想マシンの状態を確認する。
  # virsh dominfo centos02  
仮想マシンの構成情報を編集する。
  # virsh edit centos02  
構成情報を編集することで、CPU、メモリ、ディスクなどの変更もできます。
参考情報はこちら。

2014年6月16日月曜日

Office 2010/2013 ライセンス認証されているかを確認する方法

  • このエントリーをはてなブックマークに追加


Office 2010/2013が正しく認証されているか、どのType(MAK/KMS)の認証でアクティブされているのか、を確認する方法をご紹介します。

以下のステップで行います。
  1. Powershellコマンドプロンプトを起動します。
  2. Office14/Office15フォルダにナビゲートします。
    32bitのOffice、64bitのOSの場合は、 "cd \Program Files (x86)\Microsoft Office\Office15"
    32bitのOffice、32bitのOS;64bitのOffice、64bitのOSの場合は、"cd c:\Program Files\Microsoft\Office15"
  3. ospp.vbsスクリプトを実行する
      cscript.exe ospp.vbs /dstatus  
  4. 出力された情報(LICENSE NAME、LICENSE DESCRIPTIONなど)を確認する


    OfficeProPlusVL_KMS_Client edition,VOLUME_KMSCLIENT などの情報からOffice 2013 ProがKMSホストによってライセンス認証されていることがわかります。
    MAKの場合は、MAK edition、リテールの場合は、Retail editionが表示されるはずです。

Linux KVM 仮想ネットワークの構成

  • このエントリーをはてなブックマークに追加


今日は、KVM環境での仮想ネットワークの構成について、自分なりの理解を書いておきます。
コマンドの実行は、CentOS 6.5での操作です。

KVM環境で仮想ネットワークの種類としては、2種類あります。(個人的な見解で間違っている可能性がある)

1
2
プライベートネットワーク 
外部ネットワーク  

プライベートネットワーク


外部に接続されないブリッジを構成し、プライベートネットワークを構成することで、仮想マシン同士、仮想マシンとホストが通信できるようになります。
KVM環境を構成すると、既定ではlibvirtdデーモンが管理するvirbr0という仮想ブリッジが作成されます。192.168.122.0/24ネットワークが構成されます。
以下のような感じです。

■複数の仮想マシン(VM1~N)に192.168.122.0のネットワークのIPを割り当てる。仮想マシン同士で通信できる。
■virbr0に192.168.122.1が設定されている。仮想マシンとホストで通信できる。
■仮想マシンが外部に接続するには、ホスト側でiptablesを設定する必要がある。
■仮想マシンが増えるごとに、Tapデバイスも増える。仮想マシンが起動されると、ifconfigを実行してvnet0,...vnetNが表示されることを確認できる。

TAP は、イーサネットデバイスをシミュレートし、データリンク層の操作を行う。TUN はネットワーク層をシミュレートするもので、IPパケットなどを操作する。TAPはブリッジ生成に使われ、TUNはルーティングに使われる。

外部ネットワーク


物理NICをブリッジに接続することで、複数の仮想マシンが物理NICを共有物理装置として外部に接続します。

■複数の仮想マシン(VM1~N)に外部IPを割り当てる。外部ネットワークに接続できる。
■物理NICがIPを持っていない。代わりにbr0にIPを割り当てる。

実践してみよう


  • KVMをインストールして、eth0にアドレスを設定します。ifconfigを実行すると、以下のようになります。
  [root@centos01 network-scripts]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:15:5D:01:03:19
          inet addr:10.10.3.102  Bcast:10.10.7.255  Mask:255.255.248.0
          inet6 addr: fe80::215:5dff:fe01:319/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:29935 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3681 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2566351 (2.4 MiB)  TX bytes:379902 (370.9 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:206 (206.0 b)  TX bytes:206 (206.0 b)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:A7:95:B1
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)  
  • 物理NICをブリッジ化します。
1.brctl showコマンドでブリッジの情報を確認します。virbr0しか表示されません。
[cye@centos01 network-scripts]$ brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.525400a795b1       yes             virbr0-nic  
2./etc/sysconfig/network-scripts/ifcfg-eth0ファイルを下記のように書き換えます。
DEVICE=eth0
HWADDR=00:15:5D:01:03:19
TYPE=Ethernet
UUID=668ece27-3426-4b48-a2ee-d67b4f5bf282
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.10.3.102
NETMASK=255.255.248.0
GATEWAY=10.10.0.1  
 ↓↓
DEVICE=eth0
HWADDR=00:15:5D:01:03:19
UUID=668ece27-3426-4b48-a2ee-d67b4f5bf282
ONBOOT=yes
BOOTPROTO=none
BRIDGE=br0
3./etc/sysconfig/network-scriptsの下に、ifcfg-br0ファイルを作成し、以下のように記述します。
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=10.10.3.102
NETMASK=255.255.248.0
GATEWAY=10.10.0.1
ONBOOT=yes  
※注意:Typeのところで、小文字大文字を区別するので、必ずBridgeを記述する必要があります。そうでない(例:BRIDGE)とNetworkサービスを再起動するときに、evice br0 does not seem to be present, delaying initializationというエラーが発生します。

4.ネットワークサービスを再起動します。
  # service network restart  
5.ブリッジ情報を再度確認します。
  [root@centos01 network-scripts]# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.00155d010319       no              eth0
virbr0          8000.525400a795b1       yes             virbr0-nic  
6.ifconfigを実行し、br0などの情報が表示されます。
  [root@centos01 network-scripts]# ifconfig
br0       Link encap:Ethernet  HWaddr 00:15:5D:01:03:19
          inet addr:10.10.3.102  Bcast:10.10.7.255  Mask:255.255.248.0
          inet6 addr: fe80::215:5dff:fe01:319/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2424 errors:0 dropped:0 overruns:0 frame:0
          TX packets:245 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:158386 (154.6 KiB)  TX bytes:21910 (21.3 KiB)

eth0      Link encap:Ethernet  HWaddr 00:15:5D:01:03:19
          inet6 addr: fe80::215:5dff:fe01:319/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:76513 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7464 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6378357 (6.0 MiB)  TX bytes:717361 (700.5 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:4 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:206 (206.0 b)  TX bytes:206 (206.0 b)

virbr0    Link encap:Ethernet  HWaddr 52:54:00:A7:95:B1
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)  
7.仮想マシンを作って、起動したら、ifconfigの結果にvnet0などの情報も確認できます。

2014年6月12日木曜日

WindowsからVNCでCentOS 6.5 に接続する

  • このエントリーをはてなブックマークに追加


Windows 8からVNVでCentOS 6.5に接続するための構成手順をメモしておきます。

■サーバー側の設定
・CentOSホストでVNC Server コンポーネント(TigerVNC)をインストールする。
  # yum install vnc-server  
・インストールされたことを確認する。
  # rpm -qa | grep vnc-server  
  tigervnc-server-1.1.0-8.el6_5.x86_64  
・ホスト側のユーザーアカウントでVNCに接続できるように、パスワードを設定する。例:ユーザー名 cye
  # su - cye  
  $ vncpasswd  
   Password:(パスワードを入力)  
   Verify:(パスワードを再入力)  
・VNCサーバーの設定(/etc/sysconfig/vncservers)をする。vncservers構成ファイルの最後の二行をコメントアウトし、以下のように変更する。
  VNCSERVERS="2:cye"  
  VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp   

下記のように、-localhostが設定されている場合は、VNCクライアントからのUnsecureな接続ができません。接続が拒否される。
Failed To Connect: Connection Refused (10061)"

・設定を反映させるため、VNCサーバーを再起動
  # /etc/init.d/vncserver start  
・iptablesなどファイアウォールを使用している場合は、TCP port 5902などへの接続を許可する必要がある。

■クライアント側の設定
・Windows 8端末にVNCクライアントソフト(VNC Viewer)をインストールする。
ここからダウンロードする

.exeファイルを実行し、インストールする、あるいは、ZIPファイルを解凍し直接実行する。

・VNC Viewerを起動し、VNCサーバーに接続する。
IPと番号:2を入れて接続できる。
2は、/etc/sysconfig/vncserversで設定したDisplay番号2のことです。ファイルに1,3,4のように追加して設定できる。

Connectをクリックすると、暗号化されていない接続という警告画面が表示される。

Continueをクリックし、パスワードの入力画面が表示される。vncpasswdで設定したパスワードを入力する。

EvernoteからメモをBloggerへ投稿してみる

  • このエントリーをはてなブックマークに追加


Evernoteを使っていて、メモを直接Gooble Bloggerに投稿できたらいいなぁと思い、調べてみたら、Evernote側の「メールで送信」という共有機能でできるそうです。

早速試してみました。
1,Bloggerのダッシュボード → 設定 → モバイルとメール でメールアドレスを指定し、有効にする。

2,Evernote側でメモを作って、右上にある「共有」→ メールで送信をクリックする。

メールアドレスと件名を入力し、「送信」をクリックする。

これで終わり。

Evernote はあなたがすべてを記憶し、手間をかけずに整理できるようにお手伝いします。Evernote をダウンロードする

2014年6月4日水曜日

Certreq.exeで証明書を生成する

  • このエントリーをはてなブックマークに追加


久しぶりの投稿です。
今日は、certreq.exeコマンドで証明書要求を作成し、証明機関(CA)に送信し、証明書を要求する手順をご紹介します。
証明書の要求(登録)には、幾つか方法があります。
・Web登録ページ(例:http://certserver/certsrv)を使用して証明書を生成する
・mmcの証明書スナップインで「新しい証明書の要求」からCAに証明書を要求する。
・今日紹介するcertreq.exeで要求する。

ステップとしては、以下になります。
1、証明書テンプレートを確認する。
「サブジェクト名」で「要求に含まれる」をチェックする必要があります。
image
チェックされていない場合は、要求が失敗し、以下のエラーが表示されます。
証明書は発行されていません (拒否) ポリシー モジュールによって拒否されました DNS
名は利用できないのでサブジェクト代替名に追加できません。 0x8009480f (-2146875377)
証明書要求のプロセッサ: DNS 名は利用できないのでサブジェクト代替名に追加できませ
ん。 0x8009480f (-2146875377)
ポリシー モジュールによって拒否されました


2、証明書設定情報を保存する.infファイルを作成する。
参照情報はこちら Creating a RequestPolicy.inf file
[NewRequest]
Subject="cn=test.contoso.local"
Exportable=TRUE
KeyLength=4096
KeySpec=1
KeyUsage=0xf0
MachineKeySet=TRUE
[RequestAttributes]
CertificateTemplate=wss
[Extensions]
2.5.29.17="{text}"
_continue_ = "dns=test.contoso.com&"
_continue_ = "dns=www.contoso.com"
※注意
サブジェクトの別名の設定について、
Vista、7、Windows Server 2008、2008 R2の場合は、上記のように[Extensions]にサブジェクトの別名を指定します。
XP、Windows Server 2003、2003 R2の場合は、以下のように[RequestAttributes]に記述します。
[RequestAttributes]
SAN="dns=test.consoto.com&dns=www.contoso.com"

3、.infファイルから.reqファイルを生成する
certreq.exe -new -f .\cert.inf .\cert.req
image

4、.reqファイルをCAに送信し、証明書を生成する
certreq.exe -submit -q -f –config  <CA Name>  <req file>  <cer file>
image

発行された証明書は以下の様なかんじです。
image

certreq.exeを使って自動化できるので、かなり手間を省けると思います。