まだプログラマーですが何か?

プログラマーネタとアスリートネタ中心。たまに作成したウェブサービス関連の話も http://twitter.com/dotnsf

タグ:vpn

IBM Bluemix からは IBM のウェブアプリケーションサーバー製品である WebSphere Application Server(以下、WAS)が提供されており、メニューから選ぶだけでホスティングされた WAS 環境を利用することができます。以前にその内容をブログで紹介させていただいたこともあり、手順についてはこちらを参照ください:
WebSphere Application Server on Bluemix を使う

 ↑当時はまだβ版で、その前提での紹介になっていますが、現在は正式サービスになっています。


上記リンク先を見ていただくとわかりますが、このサービスで提供される WAS 環境を利用するには現状、 VPN 接続が必要です。例えば下図でいうと同じネットワーク内にある青い3台のマシンの中で、1台だけが WAS インスタンス(ピンクのマシン)に VPN 接続しているとします。この場合、VPN 接続した1台のマシンは WAS に繋がりますが、他の2台は WAS に繋がりません。なので、本格的に WAS を利用するにはちと不便な環境ということになります:
2016091201


今回紹介するのはこの不便さをなるべく簡単に解消するために、2つの設定を行うことで、VPN 接続していない2台のマシンからも WAS を使えるようにする、というものです。そしてその2つの設定がこちらです:
 ・VPN 接続したマシンにルーティングと NAT の設定を行う(要はソフトウェアルータにする)
 ・VPN 接続していないマシンにルーティング設定を追加する
2016091202

これによって、VPN 接続していない PC も「ルーティングを1つ追加する」という手順だけで WAS が接続できるようになる、というものです。VPN 接続には専用クライアントの導入なども必要でしたが、ルーティングの追加だけならコマンドを1つ実行するだけでできる(ネットワーク管理者権限などを持っていて、DHCP サーバーの設定を変更できる場合は DHCP の設定だけで、ユーザーは何もしなくてもできる)ので、少しはハードルが下がるかな、と思っています。

以降の説明のため、以下の様な環境であることを想定します:
2016091203


WAS インスタンスの IP アドレス: 169.45.191.94

VPN 接続するマシンの OS: Linux(CentOS 6)
VPN 接続するマシンの IP アドレス: 192.168.0.104
VPN 接続するマシンのネットワークインターフェース: eth0
VPN 接続するマシンの VPN 接続側のネットワークインターフェース: tun0
VPN 接続するマシンの属するネットワーク: 192.168.0.0/24

VPN 接続しないマシンのネットワークインターフェース: eth0


では実際の設定作業を紹介します。まずは Linux マシンから WAS インスタンスに VPN 接続を行うための OpenVPN を導入します:
# rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# yum install --enablerepo=epel openvpn

そして、この OpenVPN を使って WAS インスタンスに VPN 接続します。VPN 接続に必要な構成ファイルは WAS サービスインスタンスの「管理コンソールにアクセスするには、VPN に接続している必要があります」と書かれた箇所の右側の?マークをクリックした先の画面から「VPN 構成ファイル」と書かれたアイコンをクリックするとダウンロードできます:
2016091501


Bluemix 画面からダウンロードした構成ファイル一式(wasaas-uss.ovpn を含む zip ファイル)を OpenVPN を導入した Linux 機の /root/openvpn/ 以下に展開し、以下のコマンドを実行します(実行したまま終了する必要があるので、SSH 接続で行う場合は screen などを実行してから行い、最後にデタッチする必要があります):
# cd /root/openvpn/
# openvpn /root/openvpn/wasaas-uss.ovpn

次に VPN 接続した Linux マシンをソフトウェアルータ化するための設定を行います。そのためには IP フォワーディング機能を有効にする必要があります。以下のコマンドを実行します:
# echo 1 > /proc/sys/net/ipv4/ip_forward

続いて /etc/sysconfig/network ファイルを書き換えます。具体的には以下の最後の3行を書き足します(GATEWAY に何か記述されていた場合は消去しておいてください):
NETWORKING=yes
HOSTNAME=’localhost.localdomain’
FORWARD_IPV4=yes
GATEWAY=
GATEWAYDEV=

次に IP フォワーディング機能を恒久的に有効にするため、/etc/sysctl.conf ファイルを編集して、net.ipv4.ip_forward = 1 に書き換えます。また sysctl コマンドでこの編集後のファイルを読み込んで有効にします:
# vi /etc/sysctl.conf

  :
  :
net.ipv4.ip_forward = 1
  :
  :

# sysctl -p /etc/sysctl.conf

最後に iptables を使ってルータ化&NATフィルタリングを行います。上記リンク先の手順で Linux PC を VPN 接続した場合、そのネットワークインターフェイスは tun0 になっているはずです。なので、/etc/sysconfig/iptables を書き換えて目的の接続先(今回の例では 169.45.191.94)への接続は tun0 経由で NAT 接続するように変更し、その上で iptables を有効に(または再起動)します:
# vi /etc/sysconfig/iptables

*nat
:PREROUTING ACCEPT [4:180]
:POSTROUTING ACCEPT [2:121]
:OUTPUT ACCEPT [2:121]
-A POSTROUTING -s 192.168.0.0/24 -d 169.45.191.94/32 -j MASQUERADE
COMMIT

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [215:27937]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -o tun0 -j ACCEPT
-A FORWARD -i tun0 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

# /etc/init.d/iptables start (または restart)


これで Linux 機はソフトウェアルータになっているはずです。あとは VPN 接続していない同一ネットワーク上のマシンに対して、「WAS(169.45.191.94) に接続する時は 192.168.0.104 経由で接続する」ことを教えます。Linux/UNIX 系マシンであれば以下のようなコマンドを実行します:
# route add 169.45.191.94 gw 192.168.0.104 eth0

Windows 機の場合は少しコマンドが異なり、以下の様なコマンドを管理者権限で実行します:
> route add 169.45.191.94 mask 255.255.255.255 192.168.0.104

これでルーティングの設定も完了しています。試しに VPN 接続していない(上記の route コマンドを実行した)マシンから WAS インスタンスに接続してみましょう。ウェブブラウザを開いて https://(WAS マシンの IP アドレス):9043/ibm/console/ にアクセスするか、または Bluemix のサービス画面から「管理コンソールを開く」をクリックします:
2016091201


ルーティング設定前であれば「ホストが見つからない」エラーになるはずですが、ホストが見つかった上で「安全な接続ではない」というエラーになるはずです。これはセキュリティ設定のエラーなので、この状態を回避すれば管理コンソールにアクセスできます。FireFox であれば「エラー内容」を書かれたボタンをクリックします:
2016091202


「例外を追加」します:
2016091203


以下の様な確認画面が表示されたら「セキュリティ例外を承認」をクリックします:
2016091204


これで管理コンソールにアクセスできるようになっているはずです!:
2016091205


正しいユーザー ID とパスワードを入力することで、実際の管理画面にアクセスすることができます。これで VPN 接続しなくても、ルーティング設定だけで Bluemix の WAS インスタンスにアクセスすることができるようになりました。SSH 接続についても同様にできます:
2016091206


なお、設定したルーティングを元に戻すには、上記で実行した route コマンドの add 部分を del や delete に変えて実行します:
# route del 169.45.191.94 gw 192.168.0.104 eth0

> route delete 169.45.191.94 mask 255.255.255.255 192.168.0.104

本当は全て DHCP 設定の中で行えるとユーザーとしては楽なのですが、今回紹介した方法であればネットワーク管理者でなくても(1コマンド実行するだけで)設定できて、比較的簡単に実現できると思っています。


自分は自宅に CentOS を中心に構築した簡易ローカルネットワークがあります。自宅には固定の光回線もあるので、ブロードバンドルーターのポートフォワーディング機能を使って自宅内の HTTP サーバーを公開したり、SSH サーバーや DB サーバーににインターネットからログインできるようにしていました。
2015022401



もちろんこれはこれで便利ではあったのですが、自宅内に KVM の仮想サーバーを構築したあたりから少しずつ限界を感じることがでてきました。仮想サーバーができたことで簡単&気楽にマシンを増やして使うことができるようになるのはいいのですが、動的に増やしたマシンに接続するための設定として、2つ以上の異なる HTTP サーバーに 80 番ポートで接続したい、とか、ポートフォワーディングだけでは限界を感じることが多くなってきたのでした。まあ自宅ネットワーク環境もこんな悩みを抱えるレベルになれば立派かな、という感じ:
2015022402




この状況を打破するべく、 自宅ネットワークに VPN(Virtual Private Network) 環境を構築することにしました。結果的にですが、PC と自宅ネットワークとの間の通信をすべて暗号化することにもなるので、セキュリティ的にも向上することになります。この環境をオープンソースの OpenVPN を使ってすべて無料で構築したのですが、その手順をまとめました。


まず目標として、最終的には以下の様なネットワーク構成を作ることにしました:
・自宅ネットワークは 192.168.0.0/24 で、ルータ/DHCP/DNS 含めて今まで使ってきた自宅ネットワーク環境を変えずにそのまま使う。 
・自宅ネットワークのブロードバンドルータは 192.168.0.1、このブロードバンドルータの公開サーバー名は www.myserver.com とする。
・OpenVPN を導入する VPN サーバーは 192.168.0.4(CentOS)
・VPN で接続するクライアントは Windows7 を想定
・VPN で接続するクライアントのネットワークは 10.8.0.0/24(OpenVPN のデフォルト)
・VPN で接続したクライアントから自宅ネットワークへ、自宅ネットワーク内のマシンから VPN で接続したクライアントへの双方向の通信を可能にする
2015022403


上記の最後の文を補足します。この環境ができて VPN 接続ができた後に、VPN のクライアント機(Windows7)からは 192.168.0.XX というそのままのアドレスで自宅ネットワークの各サーバーに接続ができるようになります。加えて自宅ネットワーク内の各サーバー機からも 10.8.0.X というアドレスを指定することで Windows7 機にアクセスできるようになる、この双方向でのアクセスが可能になるような環境とする、ということを目標にします。


では以下にその構築手順を記載します。まず自宅ネットワーク内の1台のマシンに OpenVPN サーバーをインストールします。今回はこのマシンの IP アドレスが 192.168.0.4 で、CentOS が導入されているものと仮定します。また 2015/02/24 時点では OpenVPN の最新バージョンが 2.3.6 だったので、このバージョンをインストールしています。実際にはこちらを参照して、最新バージョンを確認し、最新バージョンのモジュールをダウンロードするようにしてください。

このマシンにログインして root 権限でシェルを開き、以下のコマンドを順次実行します:
# cd /usr/local/src
# yum -y install openssl-devel lzo-devel pam-devel

(最新の OpenVPN をダウンロードしてビルド)
# wget http://swupdate.openvpn.org/community/releases/openvpn-2.3.6.tar.gz # rpmbuild -tb --clean openvpn-2.3.6.tar.gz # yum -y localinstall ~/rpmbuild/RPMS/x86_64/openvpn-2.3.6-1.x86_64.rpm # rm -f ~/rpmbuild/RPMS/x86_64/openvpn-* # rm -f openvpn-2.3.6.tar.gz
(easyrsa をダウンロードしてビルド) # wget https://github.com/OpenVPN/easy-rsa/archive/master.zip # unzip master.zip # cp -r easy-rsa-master/easyrsa3/ /etc/openvpn/ # rm -rf easy-rsa-master/ # rm -f master.zip

これで OpenVPN の導入はできました。次にこの導入モジュールを使って各種鍵・証明書ファイルを作ります:
(初期化)
# cd /etc/openvpn/easyrsa3/
# ./easyrsa init-pki

(CA証明書と秘密鍵作成)
# ./easyrsa build-ca
 (パスフレーズの入力を促されるので2度同じ内容を入力)
 (Common Name(サイト名)を聞かれたらサーバー名(www.myserver.com)を入力)
# cp pki/ca.crt /etc/openvpn/

(サーバー証明書と秘密鍵作成)
# ./easyrsa build-server-full server nopass
 (パスフレーズを聞かれるので、先ほど入力したパスフレーズを入力)
# cp pki/issued/server.crt /etc/openvpn/
# cp pki/private/server.key /etc/openvpn/

(DHパラメータ作成)
# ./easyrsa gen-dh
# cp pki/dh.pem /etc/openvpn/

(ダミーのクライアント証明書作成)
# ./easyrsa build-client-full dmy nopass
 (パスフレーズを聞かれるので、先ほど入力したパスフレーズを入力)

(ダミーのクライアント証明書廃止)
# ./easyrsa revoke dmy
 ("Continue with revocation" と表示されたら yes と入力)
 (パスフレーズを聞かれるので、先ほど入力したパスフレーズを入力)

(証明書廃止リスト作成)
# ./easyrsa gen-crl
 (パスフレーズを聞かれるので、先ほど入力したパスフレーズを入力)
# cp pki/crl.pem /etc/openvpn/
# chmod o+r /etc/openvpn/crl.pem

(TLS認証鍵作成)
# openvpn --genkey --secret /etc/openvpn/ta.key
# cp /usr/share/doc/openvpn-2.3.6/sample/sample-config-files/server.conf /etc/openvpn/

上記で最後にコピーした OpenVPN の設定ファイルを編集します:
# vi /etc/openvpn/server.conf
    :
  (変更が必要な該当箇所のみ記述、ここにある内容以外はそのままで)
    :
dev tun

dh dh.pem

server 10.8.0.0 255.255.255.0

;push "route 192.168.10.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
push "route 192.168.0.0 255.255.255.0"

tls-auth ta.key 0 # This file is secret

user nobody
group nobody

log-append  /var/log/openvpn.log

# 以下の2行を最終行に追加
management localhost 7505
crl-verify crl.pem

更に easyrsa3 ディレクトリでクライアント証明書および秘密鍵ファイルを生成しておきます。なお、以下の例では client1 という名前のクライアント証明書・秘密鍵ファイルを生成していますが、このクライアント名は一意である必要があります。複数クライアント向けに複数の証明書や秘密鍵ファイルを生成する場合は、既に作成したクライアント名と重ならないように注意してください:
# cd /etc/openvpn/easyrsa3
# ./easyrsa build-client-full client1
 (クライアント用パスフレーズの入力を促されるので2度同じ内容を入力)
 (サーバー用パスフレーズを聞かれるので、作成時に入力したパスフレーズを入力)

起動スクリプトとシャットダウンスクリプトを新規に作成します:
# vi /etc/openvpn/openvpn-startup
#!/bin/bash

/etc/openvpn/openvpn-shutdown
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT

iptables -I INPUT -i tun+ -j ACCEPT

iptables -I FORWARD -i tun+ -d 192.168.1.0/24 -j ACCEPT


# chmod +x /etc/openvpn/openvpn-startup
# vi /etc/openvpn/openvpn-shutdown
#!/bin/bash

delete() {
  rule_number=`iptables -L $target --line-numbers -n -v|grep tun.|awk '{print $1}'|sort -r`
  for num in $rule_number
  do
    iptables -D $target $num
  done
}

target='INPUT'
delete

target='FORWARD'
delete

target='OUTPUT'
delete

# chmod +x /etc/openvpn/openvpn-shutdown

ログローテーションの設定ファイルを新規に作成します:
# vi /etc/logrotate.d/openvpn
/var/log/openvpn.log {
  missingok
  notifempty
  sharedscripts
  postrotate
    systemctl restart openvpn 2>&1 > /dev/null || true
  endscript
}

ここまでの準備ができていれば OpenVPN サーバーを起動し、自動起動設定も行います:
# vi /etc/init.d/openvpn

 (この行のコメントを外す)
  echo 1 > /proc/sys/net/ipv4/ip_forward


# /etc/init.d/openvpn start
# chkconfig openvpn on

次にルータ(この例では 192.168.0.1)上で UDP/1194 へのアクセスを VPN サーバー(この例では 192.168.0.4)にフォワーディングするよう、ポートフォワード(と必要であればファイアウォール)の設定を行います。この具体的な手順はお使いのルータごとに異なるため、ルータの説明書などを参照しておこなってください:
2015022404


更にルータ上のルーティングを変更し、このネットワーク内での 10.8.0.0/24 宛のデータは VPN サーバー(この例では 192.168.0.4)をゲートウェイとするようにルーティングエントリを追加します。これで VPN ネットワークに接続したマシンへネットワーク側から接続することもできるようになります。この具体的な手順もお使いのルータごとに異なるため、ルータの説明書などを参照しておこなってください:
2015022405


これで OpenVPN サーバーおよびルータ型の設定が完了しました。 続けて VPN クライアント(PC側)の設定を行います。

この VPN ネットワークに接続したい PC で OpenVPN のダウンロードページを開き、環境にあった Installer をダウンロード・ダブルクリックして導入します:
2015022406


導入先フォルダの中にクライアント設定ファイルのサンプル(C:\Program Files\OpenVPN\sample-config\client.ovpn)があるので、このファイルを C:\Program Files\OpenVPN\config\client.ovpn としてコピーし、以下の内容に書き換えます(変更箇所のみ記載しています):
remote www.myserver.com 1194 # VPN サーバー名

ca ca.crt # CA証明書のファイル名
cert client1.crt # クライアント証明書のファイル名
key client1.key # クライアント秘密鍵のファイル名

tls-auth ta.key 1 # 行頭にコメントが付いているので外して TLS 認証を有効化

VPN クライアントから VPN サーバーのマシンに SFTP などで接続し、CA 証明書(/etc/openvpn/ca.crt)/クライアント証明書(/etc/openvpn/easyrsa3/pki/issued/client1.crt)/クライアント秘密鍵(/etc/openvpn/easyrsa3/pki/private/client1.key)/TLS認証鍵(/etc/openvpn/ta.key)の各ファイルを転送し、すべて C:\Program Files\OpenVPN\config フォルダ内に保存します。


最後に、この VPN クライアントは Windows7 上では管理者権限で実行する必要があるため、その設定を行います。

スタート → すべてのプログラム → OpenVPN → OpenVPN GUI を右クリックし、「プロパティ」を選択します:
2015022407


"OpenVPN GUI のプロパティ" ダイアログが表示されたら「互換性」タブを選び、「管理者としてこのプログラムを実行する」にチェックを入れます。最後に OK をクリックしてダイアログを閉じます:
2015022408



これで準備はすべて整いました。最後に実際に VPN 接続して動作確認してみます。

VPN クライアントを導入した PC が自宅以外のインターネットに接続している状態で、先ほどの手順で OpenVPN GUI を選択して起動します:


OpenVPN クライアントがタスクバーに格納された状態で起動します。この時点では接続できていないので灰色で表示されているはずです。このアイコンを右クリック → 接続を選択します。
2015022409


OpenVPN のコンソールが表示され、パスワードを聞かれます。ここではクライアントの証明書を作成する時に指定したパスフレーズを入力して OK ボタンをクリックします:
2015022410


正しく接続できるとアイコンが緑色になります。同時に新たに割り当てられた IP アドレス(この例では 10.8.0.6)が吹き出し表示されます:
2015022411


この状態で自宅ネットワーク内のサーバーの IP アドレス(192.168.0.XX)を指定すれば接続できるはずです:
2015022412

逆に自宅ネットワーク内のサーバーから割り当てられた IP アドレスに対しても接続できているはずです:
2015022413


繋がりました! これで外から自宅ネットワークに対してセキュアに、しかもポートフォワードの制約を受けずにアクセスできるようになりました。

VPN 接続を切断するにはタスクバーのアイコンを右クリック→切断 を選択します:
2015022414



今回紹介した方法は Windows クライアントを前提としていましたが、証明書や秘密鍵の作り方を少し変えると iPhone などでも利用できるようになります。 詳しくは以下の参考ページを参照ください:


(参考)
http://centossrv.com/openvpn.shtml


 

前回からの続きです。

 IBM Power Development Platform で Power 版 RedHat Enterprise Linux サーバーのリソース予約が完了し、サーバーが Active になりました。その後の接続方法について紹介します。
2014030502


 このサーバーに接続するには VPN を使います。その詳しい内容は予約確認ページの真ん中辺りにある "Download Connection User Guide" ボタンをクリックしてダウンロードできる PDF に(英語で)記載されています:
2014030104

以下、その内容を簡単にかいつまんで日本語で紹介します。まずこのボタンの上部に書かれている "VPN appliance IP address", "User ID", "Initial / last reset VPN password" の3つの内容をメモしておきます。これが VPN 接続時に必要な入力項目になります。
2014030601


次に VPN 接続をするクライアント PC からブラウザを起動して、https://vlpvpn.centers.ihost.com/ を参照します。僕の場合は CentOS のマシンから行っているため CentOS でのスクリーンショットを紹介しますが、Windows や Mac からも同様の内容になると思います。

ログインフォームが表示されるので、先程メモした VPN 用 User ID とパスワードを入力します:
2014030602


"Welcome" メッセージが表示されたらログインは成功です。Continue ボタンで先に進みます:
2014030603

この後、ウィザード形式で接続する手続きが始まります。OS の種類が自動認識されていると思いますので、リンク(以下の例であれば "Linux_x86_64" と書かれた箇所)をクリックして処理を進めていきます:
2014030604

おそらくですが、ここから先は OS ごとに手続きが異なるはずです。種類によってはこのまま自動認識が成功して、ウィザード処理を進めていくだけでこのまま VPN までが完了することもあると思います。以下は僕の試した CentOS 環境での場合の説明です、参考程度に参照ください。

リンクをクリックすると、VPN クライアントをセットアップするためのスクリプトのダウンロードが始ります:
2014030604


ダウンロードが完了したら、そのファイルをシェルから実行してインストールします:
# sh vpnsetup.sh

インストールが完了したら、アプリケーションメニューから VPN クライアントを起動します:
2014030605


VPN クライアントが起動します。まず最初の1回目に必要な設定があるので、設定項目を開きます:
2014030606


デフォルト状態では VPN クライアントのセキュリティが強めに設定されています。このままだとこの環境での VPN サーバーに接続できないため、"Block connections to untrusted servers" についているチェックを外します。その上で Close ボタンでこの画面をクローズします:
2014030607


1つ前の画面に戻ります。改めて最初にメモした VPN サーバーの IP アドレス(おそらく 32.97.184.40 で固定)を入力して Connect ボタンをクリックします:
2014030608


先ほどチェックを外した設定に関する確認ダイアログが表示されます(チェックを外さないとこの画面も出ないはずです)。Untrusted なサーバーに対する接続を行うか? という確認です。 今回だけは接続するのであれば "Connect Anyway" を(次回も確認ダイアログがでます)、このサーバーを信頼するのであれば "Always Connect" を(次回からは確認ダイアログがでません)、このどちらかをクリックして接続します。"Keep Me Safe" を選択すると接続しません:
2014030609


ユーザー名とパスワードを聞かれるので、これも上でメモした VPN 用の User ID と Password を入力し、最後に Connect ボタンをクリックします:
2014030610


確認画面が表示されたら、Accept をクリックします。環境や設定によってはこの後に再度 Untrusted サーバーへの接続に関するダイアログが表示されるので "Connect Anyway" か "Always Connect" を選択します:
2014030611


VPN サーバーに正しく接続できると、画面内に VPN が接続できているようなマークが表示されます(以下は CentOS での例):
2014030612



これで VPN 環境が整って、IBM の仮想プライベートネットワークに接続できました。では稼働中の Power 版 RedHat Linux Enterprise サーバーへ接続してみます。

改めて PDP の Virtual Server Access 環境画面を参照して、予約したサーバー環境の IP アドレス、ユーザー名、パスワード、root パスワードを確認してメモしておきます(※上記で説明した VPN 用の ID & パスワードとは異なります。ID だけは同じかもしれません)。
2014030613


確認した IP アドレスに(指定されている)ユーザー名とパスワードで SSH で接続します。Windows であれば PuTTY などの SSH クライアントから接続します。Mac や Linux であれば以下のコマンドとパスワードで:
# ssh u00NNNNN(UserID)@172.29.XXX.XXX(IPアドレス)

ログインできると画面に IBM ロゴが表示されるようです。とうとう Power サーバー環境にログインできました!:
2014030614



で、実際にこのサーバーを使うために色々なセットアップが必要になりますが、このままでは何もできないので、まずは root になりましょう。su コマンドを実行して、メモしておいた root パスワードを指定します:
[u00NNNNN@172-29-XXX-XXX ~]$ su -
パスワード: (rootパスワードを入力)
[root@172-29-XXX-XXX ~]#

ここからはもうご自由に。でも一応最低限のセットアップの紹介をしておきます。

何はともあれ root パスワードを変更します:
[root@172-29-XXX-XXX ~]# passwd
Changing password for user root.
New password:(新しいパスワードを入力)
Retype new password:(同じパスワードを再入力)
passwd: all authentication tokens updated successfully.
本当に Power サーバーかどうか(笑)を確認してみました。本物だ、仮想CPU×4構成:
[root@172-29-XXX-XXX ~]# cat /proc/cpuinfo
processor      : 0
cpu            : POWER7 (architected), altivec supported
clock          : 3864.000000MHz
revision       : 2.1 (pvr 003f 0201)

processor      : 1
  :
  :

timebase       : 512000000
platform       : pSeries
model          : IBM,9179-MHB
machine        : CHRP IBM,9179-MHB

ちなみにセットアップは普通に yum が使えます。MySQL とか PHP とか Apache HTTPD とかについては、x86 版と違いを感じないほど普通に導入できます。

加えて、IBM 製のミドルウェアに関しては、DB2 や WAS(WebSphere Application Server), C/C++ コンパイラなど、いくつかのものは最初から /stage/middleware 以下にインストールメディアがマウントされて使えるようになっています。検証などで必要であれば、ここからインストールして使えるようです:
[root@172-29-XXX-XXX ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda4              29G  3.0G   24G  11% /
tmpfs                1003M     0 1003M   0% /dev/shm
/dev/sda2             463M   46M  394M  11% /boot
nfs.dal-ebis.ihost.com:/var/nfs/LINUX
                       25G   19G  5.1G  79% /stage/middleware

[root@172-29-XXX-XXX ~]# ls /stage/middleware
DB2   IDS       ParallelEnvironment  Rational  TDS  XL_C_C++
ESSL  netbeans  PESSL                SAAS      WAS  XL_Fortran

なお最初にセットアップされている Power 版 RHEL ですが、どうやらフルセットに近いものが用意されているようです。X Window(GNOME) も、日本語環境も、VNC サーバーまでも最初から含まれているようです。ただ VNC サーバーはインストールまではされていますが起動はしていません。最後にその設定および起動方法だけ紹介しておきます(ま、これも x86 版と比べて特に違いはないですけど・・)。

まず、これは必須ではありませんが、せっかく X Window 環境を使うので日本語設定にしておきましょう。/etc/sysconfig/i18n をエディタで開いて、1行目を
[root@172-29-XXX-XXX ~]LANG="ja_JP.UTF-8"

と変更しておきます。

次に /etc/sysconfig/vncservers を編集して、root ユーザーで 5901 番ポートにアクセスするような設定にしておきます:
  :
VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768 -nolisten tcp"
  :

また VNC 接続用のパスワードを設定しておきます:
# vncpasswd
Password:(入力内容は画面に表示されません)
Verify: (同じパスワードを入力)

この段階で一度 VNC サーバーを起動して、設定ファイルのひな型(~/.vnc/xstartup)を作っておきます:
# /etc/init.d/vncserver start

直前のコマンドで xstartup が作成されているはずなので、このファイルを編集します。環境変数 LANG を設定して、GNOME のセッションをそのまま VNC 環境でも使えるようにします:

# vi ~/.vnc/xstartup
#!/bin/sh

export LANG="ja_JP.UTF-8"(この一行を最初に挿入)
  :
  :
(最後の部分を編集)
# xterm -geometory 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & (コメントアウト)
# twm & (コメントアウト)
gnome-session & (この一行を追加)

改めて新しい設定で VNC サーバーを再起動し、またシステム起動と同時に実行されるようにしておきます:

# /etc/init.d/vncserver restart
# chkconfig vncserver on

これで VNC サーバーの準備と起動ができました。 実際に X Window(GNOME) 環境にアクセスしてみます。VPN 接続をしたクライアントの環境に戻り、VNC Viewer などの VNC クライアントを実行します。アクセス先には Linux サーバーの IP アドレスと、最後に 5901 番ポートで接続するための :1 を付けてアクセスします:
2014030615


パスワードを聞かれたら VNC 用に設定したパスワードを入力します:
2014030616


Power 版 RHEL の GNOME 環境にアクセスできました! 普段 CentOS を使っていると RHEL のロゴに少し緊張します(笑)。 といっても、x86 版と比べてほとんど違いはなさそうですけどね・・・
2014030617

実際試してみると分かりますが、普通に日本語も使えます。FireFox まで導入済みなので、すぐにウェブ利用も可能になっています。

この環境が2週間無料で使えるのはいいですね。加えて Power 版 RHEL の出来がいいというか、ほとんど x86 版との違いを感じずに使えるのでストレスもほとんどありません。 仮想環境とはいえ Power CPU × 4 環境のマシンを使えるので、ビットコインの発掘とか x86 用に作ったウェブアプリケーションの Power 環境での動作検証とか、いろいろ使えそうです。


最後にこの環境の終了手順を紹介します。この環境は放っておいても2週間後には使えなくなってしまうのですが、その前にある時点の環境をスナップショットとして保存しておくと、次回の予約時に(Standard Image からではなく)そのスナップショットのイメージから再作成してもらう、ということもできるようです。そのスナップショットの取得方法を紹介します。

PDP の予約画面に戻ります。ここで Virtual Server Access を展開し、スナップショットを取得したいサーバーの予約番号部分を右クリックし、"Save Image" を選択します:
2014030618


すると以下のような画面が出てくるので、"Save image now"(今の状態で保存する)か、"Save image when reservation ends"(利用期間終了時に保存する)かを選びます。またその保存イメージの名前と、説明を記入し、最後に "Save image" ボタンをクリック、です:
2014030619

この方法で取得したイメージは、次回リソース予約時に "Standard image" ではなく "Saved Image" から作成するよう指定することで再利用が可能になっています。この方法で事実上2週間以上必要な検証作業についても(一時的な切断と、IPアドレス等の変更はありますが)作業を継続して行うことができるようです。


IBM PartnerWorld への企業契約が前提になるとはいえ、この環境が無料で使えるのって、かなりお得な気がするなー。

僕自身は AIX や IBM i(AS/400) にはあまり興味ないんですが、最初にダウンロードした PDF のガイドにはこれらの環境での VPN の利用方法なども書かれています。興味あるかたは是非挑戦してみてください。



 

このページのトップヘ