ブログトップ 記事一覧 ログイン 無料ブログ開設

理想未来はどうなった? このページをアンテナに追加 RSSフィード

2013-07-17

ConoHaを使い始めたときにやっておくべきこと(前編)

ConoHa設定時のメモ。
ConoHaだけでなく、RHELLinux全般に通じる設定です。

sshホストキーの再生成


OSを再インストールした際に気がついたのですが、OSを再インストールしてもホストキーが変わらないらしく何の警告もなく繋げてしまう。
おそらくテンプレートイメージにホストキーが入っていて、全利用者同じホストキーが使われているのではないかと思います。

この問題は既に世の中的に言われていることのようです。

no title
404 Not Found

対策としてはsshホストキーを再生成すること。
ホストキーを削除して、sshdを再起動しなおせば再生成されます。

$ sudo rm -f /etc/ssh/ssh_host_*key*
$ sudo service sshd restart
Stopping sshd:                                             [  OK  ]
Generating SSH1 RSA host key:                              [  OK  ]
Generating SSH2 RSA host key:                              [  OK  ]
Generating SSH2 DSA host key:                              [  OK  ]
Starting sshd:                                             [  OK  ]

Macなどsshコマンドで繋いでいる場合、ホストキーが変わると~/.ssh/known_hostsの公開鍵も変更しなければなりません。
以下は、クライアントでの作業です。

$ ssh-keygen -R XXX.XXX.XXX.XXX
$ ssh XXX.XXX.XXX.XXX

ちなみに小ネタですがホストキーのチェックを無くすには、次の方法でできます。

$ ssh XXX.XXX.XXX.XXX -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null 

ホスト名の変更


初期だとIPアドレスがホスト名になっているので変更します。

# hostname myconoha
# sed -i -e '/^HOSTNAME=.*$/d' /etc/sysconfig/network
# echo 'HOSTNAME='`hostname` >> /etc/sysconfig/network
# sed -i -e 's/^\(127\.0\.0\.1.*\)$/\1 '`hostname`'/g' /etc/hosts

ユーザーの作成


rootログインするのは宜しくないので、ユーザーを作成します。

# useradd -G wheel myuser
# passwd myuser
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

秘密鍵及び公開鍵の生成。
既にある鍵を使う場合は、~/.ssh/authorized_keys に秘密鍵を追記します。

# su - myuser
$ ssh-keygen -t rsa
$ mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys
$ cat ~/.ssh/id_rsa
$ rm -f  ~/.ssh/id_rsa
$ exit

rootになれるユーザーをwheelグループに限定する

デフォルトだと誰でもrootになれるので変更しておきます。

# sed -i -e "s/^#\(auth\s\+required\s\+pam_wheel\.so.*\)/\1/g" /etc/pam.d/su
# echo "SU_WHEEL_ONLY yes" >> /etc/login.defs

wheelがsudoを使えるようにしておく


# sed -i -e "s/^#\s\+\(%wheel\s\+ALL\=(ALL)\s\+ALL\)/\1/g" /etc/sudoers

この時点で作成したユーザーでログインしてrootになれること、sudoコマンドを使えることを確認しておきます。

iptablesの設定

/etc/sysconfig/iptablesを編集しiptablesの設定を行います。
下記の例ではsshd、httpd、MTA、MRAで使用するポートをを空けていますが、必要に応じてカスタマイズして下さい。

sshはできるだけ不要な攻撃を避けるため22から10022にへのポート変更を考慮しています。
sshdの設定変更前に22番を閉じてしまうと失敗した時に繋げなくなってしまうので、両方空けておいて成功後に22番を閉じるのが良いかと思います。
(ポートを変更しない場合は、下記設定の10022番ポートは必要ありません。)

又、sshブルートフォース対策として同一IPから180秒に5回アクセスがあった場合、該当IPからのアクセスを600秒間REJECTするようにしています。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:SSHBRUTEFORCE - [0:0]
:RH-Firewall-1-INPUT - [0:0]
:SSHCHECK - [0:0]
-A INPUT -p tcp -m multiport --dport 22,10022 -j SSHCHECK
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A SSHBRUTEFORCE -m recent --set --name badSSH --rsource -j LOG --log-prefix "iptables SSH REJECT " --log-level 7
-A SSHBRUTEFORCE -j REJECT --reject-with icmp-port-unreachable
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -p tcp  -m multiport --dport 22,10022 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m multiport --dport 25,465,587 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m multiport --dport 80,443 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m multiport --dport 110,143,993,995 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A SSHCHECK -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state RELATED,ESTABLISHED -j ACCEPT
-A SSHCHECK -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m recent --rcheck --seconds 600 --name badSSH --rsource -j REJECT --reject-with icmp-port-unreachable
-A SSHCHECK -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m recent --rcheck --seconds 180 --hitcount 5 --name sshconn --rsource -j SSHBRUTEFORCE
-A SSHCHECK -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m recent --set --name sshconn --rsource
-A SSHCHECK -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
COMMIT

変更後、下記のコマンドで設定を反映させます。

# service iptables restart

sshdの設定強化


sshdの設定も変えておきます。

# sed -i -e 's/^\(PasswordAuthentication\).*/\1 no/' /etc/ssh/sshd_config
# sed -i -e 's/^#\(PidFile .*\)$/\1/' /etc/ssh/sshd_config
# sed -i -e 's/^\(X11Forwarding\) .*$/\1 no/' /etc/ssh/sshd_config
# sed -i -e 's/^#\(ClientAliveInterval\) .*$/\1 15/' /etc/ssh/sshd_config
# sed -i -e 's/^#\(ClientAliveCountMax\) .*$/\1 3/' /etc/ssh/sshd_config
# sed -i -e 's/^\(PermitRootLogin\) .*$/\1 no/' /etc/ssh/sshd_config
# sed -i -e 's/^\(UsePAM\) .*$/\1 no/' /etc/ssh/sshd_config
# service sshd restart

sshdのポートを22番以外に変更した場合

sshブルートフォース攻撃対策として、sshの接続ポートをデフォルトの22番から10022番に変更しておきます。

# sed -i -e 's/^#\(Port\) .*$/\1 10022/' /etc/ssh/sshd_config

設定後、sshdを再起動して変更を反映。

# service sshd restart

sshの接続を切らずに、別のターミナルを開いて10022番ポートで問題なく繋がるか確認します。
問題なく繋がるか確認し、問題ないようであればiptablesの22番ポートを塞ぎます。

# sed -i -e 's/22,10022/10022/g' /etc/sysconfig/iptables
# service iptables restart

今日のところはここまで。

関連記事

GMOの新VPS、ConoHaを契約してみた - 理想未来はどうなった?
CentOS 6.xにCheckInstallをインストール、RPMを生成する際のコツ - 理想未来はどうなった?
ddの進行状況を調べる方法 - 理想未来はどうなった?
ポートを空けているプロセスを調べる - 理想未来はどうなった?
使用しているマシンの仮想化機能対応状況の確認方法(AMD編) - 理想未来はどうなった?

2013-07-14

GMOの新VPS、ConoHaを契約してみた

VPSネタ。
以前よりお名前VPS(VZ)を契約していましたが、ConoHAに乗り換えすることにしました。

f:id:pcmaster:20130714050411p:image

乗り換えした理由としては、次の通りです。

  1. 継続して使うより新規で契約した方が安くなった。
  2. CentOS 5系を使い続けることは、手間もかかる。
  3. 技術的にも自分の成長にならない。
  4. ネタとして美味しい。

1はコスト的な問題です。
お名前VPS(VZ)も契約当時は安い価格でしたが、各社の企業努力により安くて性能の良いVPSが増えたことです。
とは言え、古い契約のまま使い続けても恩恵得られず、費用を下げるには乗り換えなければなりません。

2は構成されているソフトウェアが古いので、サードパーティリポジトリを使ったり、野良ビルドする必要があるので手間が掛かるようになって来たこと。

3はCentOS 5系は既に6年使ってきているので、今後使い続けても何の成長にもならないということ。

4はお約束です。
当初はさくらインターネットでも良いかなと思ったのですが、ネタ的にConoHaにしました。

価格/スペック

価格、スペックは以下のとおり。
価格的には同じGMOのお名前.com(PVS)より少し高く、さくらインターネットより若干安い価格です。
2GBプランが一番お得感が高いかと思います。

プラン毎の仕様
メモリ1GB2GB4GB8GB16GB
CPU2Core3Core4Core6Core10Core
HDD100GB200GB400GB800GB1TB
月額料金976円1,470円3,969円7,969円16,170円
共通の仕様
回線速度インターネット:100Mbps共有
ローカルネットワークオプション):1Gbps(共有)
IPアドレスIPv4:1個(有料オプションで追加可能)/IPv6:17個
RAIDRAID10
仮想化エンジンKVM
OS標準OSCentOS 6.4 x64
〜 カスタムOS
CentOS 5.9・6.4(x86x64
Debian 6.0・7.0(x86x64
Fedora 17・18(x86x64
FreeBSD 9.1(x86x64
Ubuntu 12.04 LTS(x86x64
Ubuntu 12.10・13.04(x86x64
Scientific Linux 6.4(x86x64
〜 そのほか 〜
持込ISOイメージによるインストールに対応

スクリーンショット

VNCによるブラウザで操作できるコンソール画面。
個人的にはあまり使わない。SSHログインできなくなった時には重要。
f:id:pcmaster:20130714055622p:image

リソース情報画面。
CPU、ディスクI/Oネットワークトラフィック等のリソース使用量はこちらの画面で確認できます。
f:id:pcmaster:20130714055621p:image


OSインストール画面。
デフォルトではCentOS 6.4(64bit)がインストールされていますが、それ以外のOSインストールしたい場合はこの画面でインストールできます。
f:id:pcmaster:20130714055620p:image

VM設定画面。
VirtioのON/OFF、ビデオデバイスの変更、が可能です。
f:id:pcmaster:20130714055623p:image

ディスクのスナップショット管理画面。
ただしシャットダウン中でないとスナップショットを取れない点が残念です。
f:id:pcmaster:20130714055624p:image

ネットワーク
IPアドレスは、IPv4が1つと、IPv6が17。
水増し感満載ですが、IPv6 ReadyなのでIPv6のテストをするには便利かもしれません。
f:id:pcmaster:20130714055625p:image

DNS逆引き設定画面。
メール配信するには重要。
f:id:pcmaster:20130714055626p:image

メモ画面。
VPSを複数契約して使う場合には便利かもしれません。
f:id:pcmaster:20130714055627p:image

SSH Key Pair管理画面。
SSHログインする為のPrivate Keyはこちらの画面でダウンロードできます。
f:id:pcmaster:20130714055628p:image

IPアドレス追加画面。
追加IPアドレス 2個 420円/月〜16個 3,360円/月。
IPアドレス 1個あたり210円/月で追加契約できます。
f:id:pcmaster:20130714055629p:image

Guest OS


参考に2GBプラン稼働直後の状態を載せておきます。

CPU

cpuinfoの内容。vmxの文字が見えます。
鋭い方はわかるかもしれませんがKVMを動かすことができます。所謂nested KVMですね。

# cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 45
model name	: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
stepping	: 7
cpu MHz		: 2593.748
cache size	: 4096 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm xsaveopt
bogomips	: 5187.49
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

processor	: 1
vendor_id	: GenuineIntel
cpu family	: 6
model		: 45
model name	: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
stepping	: 7
cpu MHz		: 2593.748
cache size	: 4096 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm xsaveopt
bogomips	: 5187.49
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

processor	: 2
vendor_id	: GenuineIntel
cpu family	: 6
model		: 45
model name	: Intel(R) Xeon(R) CPU E5-2670 0 @ 2.60GHz
stepping	: 7
cpu MHz		: 2593.748
cache size	: 4096 KB
fpu		: yes
fpu_exception	: yes
cpuid level	: 13
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc rep_good unfair_spinlock pni pclmulqdq vmx ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt aes xsave avx hypervisor lahf_lm xsaveopt
bogomips	: 5187.49
clflush size	: 64
cache_alignment	: 64
address sizes	: 40 bits physical, 48 bits virtual
power management:

Mem

2GBプラン(=2,000,000,000Byte)なんでしょうか。
2GiBでは無いようです。

# free
             total       used       free     shared    buffers     cached
Mem:       1922432     124856    1797576          0      15440      40496
-/+ buffers/cache:      68920    1853512
Swap:      2064376          0    2064376

Disk

全体で200GBの容量。
パーティションの切り分けは管理コンソールから行えます。(要再インストール)

# df
Filesystem           1K-ブロック    使用   使用可 使用% マウント位置
/dev/mapper/VolGroup-lv_root
                      18102140   1389040  15793548   9% /
tmpfs                   961216         0    961216   0% /dev/shm
/dev/vda1               495844     33505    436739   8% /boot
/dev/vdb             185782260    191948 176153128   1% /data

Network

ネットワークの状態。
eth0にIPv4アドレスが1つと、IPv6アドレスが17。

# ifconfig
eth0      Link encap:Ethernet  HWaddr XX:XX:XX:XX:XX:XX  
          inet addr:XXX.XXX.XXX.XXX  Bcast:XXX.XXX.XXX.255  Mask:255.255.254.0
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX7/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX6/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX5/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX4/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX3/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX2/64 Scope:Global
          inet6 addr: fe80::XXXX:XXXX:XXXX:XXX/64 Scope:Link
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX1/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX0/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXXf/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXXe/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXXd/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXXc/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXXb/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXXa/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX9/64 Scope:Global
          inet6 addr: 2400:XXXX:XXXX:XXXX:XXXX:XXX:XXX:XXX8/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1912 errors:0 dropped:0 overruns:0 frame:0
          TX packets:365 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:207752 (202.8 KiB)  TX bytes:38646 (37.7 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: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)

process


# ps afx
  PID TTY      STAT   TIME COMMAND
    2 ?        S      0:00 [kthreadd]
    3 ?        S      0:00  \_ [migration/0]
    4 ?        S      0:00  \_ [ksoftirqd/0]
    5 ?        S      0:00  \_ [migration/0]
    6 ?        S      0:00  \_ [watchdog/0]
    7 ?        S      0:00  \_ [migration/1]
    8 ?        S      0:00  \_ [migration/1]
    9 ?        S      0:00  \_ [ksoftirqd/1]
   10 ?        S      0:00  \_ [watchdog/1]
   11 ?        S      0:00  \_ [migration/2]
   12 ?        S      0:00  \_ [migration/2]
   13 ?        S      0:00  \_ [ksoftirqd/2]
   14 ?        S      0:00  \_ [watchdog/2]
   15 ?        S      0:00  \_ [events/0]
   16 ?        S      0:00  \_ [events/1]
   17 ?        S      0:00  \_ [events/2]
   18 ?        S      0:00  \_ [cgroup]
   19 ?        S      0:00  \_ [khelper]
   20 ?        S      0:00  \_ [netns]
   21 ?        S      0:00  \_ [async/mgr]
   22 ?        S      0:00  \_ [pm]
   23 ?        S      0:00  \_ [sync_supers]
   24 ?        S      0:00  \_ [bdi-default]
   25 ?        S      0:00  \_ [kintegrityd/0]
   26 ?        S      0:00  \_ [kintegrityd/1]
   27 ?        S      0:00  \_ [kintegrityd/2]
   28 ?        S      0:00  \_ [kblockd/0]
   29 ?        S      0:00  \_ [kblockd/1]
   30 ?        S      0:00  \_ [kblockd/2]
   31 ?        S      0:00  \_ [kacpid]
   32 ?        S      0:00  \_ [kacpi_notify]
   33 ?        S      0:00  \_ [kacpi_hotplug]
   34 ?        S      0:00  \_ [ata/0]
   35 ?        S      0:00  \_ [ata/1]
   36 ?        S      0:00  \_ [ata/2]
   37 ?        S      0:00  \_ [ata_aux]
   38 ?        S      0:00  \_ [ksuspend_usbd]
   39 ?        S      0:00  \_ [khubd]
   40 ?        S      0:00  \_ [kseriod]
   41 ?        S      0:00  \_ [md/0]
   42 ?        S      0:00  \_ [md/1]
   43 ?        S      0:00  \_ [md/2]
   44 ?        S      0:00  \_ [md_misc/0]
   45 ?        S      0:00  \_ [md_misc/1]
   46 ?        S      0:00  \_ [md_misc/2]
   47 ?        S      0:00  \_ [khungtaskd]
   48 ?        S      0:00  \_ [kswapd0]
   49 ?        SN     0:00  \_ [ksmd]
   50 ?        SN     0:00  \_ [khugepaged]
   51 ?        S      0:00  \_ [aio/0]
   52 ?        S      0:00  \_ [aio/1]
   53 ?        S      0:00  \_ [aio/2]
   54 ?        S      0:00  \_ [crypto/0]
   55 ?        S      0:00  \_ [crypto/1]
   56 ?        S      0:00  \_ [crypto/2]
   61 ?        S      0:00  \_ [kthrotld/0]
   62 ?        S      0:00  \_ [kthrotld/1]
   63 ?        S      0:00  \_ [kthrotld/2]
   65 ?        S      0:00  \_ [kpsmoused]
   66 ?        S      0:00  \_ [usbhid_resumer]
   97 ?        S      0:00  \_ [kstriped]
  204 ?        S      0:00  \_ [scsi_eh_0]
  205 ?        S      0:00  \_ [scsi_eh_1]
  373 ?        S      0:00  \_ [virtio-blk]
  409 ?        S      0:00  \_ [kdmflush]
  411 ?        S      0:00  \_ [kdmflush]
  428 ?        S      0:00  \_ [jbd2/dm-0-8]
  429 ?        S      0:00  \_ [ext4-dio-unwrit]
  430 ?        S      0:00  \_ [ext4-dio-unwrit]
  431 ?        S      0:00  \_ [ext4-dio-unwrit]
  698 ?        S      0:00  \_ [vballoon]
  701 ?        S      0:00  \_ [virtio-net]
  932 ?        S      0:00  \_ [jbd2/vda1-8]
  933 ?        S      0:00  \_ [ext4-dio-unwrit]
  934 ?        S      0:00  \_ [ext4-dio-unwrit]
  935 ?        S      0:00  \_ [ext4-dio-unwrit]
  936 ?        S      0:00  \_ [jbd2/vdb-8]
  937 ?        S      0:00  \_ [ext4-dio-unwrit]
  938 ?        S      0:00  \_ [ext4-dio-unwrit]
  939 ?        S      0:00  \_ [ext4-dio-unwrit]
  974 ?        S      0:00  \_ [kauditd]
  993 ?        S      0:00  \_ [flush-253:0]
    1 ?        Ss     0:00 /sbin/init
  522 ?        S<s    0:00 /sbin/udevd -d
 1675 ?        S<     0:00  \_ /sbin/udevd -d
 1676 ?        S<     0:00  \_ /sbin/udevd -d
 1232 ?        Ss     0:00 /sbin/dhclient -1 -q -cf /etc/dhcp/dhclient-eth0.conf -lf /var/lib/dhclient/dhclient-eth0.leases -pf /var/run/dhclient-eth0.pid eth0
 1327 ?        Ss     0:00 /sbin/dhclient -6 -1 -lf /var/lib/dhclient/dhclient6-eth0.leases -pf /var/run/dhclient6-eth0.pid eth0
 1360 ?        S<sl   0:00 auditd
 1376 ?        Sl     0:00 /sbin/rsyslogd -i /var/run/syslogd.pid -c 5
 1388 ?        Ss     0:00 irqbalance
 1491 ?        Ss     0:00 /usr/sbin/acpid
 1511 ?        Ss     0:00 /usr/sbin/sshd
 1519 ?        Ss     0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
 1595 ?        Ss     0:00 /usr/libexec/postfix/master
 1607 ?        S      0:00  \_ pickup -l -t fifo -u
 1608 ?        S      0:00  \_ qmgr -l -t fifo -u
 1619 ?        Ss     0:00 /usr/sbin/abrtd
 1627 ?        Ss     0:00 abrt-dump-oops -d /var/spool/abrt -rwx /var/log/messages
 1635 ?        Ss     0:00 crond
 1646 ?        Ss     0:00 /usr/sbin/atd
 1669 ttyS0    Ss+    0:00 /sbin/agetty /dev/ttyS0 115200 vt100-nav
 1671 ?        Ss     0:00 login -- root     
 1706 tty1     Ss     0:00  \_ -bash
 1722 tty1     R+     0:00      \_ ps afx
 1673 tty2     Ss+    0:00 /sbin/mingetty /dev/tty2
 1677 tty3     Ss+    0:00 /sbin/mingetty /dev/tty3
 1679 tty4     Ss+    0:00 /sbin/mingetty /dev/tty4
 1681 tty5     Ss+    0:00 /sbin/mingetty /dev/tty5
 1683 tty6     Ss+    0:00 /sbin/mingetty /dev/tty6

daemon


# chkconfig --list|grep ':on'
abrt-ccpp      	0:off	1:off	2:off	3:on	4:off	5:on	6:off
abrt-oops      	0:off	1:off	2:off	3:on	4:off	5:on	6:off
abrtd          	0:off	1:off	2:off	3:on	4:off	5:on	6:off
acpid          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
atd            	0:off	1:off	2:off	3:on	4:on	5:on	6:off
auditd         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
blk-availability	0:off	1:on	2:on	3:off	4:on	5:on	6:off
cloud-config   	0:off	1:off	2:on	3:on	4:on	5:on	6:off
cloud-final    	0:off	1:off	2:on	3:on	4:on	5:on	6:off
cloud-init     	0:off	1:off	2:on	3:on	4:on	5:on	6:off
cloud-init-local	0:off	1:off	2:on	3:on	4:on	5:on	6:off
cpuspeed       	0:off	1:on	2:on	3:off	4:on	5:on	6:off
crond          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
ip6tables      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off
irqbalance     	0:off	1:off	2:off	3:on	4:on	5:on	6:off
kdump          	0:off	1:off	2:off	3:off	4:on	5:on	6:off
lvm2-monitor   	0:off	1:on	2:on	3:on	4:on	5:on	6:off
mdmonitor      	0:off	1:off	2:on	3:on	4:on	5:on	6:off
netfs          	0:off	1:off	2:off	3:on	4:on	5:on	6:off
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
ntpd           	0:off	1:off	2:off	3:on	4:off	5:off	6:off
postfix        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
rsyslog        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
sshd           	0:off	1:off	2:on	3:on	4:on	5:on	6:off
sysstat        	0:off	1:on	2:on	3:on	4:on	5:on	6:off
udev-post      	0:off	1:on	2:on	3:on	4:on	5:on	6:off

netstat


# netstat -ln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State      
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 ::1:25                      :::*                        LISTEN      
udp        0      0 157.7.152.179:123           0.0.0.0:*                               
udp        0      0 127.0.0.1:123               0.0.0.0:*                               
udp        0      0 0.0.0.0:123                 0.0.0.0:*                               
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXX::123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 fe80::XXXX:XXXX:XXXX:XXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 ::1:123                     :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 2400:XXXX:XXXX:XXXX:XXXX:123 :::*                                    
udp        0      0 :::123                      :::*                                    
udp        0      0 :::546                      :::*                                    
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     9793   /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     7126   @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     10134  public/cleanup
unix  2      [ ACC ]     STREAM     LISTENING     10141  private/tlsmgr
unix  2      [ ACC ]     STREAM     LISTENING     10146  private/rewrite
unix  2      [ ACC ]     STREAM     LISTENING     10150  private/bounce
unix  2      [ ACC ]     STREAM     LISTENING     10154  private/defer
unix  2      [ ACC ]     STREAM     LISTENING     10158  private/trace
unix  2      [ ACC ]     STREAM     LISTENING     10162  private/verify
unix  2      [ ACC ]     STREAM     LISTENING     10166  public/flush
unix  2      [ ACC ]     STREAM     LISTENING     10170  private/proxymap
unix  2      [ ACC ]     STREAM     LISTENING     10174  private/proxywrite
unix  2      [ ACC ]     STREAM     LISTENING     10178  private/smtp
unix  2      [ ACC ]     STREAM     LISTENING     10182  private/relay
unix  2      [ ACC ]     STREAM     LISTENING     10186  public/showq
unix  2      [ ACC ]     STREAM     LISTENING     10190  private/error
unix  2      [ ACC ]     STREAM     LISTENING     10194  private/retry
unix  2      [ ACC ]     STREAM     LISTENING     10198  private/discard
unix  2      [ ACC ]     STREAM     LISTENING     10202  private/local
unix  2      [ ACC ]     STREAM     LISTENING     10206  private/virtual
unix  2      [ ACC ]     STREAM     LISTENING     10210  private/lmtp
unix  2      [ ACC ]     STREAM     LISTENING     10214  private/anvil
unix  2      [ ACC ]     STREAM     LISTENING     10218  private/scache
unix  2      [ ACC ]     STREAM     LISTENING     10289  /var/run/abrt/abrt.socket

感想


4月にリリースされたOpenStack Grizzlyが使われているということで構成としては新しいVPSです。
イメージキャラクターが売りなだけかと思いましたが、Nested KVMが使えるなど機能強化されている点もあるので、旧仕様のお名前VPS(KVM)よりConoHaの方がオススメできるのではないかと思います。

以上、ご参考になれば幸いです。

関連記事

お名前.com レンタルサーバーVPSのスペック - 理想未来はどうなった?
お名前.com レンタルサーバーVPSを借りてみた - 理想未来はどうなった?
ssh+パイプを使ったRemote to Remoteコピー - 理想未来はどうなった?
rsyncの負荷を抑える方法 - 理想未来はどうなった?
LinuxでSSDのTrimコマンドを有効にする方法 - 理想未来はどうなった?

2010-01-24

お名前.com レンタルサーバーVPSのスペック

お名前.com レンタルサーバーVPSを借りてみたので、スペックを調べてみました。


VPS基本スペック

基本スペックはVPS機能詳細をそのまま転載。
サポート環境は非常に良い。バックアップも標準なので何かあっても復旧は行いやすそう。
IPを追加できるのも嬉しい。


設置場所日本国24時間365日有人監視による徹底したセキュリティ体制と耐震/防火/空調設備を完備した国内データセンターに設置されています。
ディスク容量120GBWeb、メール、データベース領域が含まれます。
メモリ(最大)1GB基本512MB、最大1GBのメモリが割り当てれられます。
仮想化ソフトウェアVirtuozzoサーバーリソースへの影響が少なく、より安定したサーバー環境をお客様へ提供できるParallels社のソフトウェアを採用しています。
OSLinux CentOS 5.3(64bit)Red Hat社のRed Hat Enterprise Linuxクローンとして開発され、安定性の高いOSを採用しています。
root権限管理者(root)権限がご利用いただけます。
サーバー管理ツールオリジナル コントロールパネル直感的な操作に重点をおいた自社開発のコントロールパネルをご用意しております。
IPアドレス標準1個(最大8個)固定のグローバルIPアドレスを標準で1個ご利用いただけます。オプションで最大8個ご利用いただけます。
帯域1Gbps 共有ネットワーク接続は、1Gbpsの帯域を共有してご利用いただけます。
データ転送量/月無制限データ転送量は無制限です。
独自ドメインすでにお持ちのドメインや他社でご登録されたドメインの持ち込みが可能です。ドメインをお持ちでない場合は、サーバーのお申込みと同時にご登録いただけます。
マルチドメイン無制限1契約で複数ドメインの運用に対応しています。追加可能なドメイン数は無制限です。
サブドメイン無制限「example.onamae.com」独自ドメインのexample箇所を任意に設定して活用いただけます。
日本語ドメインホームページ日本語ドメイン(.com/.net/.jp/.biz/.tv/.cc)を使ったホームページを運用していただけます。
SSHOpenSSH 4.3 を採用しています。
FTPProFTPD 1.3.2 を採用しています。
ファイアーウォールiptableによるポート制限に対応しています。
セキュリティアップデートセキュリティパッチを弊社にて自動的に適用するので安心してVPSを運用することができます。ご希望により、手動やアップデート無しへの切り替えもできます。
標準バックアップディレクトリ、ファイル単位でバックアップリストアができます。外部サーバーバックアップ領域を標準で1GB、オプションで最大50GBご利用いただけます。
OSインストールコントロールパネルから、VPSを初期状態に戻すことができます。

アプリケーション

基本的にCentOS 5.3と同じ。
root権限があるので、野良ビルドすれば好きなものに入れ替えることもできる。



WebサーバーApache 2.2.x を採用しています。
メールサーバーPostfix 2.6.x を採用しています。
PerlPerl 5.8.x を採用しています。
PHPPHP 5.1.x を採用しています。標準では、モジュールモードで動作します。
PythonPython 2.4.x を採用しています。
RubyRuby 1.8.x を採用しています。
JavaGNU Java 4.1.x を採用しています。
MySQL無制限MySQL 5.0 を採用しています。ディスク容量の範囲であれば、DB数は無制限です。
PostgreSQL無制限PostgreSQL 8.1 を採用しています。ディスク容量の範囲であれば、DB数は無制限です。

カーネル

以下は実際に中に入ってみて調べた情報。
カーネルは2.6.18でCentOS 5.3と同じ。リビジョンは違う。

uname -a
Linux hogehoge.xxx 2.6.18-028stab066.8 #1 SMP Fri Nov 27 20:19:25 MSK 2009 x86_64 x86_64 x86_64 GNU/Linux

CPU

CPUは8つに見えます。
クワッドCoreのOpteronを2つ積んでいるようです。

cat /proc/cpuinfo
processor	: 0
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 4
model name	: Quad-Core AMD Opteron(tm) Processor 2384
stepping	: 2
cpu MHz		: 2700.106
cache size	: 512 KB
physical id	: 0
siblings	: 4
core id		: 0
cpu cores	: 4
apicid		: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy altmovcr8 abm sse4a misalignsse 3dnowprefetch osvw
bogomips	: 5400.19
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate [8]

〜中略〜

processor	: 7
vendor_id	: AuthenticAMD
cpu family	: 16
model		: 4
model name	: Quad-Core AMD Opteron(tm) Processor 2384
stepping	: 2
cpu MHz		: 2700.106
cache size	: 512 KB
physical id	: 1
siblings	: 4
core id		: 3
cpu cores	: 4
apicid		: 7
fpu		: yes
fpu_exception	: yes
cpuid level	: 5
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc pni cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy altmovcr8 abm sse4a misalignsse 3dnowprefetch osvw
bogomips	: 5422.96
TLB size	: 1024 4K pages
clflush size	: 64
cache_alignment	: 64
address sizes	: 48 bits physical, 48 bits virtual
power management: ts ttp tm stc 100mhzsteps hwpstate [8]


メモリ

usedが49MB。
ほとんど何も動いていないこともあってスカスカです。

free
             total       used       free     shared    buffers     cached
Mem:       1048576      49692     998884          0          0          0
-/+ buffers/cache:      49692     998884
Swap:            0          0          0

swapも0です。
cacheも使われていないようですね。

ディスク

df -m
Filesystem           1M-ブロック    使用   使用可 使用% マウント位置
/dev/vzfs               121856      1293    120564   2% /
none                       512         1       512   1% /dev

デーモン

chkconfig --list |grep '3:on'
avahi-daemon   	0:off	1:off	2:off	3:on	4:on	5:on	6:off
crond          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
haldaemon      	0:off	1:off	2:off	3:on	4:on	5:on	6:off
httpd          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off
lvm2-monitor   	0:off	1:on	2:on	3:on	4:on	5:on	6:off
messagebus     	0:off	1:off	2:off	3:on	4:on	5:on	6:off
mysql          	0:off	1:off	2:on	3:on	4:on	5:on	6:off
netfs          	0:off	1:off	2:off	3:on	4:on	5:on	6:off
network        	0:off	1:off	2:on	3:on	4:on	5:on	6:off
rawdevices     	0:off	1:off	2:off	3:on	4:on	5:on	6:off
saslauthd      	0:off	1:off	2:off	3:on	4:off	5:off	6:off
sshd           	0:off	1:off	2:on	3:on	4:on	5:on	6:off
syslog         	0:off	1:off	2:on	3:on	4:on	5:on	6:off
sysstat        	0:off	1:off	2:on	3:on	4:off	5:on	6:off
webadmin-httpd 	0:off	1:off	2:on	3:on	4:on	5:on	6:off
xinetd         	0:off	1:off	2:off	3:on	4:on	5:on	6:off


推察

ホストサーバーのスペックは1Uサーバーでメモリ16GBぐらいでしょうか。
HDDが2TBとして1ゲストあたり120GBですので、1ホストあたり15〜16ゲストが動いているものと思われます。
全てのゲストがフルで稼働している事はあまりないので、結構パフォーマンスは出るのではないかと思われます。


そんな感じで。
使いこんで具体的に見えてきたことがあれば報告したいと思います。

関連記事

[Linux][レンタルサーバー]お名前.com レンタルサーバーVPSを借りてみた
[postfix]main.cfとmaster.cf
[postfix]Internal Postfix block diagram
[Linux][KVM]virshの使い方
[自宅サーバー][Linux]最近おすすめのホームサーバーって何? 玄柴(KURO-SHEEVA)

お名前.com レンタルサーバーVPSを借りてみた

お名前.comのレンタルサーバーVPSを借りてみました。


月額2980円でメモリ1GB/HDD 120GBとスペック的にも悪くない。
個人的には使い慣れたCentOS 5が使える点もポイントの一つでした。


カーネルが変更できないなど細かい点で気になる所もありあますが、価格を考えると非常に良い環境だと思います。


使い始めに行った作業をメモしておきます。

始めに

管理画面にログインして、まず始めにsshが使えるようにファイアーウォールの設定を変更します。

インストール

yum

デフォルトyumが入っていないのでインストールします。

wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/m2crypto-0.16-6.el5.3.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm
wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/yum-3.2.19-18.el5.centos.noarch.rpm
wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm
wget http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/CentOS/yum-metadata-parser-1.1.2-2.el5.x86_64.rpm
sudo rpm -ivh m2crypto-0.16-6.el5.3.x86_64.rpm
sudo rpm -ivh python-elementtree-1.2.6-5.x86_64.rpm
sudo rpm -ivh python-sqlite-1.1.7-1.2.1.x86_64.rpm
sudo rpm -ivh python-urlgrabber-3.1.0-5.el5.noarch.rpm
sudo rpm -ivh python-iniparse-0.2.3-4.el5.noarch.rpm
sudo rpm -ivh yum-metadata-parser-1.1.2-2.el5.x86_64.rpm
sudo rpm --import http://ftp.riken.jp/Linux/centos/5.3/os/x86_64/RPM-GPG-KEY-CentOS-5
sudo rpm -ivh yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm yum-3.2.19-18.el5.centos.noarch.rpm

sudo yum -y remove php-sqlite2
sudo yum -y update
sudo yum -y install php-sqlite2

sudo

sudo使うたびに『audit_log_user_command(): 接続を拒否されました』という警告が出るのでsudoを入れなおします。

sudo yum -y install pam-devel
sudo yum -y remove sudo
wget http://www.sudo.ws/sudo/dist/sudo-1.7.2p2.tar.gz
tar xvf sudo-1.7.2p2.tar.gz
cd sudo-1.7.2p2
./configure
make
su
make install
cp sample.pam /etc/pam.d/sudo

mysql

mysqlはパフォーマンスの良い5.1をインストールしました。

yum -y remove mysql mysql-bench mysql-devel mysql-server

wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-client-community-5.1.42-0.rhel5.x86_64.rpm
wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-shared-community-5.1.42-0.rhel5.x86_64.rpm
wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-devel-community-5.1.42-0.rhel5.x86_64.rpm
wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-shared-compat-5.1.42-0.rhel5.x86_64.rpm
wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.1/MySQL-server-community-5.1.42-0.rhel5.x86_64.rpm

sudo rpm -ivh MySQL-client-community-5.1.42-0.rhel5.x86_64.rpm \
MySQL-shared-community-5.1.42-0.rhel5.x86_64.rpm \
MySQL-devel-community-5.1.42-0.rhel5.x86_64.rpm \
MySQL-shared-compat-5.1.42-0.rhel5.x86_64.rpm \
MySQL-server-community-5.1.42-0.rhel5.x86_64.rpm

sudo /usr/bin/mysql_secure_installation

sudo /sbin/chkconfig --add mysql
sudo /sbin/chkconfig mysql on

その他

locateも入っていないので入れておきます。
sarが使えるようにsysstatも。

後は気がついた時に書き足していきます。

sudo yum -y install mlocate sysstat
sudo updatedb


セキュリティ設定

rootになれるユーザーをwheelグループに限定する
sed -i.bak -e "s/^#\(auth\s\+required\s\+pam_wheel\.so.*\)/\1/g" /etc/pam.d/su
echo "SU_WHEEL_ONLY yes" >> /etc/login.defs

sudo使えるのもwheelだけにする
sed -i.bak -e "s/^#\s\+\(%wheel\s\+ALL\=(ALL)\s\+ALL\)/\1/g" /etc/sudoers

SSH - 公開鍵認証のみに制限する

パスワード認証を拒否して公開鍵認証のみに制限する。
先に公開鍵認証でログインできることを確認しておくこと。

sed -i.bak -e "s/^\(PasswordAuthentication\).*/\1 no/" /etc/ssh/sshd_config

SSH - IP制限

国外からのSSHブルートフォース攻撃がウザイので接続制限を行う。
recentモジュールが使えないので、/etc/hosts.allowにてIPで制限する。
/etc/hosts.allowは各自の環境に応じて適当に書き換える。.jpで終わらないISPもある。
指定されたページまたはファイルは存在しません - Seesaa Wiki(ウィキ)

cat >> /etc/hosts.allow << EOM
sshd : .jp : allow
sshd : ALL : deny
EOM


そんな感じで。

関連記事

[Linux][KVM]DHCPを使わないCentOSゲストの自動インストール
[Linux]CentOS ミラーサーバーの構築
[Linux][libvirt][ruby][KVM]rubyでlibvirt APIを使ってみる
[Linux][KVM]virshの使い方
[自宅サーバー][Linux]最近おすすめのホームサーバーって何? 玄柴(KURO-SHEEVA)