結論
$ VBoxManage modifyvm hoge --hpet on --acpi off
詳細
で攻撃されるためのサーバーは、さくらのVPSの上のVirtualBoxで動いているCentOS 6。さくらのVPS自体はKVMで動いているらしい。専用のサーバーを借りる金をケチるという目的もあるが、攻撃されることが目的なので、外側で動作を制限したいという目的が大きい。仮想マシン(VM)を動かすユーザーの外向きのネットワーク接続を禁止しているので、たとえこのVMのrootが取られても、ほかのサーバーを攻撃する踏み台に使われたりすることはないはず。
このVMがとても遅い。起動するのに1時間くらいかかるし、ls
やcat
にも数秒かかる。エゴサをしていると「重い」という苦情が良く出てくる。すでに仮想化されているVPSの上で動いているNested Virtualization状態で、VirtualBoxを動かしているOSから見えるCPUは仮想化支援機能が無いように見えるので、仕方がないのかなと思っていたけど、改めて考えてみると、さすがに遅すぎる。
色々試してみて、このサイトに書いてあるように--hpet on
と--acpi off
を実行すると、まともな速度で動くようになった。--acpi on
の状態だと重かった。ゲスト側でクロックソースを選択すれば良いのかもしれない。
VirtualBox + CentOS6.5 + Mac で 仮想CPUの数を増やすと SSHのシェル操作が遅い - その2 - hibomaのはてなダイアリー
ただ、VMの上で何もしていなくても、VirtualBoxのCPU使用率が50%くらいになっている。
試してダメだったこと
多少効果はあるのかもしれないが、速度が10%向上するとかそういう程度の話であって、起動に1時間掛かるという影響が出るものではなさそう。
- ブートオプションに
divier=10
を付ける- CentOS 6では意味が無い?
--ioapic off
--paravirtprovider kvm
おまけ
マシになったとはいえ重いことは重いので、(可能な問題は)手元に問題ファイルを持ってきて解いて、最後にサーバーに投げるのが良いと思う。CTFの問題、手元に環境を整えるのは最初は面倒だけど、デバッガを使ったりデバッグ出力を追加したりということができるようなって結果的に早く解けることが多い。