【Quoted:引用】Raspberry PiにSoftEther VPNを入れる

http://www.majishini.net/wp/?p=833

Raspberry PiにSoftEther VPNを入れる

飽き性

以前にRaspberry PiをL2TP/IPSecなサーバに仕立てて使っていたが、なんかつまらない。安定している。たまには障害の一つでも起こってくれれば面白いのに。

そんなつまらない毎日を過ごしていたところ、SoftEther VPNなるソフトがあるとの話を聞きつけ入れてみることにしました。

準備

とりあえずRaspbianをddして、X Window関連のパッケージ消してaptでパッケージを更新。

ネットワーク設定

普通にeth0をVPNの口にすると、VPNでつないだ時にRaspberry Piへつなげなかった。理由は知らないけどそんなものらしい。

仮想ブリッジ作ってeth0とSoftEtherのtapデバイスをつなげば良いみたいなのでブリッジを作る。

余談。SoftEtherにtap作らせるとSoftEhterのプロセスが上がらなければtapデバイスが作られず、ブリッジへの接続とかめんどい。でも事前にip tuntap add…でtapデバイス作ってSoftEtherのローカルブリッジに指定してみたがうまく動かんかった。作り方のお作法でもあるのだろうか。

閑話休題。まずはbridge-utilsを入れる。

# apt-get install bridge-utils

続いて/etc/network/interfacesを編集。

auto lo br0
iface lo inet loopback
iface br0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1

bridge_ports all

SoftEther VPNのビルド

ダウンロードして展開してmakeするだけ。特にパッケージを追加しなくてもビルドできた。終わるとvpnserverというディレクトリができる。

SoftEther VPNのインストール

ビルドしてできたvpnserverディレクトリをsoftetherという名前に変更し、/usr/local/appに移動する。ついでにアクセス権も変える。

# mkdir /usr/local/app
# mv vpnserver softether
# mv softether /usr/local/app
# cd /usr/local/app/softether
# chmod 600 *
# chmod u+x vpn*

まあ、このへんは好みで。

つづいて、起動時にプロセスを上げるため起動スクリプトを作る。以下内容を/etc/init.d/vpnserverに作る。ロックファイルぐらい作ったほうがいいのかな。。。

#! /bin/sh
### BEGIN INIT INFO
# Provides:          vpnserver
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SoftEther VPN 2.0
# Description:       Start SoftEther VPN service.
### END INIT INFO

DAEMON=/usr/local/app/softether/vpnserver

[ -x "$DAEMON" ] || exit 0

case "$1" in
  start)
	$DAEMON start
	sleep 10
	tapdev=`/sbin/ip tuntap | awk -F ":" '{print $1}'`
	/sbin/brctl addif br0 $tapdev
	;;
  stop)
	$DAEMON stop
	;;
esac

:

実行権限つけて登録してやる。

# chmod +x /etc/init.d/vpnserver
# update-rc.d vpnserver defaults

ここらで再起動してブリッジが作られることとSoftEtherが自動で上がることを確認する。

SoftEther VPNの設定

SoftEther VPN Server Manager for Windowsを利用して設定します。Windows?無いな。でもWineで動くので問題はない。

とりあえず起動します。起動したら新しい接続設定を押下します。

Screenshot-SoftEther VPN サーバー管理マネージャ

それっぽいことを入力してOKを押下します。管理パスワードは空で大丈夫。

Screenshot-新しい接続設定の作成

追加した接続先へ接続すると管理パスワードを聞いてくるので好きなパスワードを入れる。

Screenshot-192.168.1.20 の管理者パスワードの設定

ウィザードが表示されるので、[リモートアクセスVPNサーバー]を有効に。

Screenshot-SoftEther VPN Server - Bridge 簡易セットアップ

仮想HUB名を指定。

Screenshot-簡易セットアップ - 仮想 HUB 名の決定

DDNSを設定。

Screenshot-ダイナミック DNS 機能

L2TPを有効にし、事前共有キーを指定する。

Screenshot-IPsec - L2TP - EtherIP - L2TPv3 設定

VPN Azureクラウドは使わない。アジュールでクラウドっていうとWindows Azureを連想してしまうが無関係。ってかこの機能、企業の管理者は嫌だろうな。

Screenshot-VPN Azure サービスの設定

ユーザーを追加する。追加の仕方は画面を見りゃわかるので割愛。ローカルブリッジはとりあえずeth0を選ぶ。

Screenshot-簡易セットアップの実行

VPNサーバー管理マネージャが表示されたら、ローカルブリッジ設定を押下してローカルブリッジ設定画面を表示させる。画面が表示されたら既存のローカルブリッジをすべて削除する。

Screenshot-ローカルブリッジ設定

引き続き、仮想HUBがVPN、新しいtapデバイス名をvpnとしてローカルブリッジを追加する。

Screenshot-ローカルブリッジ設定

Screenshot-ローカルブリッジ設定

tapデバイス”tap_vpn”が作られたことを確認し、仮想ブリッジbr0へ追加する。

# ip tuntap
tap_vpn: tap
# brctl addif br0 tap_vpn
# brctl show br0
bridge name	bridge id		STP enabled	interfaces
br0		8000.00ac214c5656	no		eth0
							tap_vpn

動作確認

Android(ISW11K)で接続できることを確認。つなぎ方はマニュアルに記載。

感想

インストールも簡単だし、まあ便利なのかな。単に携帯から繋ぎたいだけならopenswanとxl2tpd使ったほうがパッケージで入るぶん管理・保守が楽かも。

ただSoftEtherは能書きを読むとすごく高機能なソフトみたいなので、その高機能が必要な人にとってはインストールが楽ってのはありがたいのでしょう。

【Quoted:引用】Debian 7 wheezy に SoftEther VPN をインストール

http://labs.hatenablog.com/entry/debian-wheezy-softethervpn

Debian 7 wheezy に SoftEther VPN をインストール

f:id:log134:20150109143953j:plain

Debian wheezy に SoftEther VPN をインストールしてみます。
SoftEther VPN は 筑波大学が開発したVPNソフトウェアです。

SoftEther VPN プロジェクト – SoftEther VPN プロジェクト

L2TPやIPSecを個別にインストールし設定するより簡単にVPNサーバを立ち上げることができます。
NAT越えの設定も簡単なので、家庭用やスマートフォン用のVPNサーバにぴったりです。
Windows用の管理クライアントソフトがあり、これを使うとGUIでユーザー追加や各種設定の変更が可能です。

出先でFree WiFiを使用するときに自宅サーバやVPSなどのレンタルサーバにこのSoftEther VPN設定しておけば、手軽にセキュアな通信環境を手に入れる事ができます。

必要なパッケージをインストール

Debianを素の状態でインストールしたので、インストールに必要な環境を作ります。

# apt-get install build-essential

SoftEther VPNをインストール

上記の公式サイトから安定版の最新バージョンをダウンロードしてインストールします。
今回のDebianは64bitなので、CPUは「Intel x64 / AMD64 (64bit)」を選択します。
betaと書いてあるものではなく、安定版の最新バージョンを使用します。
ダウンロードサイトにはbetaの最新版が一番上にあるので紛らわしいので要注意です。

# cd /opt/

# wget http://jp.softether-download.com/files/softether/v4.08-9449-rtm-2014.06.08-tree/Linux/SoftEther%20VPN%20Server/64bit%20-%20Intel%20x64%20or%20AMD64/softether-vpnserver-v4.08-9449-rtm-2014.06.08-linux-x64-64bit.tar.gz
 
# tar -xzvf softether-vpnserver-v4.08-9449-rtm-2014.06.08-linux-x64-64bit.tar.gz  
# cd vpnserver
# make

/opt以下にインストールしていますが、/usr/local/とかでも問題ないです。
make すると規約とライセンスの確認プロンプトが出てくるので、それぞれYes/Agreeを選択します。

パーミッションの設定

# cd /opt/vpnserver
# chmod 600 ./*
# chmod 700 ./vpncmd
# chmod 700 ./vpnserver

特に必要な工程ではないですが、他ユーザーがいじれないようにパーミッション’を変えておきます。

起動スクリプトの作成と自動起動の設定

#!/bin/sh

# chkconfig: 2345 99 01
# description: SoftetherVPN 4.0

### BEGIN INIT INFO
# Provides:          vpnserver
# Required-Start:
# Required-Stop:
# X-Stop-After:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: SoftetherVPN 4.0
# Description:
### END INIT INFO

DAEMON=/opt/vpnserver/vpnserver
LOCK=/var/lock/vpnserver

test -x $DAEMON || exit 0

case "$1" in
start)
        $DAEMON start
        touch $LOCK
        ;;
stop)
        $DAEMON stop
        rm $LOCK
        ;;
restart)
        $DAEMON stop
        sleep 3
        $DAEMON start
        ;;
*)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
esac

exit 0

DAEMON=/opt/vpnserver/vpnserver はインストールした場所に合わせ変更して下さい。

# chmod 755 /etc/init.d/vpnserver 
# update-rc.d vpnserver defaults
# /etc/init.d/vpnserver start

パーミッションを変更し、vpnserverを起動させます。
ここまでで、SoftEther VPNが動く状態になりました。

管理パスワードの設定

WindowのGUIクライアントからアクセスする時に必要な管理パスワードを作成します。
ここで設定しなくてもGUI側から設定することも可能です。

# ./vpncmd 

By using vpncmd program, the following can be achieved. 

1. Management of VPN Server or VPN Bridge 
2. Management of VPN Client
3. Use of VPN Tools (certificate creation and Network Traffic Speed Test Tool)

Select 1, 2 or 3: 1

VPN Server の設定なので1を選択します。

Specify the host name or IP address of the computer that the destination VPN Server or VPN Bridge is operating on. 
By specifying according to the format 'host name:port number', you can also specify the port number. 
(When the port number is unspecified, 443 is used.)
If nothing is input and the Enter key is pressed, the connection will be made to the port number 8888 of localhost (this computer).
Hostname of IP Address of Destination: YOURHOST.NAME

続いてIP、ホスト名などの設定です。
YOURHOST.NAME は自身のIP、ホスト名に置き換えて下さい。

If connecting to the server by Virtual Hub Admin Mode, please input the Virtual Hub name. 
If connecting by server admin mode, please press Enter without inputting anything.
Specify Virtual Hub Name: 

管理モードなのでここは何も入力しないでEnterです。

VPN Server>ServerPasswordSet
ServerPasswordSet command - Set VPN Server Administrator Password
Please enter the password. To cancel press the Ctrl+D key.

Password: *************
Confirm input: *************


The command completed successfully.

VPN Server>exit

ServerPasswordSet でパスワードを設定し、exitでコマンドモードを抜ければ設定完了です。
あとはWindowsの管理クライアントからユーザーの作成と設定を行うだけです。
ひとまず、インストール編はここまで。

日本語環境に変更する

ログやコマンドモードを日本語に変更することができます。
この手のログは英語の方が直感的に分かりやすい&エラー時等の検索ヒットが多いですが、日本語がいいという場合には下記のファイルを編集するだけです。

# vi lang.config

以下の部分のenをコメントアウトして、jaを記載するだけです。

# Specify a Language ID here.
#en
ja

以上で日本語になります。

【Quoted:引用】OpenVPN 設定メモ (Debian 7 Wheezy)

http://www.manabii.info/2014/11/openvpn-setting-memo-for-debian-7-wheezy.html

OpenVPN 設定メモ (Debian 7 Wheezy)

OpenVZ (多分) の VPS を借りて、VPN サーバを立てようとしたのだけど、IPsec に必要なモジュールがロードされていなくて動作せず、他の VPN と言っても今さら PPTP は無いし、で探したところ、「OpenVPN」と言うものがあったので、それの設定メモ。

■設定環境
多分 OpenVZ で動作していると思われる VPS 。
ゲスト OS として、Debian 7 Wheezy AMD64 を利用。

■サーバの環境確認
サーバで tun が使えるかどうか確認。
※ほとんどの VPS で使えるはずだが、場合によっては使用できない可能性もあるため。

$ ls -la /dev/net/tun
crw——- 1 root root 10, 200 Nov 23 15:52 /dev/net/tun
上記のように /dev/net/tun が存在すれば OK 。

■ OpenVPN のサーバをインストール
# apt-get install openvpn
例によって、apt-get コマンドでインストールする。

■証明書を作成するツールの設定
OpenVPN のパッケージに easy-rsa という、証明書を簡単に作ってくれるツールがあるので、それを任意のディレクトリにコピーしてくる。
$ cp -a /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa
$ chmod 700 easy-rsa
$ cd easy-rsa
・vars ファイルを編集する。
export KEY_SIZE=2048
・pkitool ファイルを編集する。(証明書を sha256 で発行したいので)
openssl のパラメータで「sha1」となっているところを「sha256」に置換。(2 箇所)

■証明書などの作成 (初回のみ)
・環境変数を読み込む。(シェルから抜けた場合は、作業前に必ず実行する。)
$ source ./vars
・鍵をクリアする。(初回のみ。証明書を作ってからやると全部消えるので注意。)
$ ./clean-all
・Diffie Hellman パラメータの生成。(初回のみ。それなりに時間がかかる。)
$ ./build-dh
・CA を作成する (初回のみ。)
$ ./build-ca
以下の入力内容は例である。実際に適切に入力を行うこと。
Country Name (2 letter code) []:JP
State or Province Name (full name) []:.
Locality Name (eg, city) []:.
Organization Name (eg, company) []:Example
Organizational Unit Name (eg, section) []:Example
Common Name (eg, your name or your server’s hostname) []:www.example.com
Name []:.
Email Address []:example@example.com
・OpenVPN のサーバ側の証明書を作成する。(初回のみ。)
$ ./build-key-server server
以下の入力内容は例である。実際に適切に入力を行うこと。
Country Name (2 letter code) []:JP
State or Province Name (full name) []:.
Locality Name (eg, city) []:.
Organization Name (eg, company) []:Example
Organizational Unit Name (eg, section) []:Example
Common Name (eg, your name or your server’s hostname) []:www.example.com
Name []:.
Email Address []:example@example.com

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
・静的鍵の作成 (初回のみ。オプション。)
openvpn –genkey –secret keys/ta.key
証明書での認証以外に、別の共有シークレットとなる静的鍵を生成する。必要に応じて作成。(特に作らなくても良い。)

■クライアント証明書の作成 (クライアント毎に実行)
書式: build-key クライアント名

環境変数を読み込む。(シェルから抜けた場合は、作業前に必ず実行する。)
$ source ./vars
クライアント証明書を発行する。
$ ./build-key pc-01
以下の入力内容は例である。実際に適切に入力を行うこと。
Country Name (2 letter code) []:JP
State or Province Name (full name) []:.
Locality Name (eg, city) []:.
Organization Name (eg, company) []:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server’s hostname) [pc-01]:
Name []:.
Email Address []:example@example.com

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
■ OpenVPN サーバ側の設定
・証明書格納ディレクトリを作成する。
# mkdir /etc/openvpn/certs
# chmod 755 /etc/openvpn/certs
# mkdir /etc/openvpn/private
# chmod 700 /etc/openvpn/private
・証明書と秘密鍵をそれぞれコピーする。
作成した証明書は、easy-rsa/keys ディレクトリにあるので、そこへ移動する。
# cp -p ca.crt server.crt dh2048.pem /etc/openvpn/certs/
# chown -R root:root /etc/openvpn/certs
# cp -p server.key /etc/openvpn/private/
# chown -R root:root /etc/openvpn/private/
・静的鍵を作成した場合は以下も実行
# cp -p ta.key /etc/openvpn/private/
# chown root:root /etc/openvpn/private/ta.key
・設定ファイルのひな形をコピー
# cd /etc/openvpn
# zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > server.conf
・/etc/openvpn/server.conf を以下の内容で作成する。
port 1194
proto udp
dev tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/server.crt
key /etc/openvpn/private/server.key
dh /etc/openvpn/certs/dh2048.pem
server 192.168.64.0 255.255.255.0 # ここでの IPv4 ネットワークは、内部的に VPN で使用するもの。
ifconfig-pool-persist ipp.txt
push “redirect-gateway def1 bypass-dhcp”
push “dhcp-option DNS aaa.bbb.ccc.ddd” # DNS キャッシュサーバを指定
push “dhcp-option DNS vvv.xxx.yyy.zzz” # DNS キャッシュサーバを指定 (オプション)
client-to-client # VPN クライアント間で通信を許すかという設定のようである。
keepalive 10 120
# 静的鍵を使う場合は有効化する
#tls-auth /etc/openvpn/private/ta.key 0
# 以下の暗号化形式が各クライアントと合致する必要あり。
cipher AES-256-CBC
# 以下のメッセージハッシュも各クライアントと合致する必要あり。
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
・OpenVPN サーバを起動
/etc/init.d/openvpn restart
・サーバ側は、NAPT し、パケット転送を許可しておく。
# iptables -P FORWARD DROP
# iptables -A INPUT -p udp –dport 1194 -i venet0 -d [サーバの IPv4 アドレス] -j ACCEPT
# iptables -A FORWARD -i tun0 -o tun0 -s 192.168.64.0/24 -d 192.168.64.0/24 -j ACCEPT
# iptables -A FORWARD -i tun0 -o venet0 -s 192.168.64.0/24 -j ACCEPT
# iptables -A FORWARD -i venet0 -o tun0 -d 192.168.64.0/24 -m state –state RELATED,ESTABLISHED -j ACCEPT
# iptables -t nat -A POSTROUTING -o venet0 -s 192.168.64.0/24 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward
■クライアント証明書の失効方法
書式: revoke-full クライアント名

・環境変数を読み込む。(シェルから抜けた場合は、作業前に必ず実行する。)
$ source ./vars
・pc-01 という証明書を失効させる。
$ ./revoke-full pc-01
・crl ファイルを OpenVPN で読み込むようにする。
# cd keys/
# cp -p crl.pem /etc/openvpn/certs/
# chown root:root /etc/openvpn/certs/crl.pem
・OpenVPN 設定ファイル、/etc/openvpn/server.conf へ crl ファイルのパスを設定。(初回のみ)
crl-verify /etc/openvpn/certs/crl.pem
※なお、crl ファイルは、誰からも読めなければならない。
・OpenVPN を再起動する。
# /etc/init.d/openvpn restart
次回以降に新たに証明書を失効させた場合、crl.pem を /etc/openvpn/certs にコピーする。
※ OpenVPN の再起動は不要。

■クライアントの追加
「クライアント証明書の作成 (クライアント毎に実行)」の項をクライアント分だけ行う。

■クライアント側の設定
クライアント側には
ca.crt
server.crt
pc-01.crt
pc-01.key (秘密)
ta.key (秘密: 静的鍵を作成した場合のみ)
を安全な経路でコピーして、この情報を用いて接続。

■ iOS デバイスクライアントの設定例
クライアントソフトウェアとして、「OpenVPN Connect」を使用する場合の設定ファイルの例。

「example.ovpn」という様なファイル名で作成する。
client
dev tun
proto udp
remote [サーバの IPv4 アドレスまたは FQDN] 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
cipher AES-256-CBC
auth SHA256
comp-lzo
verb 1

CA 証明書

クライアント証明書

クライアント証明書の秘密鍵

※静的鍵を使用する場合は、それを含める必要がある。

このファイルを iTunes のファイル共有機能で OpenVPN Connect に読み込ませる。

■その他 OpenVPN で有用と思われるコマンド
・使用できる ciphers 一覧
openvpn –show-ciphers
・使用できる tls-ciphers 一覧
openvpn –show-tls
・使用できる認証用 HMAC 一覧
openvpn –show-digests
■設定していて思った点
簡単に証明書が作成できるツールがついているのが良い。
サーバと、各クライアント間での暗号方式 (cipher) やメッセージハッシュ (auth) は同一である必要がある模様。
クライアントの設定も、基本テキストベースなので、この辺りは設定内容に自信が無い。(とりあえずつながった程度。今までは OS 標準の VPN クライアントしかさわったことがないので新鮮だった。)
■参考にさせて頂いたサイト
OpenVPN.JP | OpenVPN日本語情報サイト
OpenVPN – Debian Wiki
How to install and set-up OpenVPN in Debian 7 (Wheezy) | Stavrovski.Net
OpenVPN で不要になったクライアント証明書を無効にし、該クライアントからの接続を拒否する | レンタルサーバー・自宅サーバー設定・構築のヒント

【Quoted:引用】VMWare Playerを自動起動させる(Windows7編)

VMWare Playerを自動起動させる(Windows7編)
VMWare Playerでのサイト運営をなるべくなら24時間365日停止しないようにしたいですが、とくにホストOSにWindowsを利用しているとなかなか難しいです。
例えばホストOSにWindowsを使用していると、予期しないタイミングでWindows Updateの自動更新後にPCが自動的に再起動することがあったりして、気がつくとVMWare Playerが停止しているがあります。

万が一、予期しないタイミングでWindows7が再起動したときでも、VMWare Player自動起動するようにする設定方法を紹介します。

<VMWare Playerを自動起動させる>

検証環境:Windows 7 Professional 64bit、VMWare Player v3.0.1(Cent OS v5.4 64bit)

まず、VMWare Playerの起動用バッチファイルを作成する。テキストエディタを開き、次の1行を書く。
1
“C:\Program Files (x86)\VMware\VMware Player\vmplayer.exe” “G:\Virtual Machines\CentOS v5.4 64ビット\CentOS v5.4 64ビット.vmx”
(VMWare Playerの実行パスとvmxファイルパスは環境に合わせて適宜書き換えてください)

ファイル名を「vm_start.bat」などとして保存する。
スタートアップに登録する。登録方法は、スタートアップにファイルコピーする方法と、レジストリにファイルパスを指定する方法の2パターンがある。
以下でその2パターンを紹介するが、どちらを選んでいただいても構いません。
●パターン1 [スタートアップ]にファイルを登録する
先ほど作成した「vm_start.bat」を「C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup」へファイルコピーする。

●パターン2 レジストリにファイルを登録する
まずは、 [Windiwsスタート]-[ファイル名を指定して実行] をクリックする。

次に、HKEY_LOCAL_MACHINE¥Software¥Microsoft¥Windows¥CurrentVersion¥runtを開く。
そして、右クリックより[新規作成] > [文字列値]をクリックする。
レジストリエディター
(画像クリックで拡大表示)

値の名前は任意で構わないので、ここでは”vm_start”としておく。
その後、[vm_start]を選択して、右クリックから[修正]をクリックして、「vm_start.bat」のファイルパスを入力する。
( 今回はvm_start.batファイルのパスをC:\Apps\vm_start.batとした )

レジストリエディター
(画像クリックで拡大表示)
なお、前項のパターン1、パターン2のどちらについてもユーザがログインするまでは実行されません。
もし、ログインパスワードを設定している場合には自動ログインされないため、セキュリティを無視することになるが、Windows7の起動時はパスワードを聞かずにログインするように設定しておきましょう。
( 殆どの方はセキュリティのため、パスワードを設定していると思いますので )設定するには、まず[Windiwsスタート]-[ファイル名を指定して実行] をクリックする。
名前欄に control userpasswords2 と入力し[OK]をクリックして、ユーザーアカウントを起動する。
ユーザーアカウント
(画像クリックで拡大表示)
最後に、画面下の[OK]ボタンをクリックすると、パスワードの入力が求められるので、パスワードを正しく入力すれば、次回の再起動から自動ログインするようになる。
以上により、Windows起動と同時にVMWare Playerが立ち上がるようになる。
また、Windows Updateは自動的に再起動が行われることがあるが、サイトアクセスが少ない時間帯などの任意のタイミングで再起動をしたいですよね。

そのため、Windows7の自動再起動を無効にしてしまいます。

<Windows Updateの自動再起動を無効にする>

スタートメニューの「ファイル名を指定して実行」を開き、「gpedit.msc」と入力して「ローカルグループポリシーエディター」を起動する。
左メニューより、「コンピューターの構成 > 管理用テンプレート > Windowsコンポーネント > Windows Update」を開く。
Windows Updateの設定画面より、「スケジュールされた自動更新のインストールで、ログオンしているユーザーがいる場合には自動的に再起動しない」をダブルクリックする。
———–
以上で紹介した「Windows Updateの自動再起動を無効にする」ですが、Windows Vista Home Premiumや、Windows 7 Starter/Home Premiumではグループ・ポリシー・エディタがないため、上記の方法では再起動を抑制できないですが、レジストリを編集することで設定できるようです。
⇒ Windows Update適用後の自動再起動を抑制する - @IT
MeasureMeasure
関連するノート
VMWare Playerを自動起動させる(Windows7編) | CONETA.JP
VMWare Playerでのサイト運営をなるべくなら24時間365日停止しないようにしたいですが、とくにホストOSにWindowsを利用しているとなかなか難しいです。 例えばホストOSにWindowsを使用していると、予期しないタイミングでWindows Updateの自動更新後にPCが自動的に再起動することがあったりして、気がつくとVMWare Playerが停止しているがあります。 万が一、…
VMWare Playerを自動起動させる(Windows7編) | CONETA.JP
VMWare Playerを自動起動させる(Windows7編) VMWare Playerでのサイト運営をなるべくなら24時間365日停止しないようにしたいですが、とくにホストOSにWindowsを利用しているとなかなか難しいです。 例えばホストOSにWindowsを使用していると、予期しないタイミングでWindows Updateの自動更新後にPCが自動的に再起動することがあったりして、気がつ…
VMWare Playerを自動起動させる(Windows7編) | CONETA.JP
. WordPressを使ってのサイト構築から便利なプラグインやテンプレートの紹介、フリーのPNG・AI・PSDアイコンやGUIセットの紹介、SEO最適化による集客方法など、WEB制作・運用に関するテクニックをお届けしています! コンテンツへ移動 ホーム フリー写真素材 お問い合わせ VMWare Playerを自動起動させる(Windows7編) VMWare Playerでのサイト運営

OpenVZ_Settin_Memo

#####
OpenVZ_Debian_boot_10.33.1.212.bat
“D:\Prog(x86)\VMware\VMwarePlayer\vmplayer.exe” “D:\VMX\debian760amd64netinst40GB_E930T_928_806Copy212\debian760amd64netinst40GB_E806_F204_212.vmx”
Rem pause
cls

vzctl-start-2100-2108.sh
vzctl start 2100
vzctl start 2101
vzctl start 2102
vzctl start 2103
vzctl start 2104
vzctl start 2105
vzctl start 2106
vzctl start 2107
vzctl start 2108

vzlist -a

#####
OpenVZ_Debian_boot_10.33.1.213.bat
“D:\Prog(x86)\VMware\VMwarePlayer\vmplayer.exe” “D:\VMX\debian760amd64netinst40GB_E930T_928_806Copy212to213\debian760amd64netinst40GB_E806_F204_113.vmx”
Rem pause
cls

vzctl-start-2109-2116.sh
vzctl start 2109
vzctl start 2110
vzctl start 2111
vzctl start 2112
vzctl start 2113
vzctl start 2114
vzctl start 2115
vzctl start 2116

vzlist -a

#####
OpenVZ_Debian_boot_10.33.1.214.bat
“D:\Prog(x86)\VMware\VMwarePlayer\vmplayer.exe” “D:\VMX\debian760amd64netinst40GB_E930T_928_806Copy212_3to214_114_F204-\debian760amd64netinst40GB_E806_114_F204-.vmx”
Rem pause
cls

vzctl-start-2117-2124.sh
vzctl start 2117
vzctl start 2118
vzctl start 2119
vzctl start 2120
vzctl start 2121
vzctl start 2122
vzctl start 2123
vzctl start 2124

vzlist -a

#####
OpenVZ_Debian_boot_10.33.1.215.bat
“D:\Prog(x86)\VMware\VMwarePlayer\vmplayer.exe” “D:\VMX\debian760amd64netinst40GB_E930T_928_806Copy212_3_4to215_115_F204-\debian760amd64netinst40GB_E806_115_F204-.vmx”
Rem pause
cls

vzctl-start-2125-2135.sh
vzctl start 2125
vzctl start 2126
vzctl start 2127
vzctl start 2128
vzctl start 2129
vzctl start 2130
vzctl start 2131
vzctl start 2132
vzctl start 2133
vzctl start 2134
vzctl start 2135

vzlist -a

#####
OpenVZ_Debian_10.33.1.211.bat
route add 192.168.212.0/24 10.33.1.212
route add 192.168.213.0/24 10.33.1.213
route add 192.168.214.0/24 10.33.1.214
route add 192.168.215.0/24 10.33.1.215

C:\Program Files (x86)\VMware\VMware Player\vmplayer.exe “F:\VMX\debian760-amd64netinst-40GB_E916\debian760-amd64netinst-40GB_E916.vmx”

#####
OpenVZ_Debian_10.33.1.128.bat
C:\Program Files (x86)\VMware\VMware Player\vmplayer.exe “F:\VMX\debian607-amd64-a13330_netinst\debian607-amd64-a13330_netinst.vmx”

#####

【Quoted:引用】Raspberry Piの完全バックアップ、外部マイクロSDカードへの自動バックアップ

http://denshikousaku.net/backup-raspberry-pi

Raspberry Piの完全バックアップ、外部マイクロSDカードへの自動バックアップ

今までRaspberry Piの重要なファイルを定期的にUSBメモリにバックアップしていましたが、これからは全ファイルを外部マイクロSDカードにバックアップしてSDカードが壊れた時も取り替えるだけで再開できるようにします。

完全バックアップに必要なもの

microSDHC/microSD対応リーダーライター
変換名人 microSDHC(最大32GB)/microSD(最大2GB)対応リーダーライター USB2.0(A平型オス)接続 超短&キャップ付 TF-USB2/M

Transcend microSDHCカード 16GB Class10
【Amazon.co.jp限定】Transcend microSDHCカード 16GB Class10 (無期限保証) Newニンテンドー3DS 動作確認済み TS16GUSDHC10E (FFP)

メーカーによってSDカード/マイクロSDカードの容量が若干異なりそれが原因でイメージファイルの書き込みに失敗する場合があります。

そのため今Raspberry Piで使っているSDカードよりも大きな容量のマイクロSDカードを購入してください。Raspberry PiでマイクロSDカードを使っているなら同じメーカーの同じものか、違うメーカーの場合は元の容量よりも大きな容量を購入して使用してください。

ちなみにmicroSDHCカードのことをマイクロSDカードと呼んでいます。気にするほどの違いはありません。

Raspberry Piのバックアップの下準備

Raspberry PiのSDカードを引っこ抜いてWin32DiskImagerを使ってSDカードのバックアップを取ります。

やりかたは下記で既に記載しているのでそこを参考にしてください。
Model BのSDカードをバックアップしてModel B+のマイクロSDカードにリストアして調整する

新しいマイクロSDカードにバックアップしたファイルを書き込みます。

マイクロSDカードをSDカードアダプタに入れて、Raspberry Pi Model BのSDカードスロットに差し込みます。Model B+の場合は、マイクロSDカードをそのまま差し込んでください。

Raspberry Piを起動します。

1 sudo raspi-config

1. Expand Filesystem
上記を選んで容量を拡張します。

Raspberry PiをShutdownしてマイクロSDカードを引っこ抜きます。

引っこ抜いたマイクロSDカードをUSBアダプタにつけてRaspberry PiにつなげているUSBハブにくっつけます。Raspberry PiのUSBポートに空きがあれば、そこにつけても構いません。もともとのSDカード/マイクロSDカードをRaspberry Piに差し込んでRaspberry Piを起動します。

とりあえずこれで完全バックアップの準備は整いました。

Raspberry Piをrsyncで同期する

rsyncを使ってRaspberry PiのデータをUSBアダプタにつけたマイクロSDカードへ同期させます。

rsyncについては下記で説明しています。
Raspberry Piでファイルサーバ、Part4 外付けハードディスクのバックアップ編

とりあえずrsyncが入っていない場合はインストールします。

1 sudo apt-get install rsync

ちなみに現在のRaspberry Piのファイル構成

1 df -h
2
3 Filesystem      Size  Used Avail Use% Mounted on
4 rootfs          7.4G  3.0G  4.1G  43% /
5 /dev/root       7.4G  3.0G  4.1G  43% /
6 devtmpfs        239M     0  239M   0% /dev
7 tmpfs            49M  548K   48M   2% /run
8 tmpfs           5.0M     0  5.0M   0% /run/lock
9 /dev/sda1       230G   62M  218G   1% /media/hdd2
10 /dev/sdb1       294G   65M  279G   1% /media/hdd1
11 tmpfs            97M     0   97M   0% /run/shm
12 /dev/mmcblk0p1   56M  9.7M   47M  18% /boot
13 tmpfs            32M     0   32M   0% /tmp
14 tmpfs            16M     0   16M   0% /var/tmp
15 tmpfs            32M  564K   32M   2% /var/log
16 /dev/sdc1        56M  9.7M   47M  18% /media/usb0
17 /dev/sdc2        15G  3.0G   11G  22% /media/usb1
18
19 cd /
20 ls
21
22 bin       dev   lib         mnt   root               sbin     sys  var
23 boot      etc   lost+found  opt   run                selinux  tmp
24 boot.bak  home  media       proc  sbin

hdd1とhdd2は外部ハードディスクです。USBアダプタをつけたマイクロSDカードはusb0とusb1で認識されています。そのうちusb0はboot用の領域なので、usb1がバックアップ先になります。

USBアダプタをつけたマイクロSDカードが認識されていない場合、USBメモリでRaspberry Piをバックアップする+WordPressを読んでください。USBメモリのマウントの仕方を載せています。USBアダプタをつけたマイクロSDカードも実質的にはUSBメモリとして認識されるので同じようなやり方が通じるはずです。

同期しない/同期してはいけないディレクトリを設定します。

1 cd /
2 sudo vim rsync-exclude.txt
3
4 /proc/*
5 /sys/*
6 /dev/*
7 /boot/*
8 /tmp/*
9 /run/*
10 /mnt/*
11 /var/tmp/*
12 /var/log/*
13 /media/*

次にrsyncを使って実際に同期を行います。

1 sudo rsync -aEv --delete-during --exclude-from=/rsync-exclude.txt / /media/usb1/

rsync-exclude.txtで除外リストを読み込んでいます。
/media/usb1/は人それぞれ若干変わる可能性があるので自分で調べましょう。他にUSBメモリを指している場合、usb2とかusb3になっている可能性があります。

問題なく完了すると、
sent *** bytes received *** bytes *** bytes/sec
total size is *** speed up is ***
というようなメッセージが出て完了です。

/media/usb1/の中身を確認してrsync-exclude.txtが入っていれば同期ができています。

最後にcrontabで同期する時間を設定して設定完了です。

1 sudo crontab -e
2 0 4 * * 0  rsync -a --delete-during --exclude-from=/rsync-exclude.txt / /media/usb1/

rsyncのオプションでvはメッセージを表示するやつだから削除します。Eが必要なのか不要なのかわからないのですが、とりあえず削除してしまいました。

1週間に1度同期を行います。
日曜の早朝4時に同期を開始します。

普通のSDカード/マイクロSDカードの書き換え寿命は1万回くらいあるそうです。

読み込み・書き込み・削除などでバックアップ1回につき3回消費したとします。1日1回バックアップを取ったとしても、3333日、10年くらい持ちます。実際には16GBのマイクロSDカードに3GBのバックアップをとるので、寿命は5倍、50年くらい持ちます。

毎日バックアップをとってもいいのですが、基本的にデータの書き換えはあまり行わないので私の場合1週間に1度だけバックアップを取ることにしました。これで想定寿命が7倍になって、350年!どこかで計算を間違えていても私の寿命がなくなるまでは持つことでしょう。

バックアップ元のSDカードはサーバーとして毎日動いているので1日10回分消費したとして1000日、3年くらいの寿命になるかなと思います。

【Quoted:引用】OpenVPN 設定メモ (Debian 7 Wheezy)

http://www.manabii.info/2014/11/openvpn-setting-memo-for-debian-7-wheezy.html

OpenVPN 設定メモ (Debian 7 Wheezy)

OpenVZ (多分) の VPS を借りて、VPN サーバを立てようとしたのだけど、IPsec に必要なモジュールがロードされていなくて動作せず、他の VPN と言っても今さら PPTP は無いし、で探したところ、「OpenVPN」と言うものがあったので、それの設定メモ。

■設定環境

多分 OpenVZ で動作していると思われる VPS 。
ゲスト OS として、Debian 7 Wheezy AMD64 を利用。

■サーバの環境確認

サーバで tun が使えるかどうか確認。
※ほとんどの VPS で使えるはずだが、場合によっては使用できない可能性もあるため。

$ ls -la /dev/net/tun
crw------- 1 root root 10, 200 Nov 23 15:52 /dev/net/tun

上記のように /dev/net/tun が存在すれば OK 。

■ OpenVPN のサーバをインストール

# apt-get install openvpn

例によって、apt-get コマンドでインストールする。

■証明書を作成するツールの設定

OpenVPN のパッケージに easy-rsa という、証明書を簡単に作ってくれるツールがあるので、それを任意のディレクトリにコピーしてくる。

$ cp -a /usr/share/doc/openvpn/examples/easy-rsa/2.0 ./easy-rsa
$ chmod 700 easy-rsa
$ cd easy-rsa

・vars ファイルを編集する。

export KEY_SIZE=2048

・pkitool ファイルを編集する。(証明書を sha256 で発行したいので)

openssl のパラメータで「sha1」となっているところを「sha256」に置換。(2 箇所)

■証明書などの作成 (初回のみ)

・環境変数を読み込む。(シェルから抜けた場合は、作業前に必ず実行する。)

$ source ./vars

・鍵をクリアする。(初回のみ。証明書を作ってからやると全部消えるので注意。)

$ ./clean-all

・Diffie Hellman パラメータの生成。(初回のみ。それなりに時間がかかる。)

$ ./build-dh

・CA を作成する (初回のみ。)

$ ./build-ca

以下の入力内容は例である。実際に適切に入力を行うこと。

Country Name (2 letter code) []:JP
State or Province Name (full name) []:.
Locality Name (eg, city) []:.
Organization Name (eg, company) []:Example
Organizational Unit Name (eg, section) []:Example
Common Name (eg, your name or your server's hostname) []:www.example.com
Name []:.
Email Address []:example@example.com

・OpenVPN のサーバ側の証明書を作成する。(初回のみ。)

$ ./build-key-server server

以下の入力内容は例である。実際に適切に入力を行うこと。

Country Name (2 letter code) []:JP
State or Province Name (full name) []:.
Locality Name (eg, city) []:.
Organization Name (eg, company) []:Example
Organizational Unit Name (eg, section) []:Example
Common Name (eg, your name or your server's hostname) []:www.example.com
Name []:.
Email Address []:example@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y

・静的鍵の作成 (初回のみ。オプション。)

openvpn --genkey --secret keys/ta.key

証明書での認証以外に、別の共有シークレットとなる静的鍵を生成する。必要に応じて作成。(特に作らなくても良い。)

■クライアント証明書の作成 (クライアント毎に実行)

書式: build-key クライアント名

環境変数を読み込む。(シェルから抜けた場合は、作業前に必ず実行する。)

$ source ./vars

クライアント証明書を発行する。

$ ./build-key pc-01

以下の入力内容は例である。実際に適切に入力を行うこと。

Country Name (2 letter code) []:JP
State or Province Name (full name) []:.
Locality Name (eg, city) []:.
Organization Name (eg, company) []:.
Organizational Unit Name (eg, section) []:.
Common Name (eg, your name or your server's hostname) [pc-01]:
Name []:.
Email Address []:example@example.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

■ OpenVPN サーバ側の設定

・証明書格納ディレクトリを作成する。

# mkdir /etc/openvpn/certs
# chmod 755 /etc/openvpn/certs
# mkdir /etc/openvpn/private
# chmod 700 /etc/openvpn/private

・証明書と秘密鍵をそれぞれコピーする。

作成した証明書は、easy-rsa/keys ディレクトリにあるので、そこへ移動する。

# cp -p ca.crt server.crt dh2048.pem /etc/openvpn/certs/
# chown -R root:root /etc/openvpn/certs
# cp -p server.key /etc/openvpn/private/
# chown -R root:root /etc/openvpn/private/

・静的鍵を作成した場合は以下も実行

# cp -p ta.key /etc/openvpn/private/
# chown root:root /etc/openvpn/private/ta.key

・設定ファイルのひな形をコピー

# cd /etc/openvpn
# zcat /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > server.conf

・/etc/openvpn/server.conf を以下の内容で作成する。

port 1194
proto udp
dev tun
ca /etc/openvpn/certs/ca.crt
cert /etc/openvpn/certs/server.crt
key /etc/openvpn/private/server.key
dh /etc/openvpn/certs/dh2048.pem
server 192.168.64.0 255.255.255.0 # ここでの IPv4 ネットワークは、内部的に VPN で使用するもの。
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS aaa.bbb.ccc.ddd" # DNS キャッシュサーバを指定
push "dhcp-option DNS vvv.xxx.yyy.zzz" # DNS キャッシュサーバを指定 (オプション)
client-to-client # VPN クライアント間で通信を許すかという設定のようである。
keepalive 10 120
# 静的鍵を使う場合は有効化する
#tls-auth /etc/openvpn/private/ta.key 0
# 以下の暗号化形式が各クライアントと合致する必要あり。
cipher AES-256-CBC
# 以下のメッセージハッシュも各クライアントと合致する必要あり。
auth SHA256
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

・OpenVPN サーバを起動

/etc/init.d/openvpn restart

・サーバ側は、NAPT し、パケット転送を許可しておく。

# iptables -P FORWARD DROP
# iptables -A INPUT -p udp --dport 1194 -i venet0 -d [サーバの IPv4 アドレス] -j ACCEPT
# iptables -A FORWARD -i tun0 -o tun0 -s 192.168.64.0/24 -d 192.168.64.0/24 -j ACCEPT
# iptables -A FORWARD -i tun0 -o venet0 -s 192.168.64.0/24 -j ACCEPT
# iptables -A FORWARD -i venet0 -o tun0 -d 192.168.64.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT
# iptables -t nat -A POSTROUTING -o venet0 -s 192.168.64.0/24 -j MASQUERADE
# echo 1 > /proc/sys/net/ipv4/ip_forward

■クライアント証明書の失効方法

書式: revoke-full クライアント名

・環境変数を読み込む。(シェルから抜けた場合は、作業前に必ず実行する。)

$ source ./vars

・pc-01 という証明書を失効させる。

$ ./revoke-full pc-01

・crl ファイルを OpenVPN で読み込むようにする。

# cd keys/
# cp -p crl.pem /etc/openvpn/certs/
# chown root:root /etc/openvpn/certs/crl.pem

・OpenVPN 設定ファイル、/etc/openvpn/server.conf へ crl ファイルのパスを設定。(初回のみ)

crl-verify /etc/openvpn/certs/crl.pem

※なお、crl ファイルは、誰からも読めなければならない。

・OpenVPN を再起動する。

# /etc/init.d/openvpn restart

次回以降に新たに証明書を失効させた場合、crl.pem を /etc/openvpn/certs にコピーする。
※ OpenVPN の再起動は不要。

■クライアントの追加

「クライアント証明書の作成 (クライアント毎に実行)」の項をクライアント分だけ行う。

■クライアント側の設定

クライアント側には
ca.crt
server.crt
pc-01.crt
pc-01.key (秘密)
ta.key (秘密: 静的鍵を作成した場合のみ)
を安全な経路でコピーして、この情報を用いて接続。

■ iOS デバイスクライアントの設定例

クライアントソフトウェアとして、「OpenVPN Connect」を使用する場合の設定ファイルの例。

「example.ovpn」という様なファイル名で作成する。

client
dev tun
proto udp
remote [サーバの IPv4 アドレスまたは FQDN] 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
cipher AES-256-CBC
auth SHA256
comp-lzo
verb 1
<ca>
CA 証明書
</ca>
<cert>
クライアント証明書
</cert>
<key>
クライアント証明書の秘密鍵
<key>

※静的鍵を使用する場合は、それを含める必要がある。

このファイルを iTunes のファイル共有機能で OpenVPN Connect に読み込ませる。

■その他 OpenVPN で有用と思われるコマンド

・使用できる ciphers 一覧

openvpn --show-ciphers

・使用できる tls-ciphers 一覧

openvpn --show-tls

・使用できる認証用 HMAC 一覧

openvpn --show-digests

■設定していて思った点

簡単に証明書が作成できるツールがついているのが良い。
サーバと、各クライアント間での暗号方式 (cipher) やメッセージハッシュ (auth) は同一である必要がある模様。
クライアントの設定も、基本テキストベースなので、この辺りは設定内容に自信が無い。(とりあえずつながった程度。今までは OS 標準の VPN クライアントしかさわったことがないので新鮮だった。)

■参考にさせて頂いたサイト

【Quoted:引用】Raspberry Pi 使えるメモリー量を増やすチューニング

http://hiroki.jp/2012/09/20/5801/

Raspberry Pi 使えるメモリー量を増やすチューニング

2012/9/20 2014/1/19 Linux

Raspberry Pi楽しいです!@HIROCASTERでございませう。

Raspberry Piは256MBしかメモリーがないため、メモリーの節約を意識しないといけません。

今回は、メモリーを節約するポイントをお教えします!

CPUが使えるメモリー容量を増やす

組み込まれている256MBのメモリーは、ARMのCPUで利用するメモリーとビデオ出力するためのメモリーを分割して共有しています。

初期設定では、192MBをARMへ、64MBをビデオへ利用する設定になっています。

$ free -h
             total       used       free     shared    buffers     cached
Mem:          183M        60M       122M         0B        13M        30M
-/+ buffers/cache:        17M       166M
Swap:          99M         0B        99M

こんな感じで、183MBのメモリー空間を利用してソフトウェアを起動することになります。

X windowは使う予定はないので、ビデオメモリーを減らしてARMのCPU側で使えるメモリーを増やしたいです。

raspi-configの”memory_split”で割合を変更することができます。240MBをARMにして16MBをビデオに変更しました。設定変更の反映には再起動が必要です。

$ free -h
             total       used       free     shared    buffers     cached
Mem:          231M        47M       184M         0B       7.8M        22M
-/+ buffers/cache:        16M       214M
Swap:          99M         0B        99M

設定を適応すると231MBのメモリー確保できています。使える総メモリー量が増えるので、これは嬉しい。

ttyを減らしてメモリーを節約する

一人で利用する事を前提としたら疑似端末(tty)は6個も必要ないでしょう。

$ ps ax | grep tty
 1347 tty1     Ss     0:00 /bin/login --   
 1348 tty2     Ss+    0:00 /sbin/getty 38400 tty2
 1349 tty3     Ss+    0:00 /sbin/getty 38400 tty3
 1350 tty4     Ss+    0:00 /sbin/getty 38400 tty4
 1351 tty5     Ss+    0:00 /sbin/getty 38400 tty5
 1352 tty6     Ss+    0:00 /sbin/getty 38400 tty6

/etc/inittab の以下の部分をtty4〜tty6をコメントアウトしてしましましょう。

1:2345:respawn:/sbin/getty --noclear 38400 tty1
2:23:respawn:/sbin/getty 38400 tty2
3:23:respawn:/sbin/getty 38400 tty3
#4:23:respawn:/sbin/getty 38400 tty4
#5:23:respawn:/sbin/getty 38400 tty5
#6:23:respawn:/sbin/getty 38400 tty6

3つぐらいあれば、大丈夫でしょう。これで、手元の環境で7MBほど節約できました。

【Quoted:引用】超小型PC「Raspberry Pi」で夏休み自由課題・第1回 – Raspberry Piとは? 入手とセットアップ

http://news.mynavi.jp/articles/2014/08/13/raspberry-pi/

超小型PC「Raspberry Pi」で夏休み自由課題・第1回 – Raspberry Piとは? 入手とセットアップ

Raspberry Piでコンピューターを学ぼう

プログラミング教育に超小型PC「Raspberry Pi」を

小学校から「コンピューターのプログラミング学習を」という話が出ているようだ(公立小学校で全生徒に利用させているところも)。学校で広く教えるようになるかどうか、そして各家庭の教育方針はともかく、子供に対して自宅でプログラミングに興味を持たせるというのは、親としてアリではないだろうか。

第一歩はコンピューターに親しませること。家族共用のPCではなく、自分用PCを持たせることがキッカケになるはずだが、少々費用がかかる。プログラミングとなるキーボードがほぼ必須で、タブレットという訳にもいかない。

そして、実験・教育用のPCとして近年盛り上がっているのが、Raspberry Piという超小型PCだ。約4,000円と安価で資料も多く、子供に買い与えるには良い機材と思うが、単に渡すだけではまず使えない。初期設定を一緒にやってあげつつ、何らかの課題を与えることが必要だ。ここでは「夏休みの自由課題」をテーマに、Raspberry Piを使った「パソコンではやりにくいこと(3種類)」を紹介したい。だいたい小学校高学年からを想定している。

短期集中連載・超小型PC「Raspberry Pi」で夏休み自由課題

■第1回 Raspberry Piとは? 入手とセットアップ
■第2回 雨量や雷情報を3分おきに自動取得するプログラム
■第3回 気圧・温度センサーを動かして数値を記録
■第4回 高層ビルのエレベーターで気圧の変化を記録

Raspberry Piの本体(写真左)と、今回の連載で使う「気圧」センサーを組み合わせた状態(写真右)

買っただけでは何もできない「Raspberry Pi」

Raspberry Piは少々とっつきにくい。買ってくると基板が入っているだけで、電源をつないでも動かないのだ。親の後押しはまず、Raspberry Piを動くようにすることである。今回からの連載で、最低限必要なものを以下に挙げた。ルータと有線LANネットワーク、インターネット接続の環境があり、Windows PCを持っていれば、初期費用は6,000円程度で済むだろう。

■ Raspberry Pi
現在、Raspberry Piは4種類あるが、Type Bを買うのがベターだ。ほかには、Type AとType B+、それにモジュールタイプがある。安価なType Aはネットワークコネクタがないので応用に問題があり、最新のType B+はメリットも多いがケース類が出回っていない。購入元は、amazonRSコンポーネンツがおすすめだ。急ぐ場合は他の必要なものとまとめて、amazonのお急ぎ便を使って買えばよいだろう。また、秋葉原なら、千石電商の本店2Fで販売している。次回以降もいろいろなパーツを使っていくので、すべて一読いただいてから秋葉原でまとめて買うのもおすすめだ。

amazon.co.jpでの購入はamazonプライムロゴのあるものを
夏休みの課題ということで、安いこと以上に頼んだらすぐ届くのが重要だ。amazon.co.jpの場合、amazonが販売するもの以外にマーケットプレイスという第三者が掲載しているものがある。中には「海外から発送」で届くまでに1カ月かかるケースもあるので、多少は高くても発送迅速でないと困る。amazon.co.jpで購入する場合は、amazonの倉庫に在庫があって、お急ぎ便が使えるものを選びたい。

ヒートシンクが付いていたり、追加のコンデンサが付いていたりする「Raspberry Pi Type B」

■ Raspberry Piケース
Raspberry Piは基板むきだしなので、何らかのケースが欲しい。ケース単独で購入すると送料がかさむので、この際ケースセットを購入するとよいだろう。amazon.co.jpではケースセットも売っている。Raspberry Pi Type B+は登場したばかりなので、ケースがあまりない。

つい最近届いたケースに入れてみた。eBayで$2.99と安いのはいいが、この手の注文は5回に3回は、届くのに1カ月くらいかかるので注意

■ SDHCメモリーカード(4GB以上)
Raspberry Piにはストレージが付いていないので、これがないと起動すらしない。新しく購入するなら8GBか16GBあたりがコストパフォーマンス的におすすめだ。MicroSDHCカードが余っている場合は、MicroSDをSDカードに変換するアダプタがあればよい。

■ microUSBの電源(1A以上)
スマートフォンのUSB電源アダプタとUSBケーブルがあればいいので、すでに家にあるという人も多いはずだ。Raspberry Piを使い続ける場合は、専用にするUSB電源アダプタを別途買ったほうがよいと思う。スペックでは5V/1.2Aとなっている。

■ 母艦となるWindows PC
家族共用のWindows PCがあれば、そのまま利用すればよい。Windows PCはSDHCカードを読み書きができることが前提だが、できない機種はほとんどないだろう。必要なら、USB接続のSDメモリーカードリーダー/ライターを購入しよう(最近だと100円ショップでも売っている)。なお、Raspberry Piを単独で使う場合は、HDMI入力を備えたディスプレイ(テレビでも可)と、USBキーボード/マウスを用意する。今回の企画では、Windows PCからRaspberry Piへ接続して操作する。

■ 有線LAN環境
Raspberry Piには有線ネットワークが必要だ。多くの家庭では有線LANポート付きの無線LANルータを設置しているだろうから、無線LANルータの有線LANポートにRaspberry Piを接続すればよい。

■ Raspbian(Linux系OS)
Raspberry Piで動作するOSはいくつもあるが、基本となるのはLinuxのDebianというディストリビューションを元にしたRaspbianだ。これはダウンロードする。

Raspberry PiのOSイメージ配布ページ。色々とあるが、標準的なのはRaspbianと呼ばれるDebianベースのものだ。今回はこれをダウンロードする。記事作成時で6月20日のリリース版が最新だったが、仮に変更があっても最新版を使うのがよい

■ Win32 Disk Imager(ソフトウェア)
Raspberry Piの基本OSはイメージファイルとして配布されており、これを書き込むためにはプログラムが必要だ。Windows PCでは「Win32 Disk Imager」が適当だろう。ダウンロードで入手。

■ Tera Term(ソフトウェア)
Windows PCとRaspberry Piは、SSHという方法で接続する。Windows PCならTera Termが適当だろう。ダウンロードで入手。

ページ 2

SDカードにRaspbianイメージを書き込む

ダウンロードしたRaspbianは、執筆時では「2014-06-20-wheezy-raspbian.zip」が最新版だ。解凍すると3GB弱のファイル「2014-06-20-wheezy-raspbian.img」が出てくる。これをSDカードに書き込む。

ここで使うのが「Win32 Disk Imager」だ。「Image File」のところに、上記「2014-06-20-wheezy-raspbian.img」を指定する(右側の青いフォルダアイコンを押して、保存フォルダとイメージファイルを選択)。続いて「Device」でSDカードのドライブ名を選択し、Writeボタンをクリックすればよい。3GB弱を書き込むので、ちょっと時間がかかる。

取得したOSイメージ「2014-06-20-wheezy-raspbian.img」をSDカードへ書き込むために、「Win32 Disk Imager」を使う。「Image File」枠の横にある青いボタンを押して、ファイル名を指定。この例ではSドライブに書き込んでおり、書き込みには数分かかる

Raspberry Piを起動して、Windows PCから操作する

OSイメージを書き込んだSDカードをRaspberry Piにセットし、ネットワークケーブルとmicroUSBケーブル(電源)をつないで1分くらい待つと起動する。LEDが4つ点灯しているだけで正直よく分からないが、大丈夫。

Raspberry Piに割り当てられたIPアドレスを知るには、ルータのログを見るのが手っ取り早い

母艦となるWindows PCからネットワーク経由でRaspberry Piを扱うので、Raspberry Piがどこに接続されているかを確認する必要がある。今回は無線LANルータの有線LANポートに接続しており、その無線LANルータがRaspberry PiのIPアドレスを決定している。Windows PCのWebブラウザで無線LANルータの管理画面を表示して、ログやDHCPステータスを確認しよう。今回は、Raspberry PiのIPアドレスは「192.168.0.79」だった。

次に、Windows PCでTera Termを起動する。ファイルメニューから新しい接続を選択し、TCP/IP接続にてRaspberry PiのIPアドレスを入力。警告画面が出るがそのまま続行し、ユーザー名「pi」、パスワード「raspberry」と入力してログインできる。なお、Raspberry PiとディスプレイをHDMIで接続し、Raspberry PiにUSBキーボード/マウスをつないでもよいのだが、この企画ではWindows PCからネットワーク経由でRaspberry Piを操作する。

Windows PCで起動したTera Term。今回の例では、Raspberry PiのIPアドレス「192.168.0.79」に接続する。Raspberry PiのIPアドレスは環境によって異なるので注意
Tera Termで初めて接続するコンピューターの場合、最初にこのような警告が出るが、あまり気にしなくてよい
Raspberry Piにログイン。Raspbianの場合、標準で「pi」というユーザーが設定してある。パスワードは「raspberry」だ
この企画ではコンソール操作(CUI)が基本。GUIに慣れた目には厳しいと思うが、すぐに慣れるはず
ページ 3

Raspberry Piの基本的な初期設定

Windows PCのTera TermからRaspberry Piへログインできたら、続けてRaspberry Piの初期設定だ。Tera Termのコンソール画面で「sudo raspi-config」と入力してEnterキーを押すと、設定画面「Raspberry Pi Software Configuration Took」に切り替わる。

「sudo raspi-config」と入力。これで初期セットアップが行える

最低限やらないともったいないのが、ファイルシステムの拡張だ。「Expand Filesystem」にフォーカスを合わせて、Enterキーを押す。すると「次回拡張するから」と表示されるので、再びEnterキーを押してメニューに戻る。

設定ツールのメニュー。英語だがあまり問題にならないと思う。最初に、Raspbianを書き込んだSDカード全域を使うための「Expand Filesystem」を実行。実際の拡張は次回起動時に行われる

次に、日本向けの設定を行いたい。下カーソルキーを3回押して、「Internationalisation Option」にフォーカスを合わせてEnterキー。サブメニューが出るので、まず一番上の「Change Locale」でEnterキーを押す。ちょっと待って画面が切り替わったら、カーソルキーとPage Up/Downキーを使って標準設定の「en_GB.UFT-8」に合わせてSpaceキーを押す。これで左側の「*」マークが消える。

さらにカーソルを下に持って行き、今度は「en_US.UTF-8」でSpaceキーを押して「*」マークを付ける。同様に「ja_JP.EUC-JP」と「ja_JP.UTF-8」にも、「*」マークを付けよう。最後にTabキーを押して(OKマークを赤くさせて)、Enterキーを押す。すると3つの環境が選択できるようになるので、標準として「ja_JP.UTF-8」にカーソルをあわせてEnterキー(ここでもちょっと待たされる)。

日本向けにするため「Internatinalisation Option」を実行。サブメニューが表示される
まずロケールを設定
英国生まれのRaspberry Piということで「en_GB.UTF-8」が設定されているので、これを解除する。カーソルを合わせてSpaceキーを押せば、設定と解除が切り替わる
英語環境が1つは欲しいので、「en_US.UTF-8」を設定
日本のロケールは2つある。「ja_JP.EUC-JP」は不要という考えもあるが、お約束と思って両方を設定した
Tabキーを押してからEnterキー
標準ロケールは「ja_JP.UTF-8」にしてEnterキー

Raspberry Piの時刻も日本時間に合わせておこう。「Internatinalisation Option」のサブメニューで、「Change Timezone」にフォーカスしてEnterキーを押す。続けて「Asia」にフォーカスしてEnterキー、さらに都市名が表示されるので「Tokyo」にフォーカスしてEnterキーだ。これで、システムが日本時間(JST+9)で動作する。ちなみに、Raspberry Piがインターネットに接続されていれば、時刻は自動的に取得される。

タイムゾーンを設定
「Asia」を選択、さらに「Tokyo」を選択

次は「Advanced Option」だ。サブメニューで「Memory Split」を選択すると、標準で「64」となっているが、BackSpaceキーで文字を消して新たに「16」と書き換える。

「Advanced Option」-「Memory Split」を選択。これはグラフィックに割り当てるメモリ量を選択するのだが、今回の企画ではグラフィック環境を使わないので最小限の16にした

以上で基本的な初期設定は終了だ。Tabキーを押してから右にカーソルを動かし、「Finish」を選択。再起動するかどうかを聞いてくるので、Enterキーを押して再起動だ。Windows PC上でTera Termの画面が自動的に閉じ、Raspberry Piは再起動する。2分くらいで再起動が完了するはずだ。

これで設定終了。Tabキーを押して「Finish」を選択してEnterキー。リブートすると聞かれるのでEnterキー。Raspberry Piが再起動する
ページ 4

システムの更新と、Raspberry Piの電源を切る方法

初期設定の最後はシステム更新だ。「sudo apt-get update」コマンドで新しいシステム一覧を取得し、「sudo apt-get upgrade」コマンドで新しいモジュールを適用する。今回は6月リリースのRaspbianから更新も多く、結構な時間がかかったが、システム更新は毎月実行するとよいだろう。

最後にシステムを更新する。更新情報を「sudo apt-get update」コマンドで取得してから、組み込まれているモジュールの更新を「sudo apt-get upgrade」コマンドで行う

電源を切るにも作法がある。いきなりmicroUSBケーブル(電源)を抜くとトラブルの元なので、「sudo shutdown -h now」コマンドを入力する。これで電源オフになるが、すぐには終了しないので、1分ほど待ってからケーブルを抜く。

電源の切り方は、まず「sudo shutdown -h now」コマンドを実行。実際には、電源ケーブルを抜いても問題ない状態になるまで30秒から1分くらいかかるので注意。それからmicroUSBケーブル(電源)を抜く

これで初期設定は終了だ。子供に使わせる場合は、Raspberry Piの起動と終了の方法、パソコンとRaspberry Piの通信方法(今回だとTera Term)を教えればよい。なお、Raspberry Pi側のシステム(Raspbian)が壊れることもあるだろうが、この場合は最初のOSイメージの書き方からやり直せばよい。

次回は、Raspberry Piで簡単なシェルスクリプトを動かして、天気情報を一定間隔で取得してみる。天気の情報はさまざまな角度から分析できるので、自由課題・自由研究の元ネタとしても役に立つだろう。また、次ページでは、今回の補足としてRaspberry PiのIPアドレスを固定する方法を紹介しておく。

ページ 5

Raspberry PiのIPアドレスを固定しておくとラク

少し余談気味だが、Raspberry PiのIPアドレスを固定しておくと、Windows PC(Tera Term)からの接続が楽になる。子供にとっても、Raspberry Piへ簡単に接続できたほうがよいだろう。

まずルータのDHCP設定を確認して、Raspberry Piに自動で割り振られるIPアドレスの範囲を見ておく。その範囲外に、Raspberry PiのIPアドレスを設定する。今回は、Raspberry Piを「192.168.0.220」とした。

Tera TermからRaspberry Piにログインしたら、コンソール画面で「cd /etc/network」としてディレクトリを移動して、標準設定のファイルをバックアップする。入力&実行するコマンドは「sudo cp interfaces interfaces.org」だ。

コピー後、ファイルを編集する。「sudo nano interfaces」を実行して、nanoエディタを使うとよいだろう。操作は普通のテキストエディタとあまり変わらないが、DeletキーとBackSpaceキーの動作が同じである点に注意だ。

ルータのDHCP機能によって、Raspberry PiのIPアドレスが変わると面倒なので、Raspberry PiのIPアドレスを固定しておく。念のため、Raspberry Pi側の設定ファイルをバックアップしたうえで、設定ファイルを編集する

標準では、Raspberry Piのイーサネット(有線LANインタフェース)に対して、ルータのDHCP機能でIPアドレスを割り当てる設定だ。これを書き換える。編集したらCtrlキーを押しながらXキーを押し、続けてYキー、Enterキーで保存終了だ。

標準的なファイルエディタ「nano」の画面。イーサネットはdhcpとなっている
IPアドレスを固定するには、このように書き換える。address欄とgateway欄は環境によって変わる。通常、gatewayはルータのIPアドレスで、ほとんどの場合「192.168.0.1」や「192.168.1.1」だろう
nanoのファイル保存は、Ctrlキー+Xキーを押してからYキーだ。続けてファイル名の指定だが、そのままEnterキーを押せば、編集元ファイルが上書き保存される

Raspberry Piを再起動すると、先ほどのネットワーク設定(固定IPアドレス)が適用される。再起動は「sudo reboot」だ。

再起動は「sudo reboot」。これで固定IPアドレスになるので接続しやすいが、設定をミスるとアクセスできなくなる。この場合は初めからOSイメージを導入し直す(結果的にこれが早い)
今回、Raspberry PiのIPアドレスを「192.168.0.220」にした(写真左)。Raspberry PiのIPアドレスが変わったので、Tera Termで再びセキュリティ警告が出る(写真右)。そのまま進めてかまわない
問題なく接続できた。次回からは同じIPアドレスでRaspberry Piに接続できる。ただし、自宅の環境に合わせた設定なので、セキュリティ面も考慮し、自宅以外の場所にRaspberry Piを持って行かないこと

【quoted:引用】特集:外出先からPCを遠隔操作、「Chromeリモート・デスクトップ」のお手軽度

http://www.atmarkit.co.jp/ait/articles/1301/30/news060.html

 

特集:外出先からPCを遠隔操作、「Chromeリモート・デスクトップ」のお手軽度 (1/2)

Google Chromeの拡張機能としてリモート・デスクトップが利用可能になる「Chromeリモート・デスクトップ」。Google Chromeで、手軽にインターネットを介したリモート・デスクトップ環境が構築できることから利便性が高い。ここではその設定方法とブロック方法などについて解説する。

[小林章彦,デジタルアドバンテージ]

携帯電話のデータ通信やWiMAX、公衆無線LANなど、外出先でもインターネットを使える通信手段が手軽に利用できるようになってきた。VPN(Virtual Private Network)などの接続環境が整っていれば、外出先からでも携帯電話などのデータ通信機能を利用して社内に接続し、Windows OSのリモート・デスクトップ機能で社内のPCのデスクトップ操作を行うことができる。

このように外出先でも、社内にいるのと同様の仕事ができる環境が整いつつあるわけだが、実際にはVPNの設定がハードルになってしまうことが多いようだ。外出先から社内のコンピュータにリモート・デスクトップで接続して作業を行いたいと思っていても、断念している人も多いのではないだろうか。

最近ではLogMeInやTeamViewerなど、VPN接続をしなくてもインターネットを介してリモート・デスクトップが接続できるツールが利用できる(Microsoftからも「Windows Live Mesh」という機能が提供されていたが、残念ながら2013年2月13日でサービスが終了する)。同様のツールとして、Googleが開発しているWebブラウザ「Google Chrome」の拡張機能として「Chromeリモート・デスクトップ」が提供されており、操作されるPC(リモート・デスクトップのホスト側)と操作するPC(クライアント側)の両方にChromeリモート・デスクトップをインストールすることで、簡単にリモート・デスクトップ環境を構築できる。原稿執筆時点では、Windows、Mac OS、LinuxのGoogle Chromeに対してChromeリモート・デスクトップが提供されている(iOSやAndroid用のChromeリモート・デスクトップは提供されていない)。

システム管理者としては、Google Chromeの拡張機能としてリモート・デスクトップが利用可能になるため、情報漏えいなどの対策を考慮する必要があるだろう。

本稿では、Chromeリモート・デスクトップの設定方法ならびにブロック方法などについて解説する。

Chromeリモート・デスクトップを設定する

Chromeリモート・デスクトップを利用するためには、まずGoogle ChromeのインストールとGoogleアカウントの作成が必要になる。Google Chromeについては、「乗り遅れた人のためのGoogle Chrome入門」を参照していただきたい。Googleアカウントは、GmailやGoogleカレンダー、Google+など、Googleが提供しているさまざまなサービスにアクセスするために利用するもの。Googleの検索ページの右上の[ログイン]ボタンをクリックし、次のページの右上の[アカウントを作成]ボタンで新しいアカウントの作成が可能だ。なお、Chromeリモート・デスクトップを利用するには、操作される側と操作する側の両方のPCにGoogle ChromeとChromeリモート・デスクトップのインストールが必要になる。

次にGoogle Chromeに、拡張機能のChromeリモート・デスクトップを追加する。Google Chromeを起動し、Googleアカウントでログイン後、Chromeウェブストアの以下のURLを開き、右上の[CHROMEに追加]ボタンをクリックして、Chromeリモート・デスクトップをインストールする。

Chromeウェブストアの「Chromeリモート・デスクトップ」のページ

Chromeウェブストアの「Chromeリモート・デスクトップ」のページ
Googleアカウントでログイン後、Chromeウェブストアの「Chromeリモート・デスクトップ」のページを開き、[CHROMEに追加]ボタンをクリックすると、Chromeリモート・デスクトップがGoogle Chromeに追加される。
(1)ChromeウェブストアのこのURLを開く。
(2)[CHROMEに追加]ボタンをクリックして「Chromeリモート・デスクトップ」をインストールする。

Chromeリモート・デスクトップが追加されると、Google Chromeの新しいタブが開き、Chromeリモート・デスクトップのアイコンが[アプリケーション]セクションに追加される。

Google Chromeの新しいタブの画面

Google Chromeの新しいタブの画面
Chromeリモート・デスクトップが追加されると、Chromeリモート・デスクトップのアイコンが[アプリケーション]セクションに追加される。ここからChromeリモート・デスクトップを起動する。
(1)新しいタブに追加されたChromeリモート・デスクトップのアイコン。

[アプリケーション]セクションのChromeリモート・デスクトップのアイコンをクリックすると、Chromeリモート・デスクトップが起動するが、初回のみGoogle Chromeが「メール・アドレスの表示」や「Chromeリモート デスクトップが可能なパソコンの表示」などのアクセス許可を与える必要がある。

Chromeリモート・デスクトップの設定画面(1)

Chromeリモート・デスクトップの設定画面(1)
初回のみGoogle Chromeが「メール・アドレスの表示」や「Chromeリモート デスクトップが可能なパソコンの表示」などのアクセス許可が求められる。
(1)[アクセスを許可]ボタンをクリックし、「メール・アドレスの表示」などのアクセスを許可する。

次の画面の「マイ パソコン」の[ご利用開始]ボタンをクリックすれば、同じGoogleアカウントでログインしているPCで、Chromeリモート・デスクトップのリモート接続が有効になっているPCの一覧が表示される。このGoogle Chromeをクライアントとして利用するのであれば、ここで「マイ パソコン」の一覧から接続したいPC名を選択し、ホスト側のPCで設定済みのPIN(後述)を入力すればよい(ほかのユーザーと自分のPCの画面を共有する「リモート サポート」の場合、自動生成された12けたのアクセス・コードを、共有したいユーザーが入力すると共有セッションが開始される)。

Chromeリモート・デスクトップの設定画面(2)

Chromeリモート・デスクトップの設定画面(2)
「マイ パソコン」の[ご利用開始]ボタンをクリックすれば、同じGoogleアカウントでログインしているPCで、Chromeリモート・デスクトップのリモート接続が有効になっているPCの一覧が表示される。
(1)[ご利用開始]ボタンをクリックする。

設定したPCをChromeリモート・デスクトップのホストにしたい場合、「Chromeリモート デスクトップを使用してこのパソコンにアクセスするには、……」の[リモート接続を有効にする]ボタンをクリックし、「PIN」と呼ぶ一種のパスワードを6けた以上の数字で設定する。GoogleアカウントとPINの2つでセキュリティを確保しているわけだ。

Chromeリモート・デスクトップの設定画面(3)

Chromeリモート・デスクトップの設定画面(3)
設定済みのホストに接続したい場合は、ここの一覧から接続したいPC名をクリックし、ホスト側のPCで設定済みのPINを入力する。ホストに設定したい場合、[リモート接続を有効にする]ボタンをクリックする。
(1)PC名をクリックすると、このPCに接続できる。
(2)ホストに設定したい場合は、[リモート接続を有効にする]ボタンをクリックし、PINを設定する。

PINの設定が完了すると、「マイ パソコン」上にPC名が表示され、[リモート接続を無効にする]ボタンが追加される。ほかのPCのChromeリモート・デスクトップにもそのPC名が表示され、そのPCのリモート操作が可能になる。

Copyright© 1999-2014 Digital Advantage Corp. All Rights Reserved.

ページ 2

Chromeリモート・デスクトップで接続する

実際にインターネットを介したChromeリモート・デスクトップによるリモート・デスクトップ接続を試してみよう。

まずホスト側のPCで、Chromeリモート・デスクトップを設定済みのGoogle Chromeを起動しておく。ホスト側の設定は、これだけだ。

次にクライアント側でGoogle Chromeを起動し、新しいタブの「Chromeリモート デスクトップ」のアイコンをクリックする(Googleアカウントでログインしていない場合は、ログインしてから新しいタブを開く)。「マイ パソコン」上には同じGoogleアカウントでログインしており、リモート・デスクトップ接続可能なPC名が一覧表示されるので、ここから接続したいPCをクリックする。PINの入力を求められるので、ホスト側で設定したPINを入力する。

Chromeリモート・デスクトップは前述したようにVPN接続が不要で、インターネットを経由して直接、ホスト側のPCを操作することが可能だ。そのため、接続可能なホスト側のPCの一覧は、Googleアカウントを介してクライアント側と共有される。また、リモート接続が有効になっているPCとの接続にPINを用いることで、Googleアカウントが不正使用された際においてもPCの安全が保たれることになる。そのためPINは、なるべく類推しにくい長い数字にしておくこと。

Chromeリモート・デスクトップの仕組み

Chromeリモート・デスクトップの仕組み
Chromeリモート・デスクトップは、このようにGoogleアカウントを介して接続情報をやり取りすることで、VPN接続なしのリモート・デスクトップが可能になっている。

PINによる認証が完了すると、Google Chrome上にホスト側とクライアント側がP2Pによって接続され、ホスト側の画面やオーディオ出力がクライアント側に転送され、リモートからの操作が可能になる。Windows OS標準のリモート・デスクトップと異なり、画面の解像度がそのままにGoogle Chromeのウィンドウ・サイズに合わせて縮小表示される(ホスト側の特定のディスプレイのみを表示するような設定はないようだ)。そのため、ホスト側でマルチディスプレイの拡張画面の表示設定にしていると、画面が大きく縮小されてしまうため、操作がしにくくなる。このような場合は、Chromeリモート・デスクトップのページ中央上部のプルダウン・バーの[画面のオプション]ボタンをクリックし、メニューから[元のサイズ]を選択すると、Google Chromeのウィンドウ・サイズに合わせたホスト側の画面の一部が「元のサイズ」で表示されるようになる。表示範囲は、スクロール・バーで移動できるので、操作したい画面が表示される位置に移動させればよい。

Chromeリモート・デスクトップの実行画面

Chromeリモート・デスクトップの実行画面
ホスト側でマルチディスプレイ構成にしている場合、この画面のようにGoogle Chrome内に全画面が縮小表示されてしまう。このような場合、Chromeリモート・デスクトップのプルダウン・バーの[画面のオプション]ボタンで[元のサイズ]を選択するとよい。
(1)ホスト側のメインディスプレイ。
(2)ホスト側のサブディスプレイ。
(3)ホストとなるPC名がここに表示される。
(4)ホストとの接続を切る場合は、[切断する]ボタンをクリックする。
(5)縮小されている画面を元のサイズで表示するには、この[元のサイズ]を選択する。
(6)ホスト側のメインディスプレイには、デスクトップとオーディオ出力が共有されている旨の警告とホスト側から切断するための[Disconnect]ボタンが表示される。

Chromeリモート・デスクトップの場合、リモート接続された状態でもホスト側での操作はブロックされない。オーディオ出力も両方から行われるので、ビデオをホスト側で再生し、クライアント側で視聴するような場合、ホスト側のミキサーをミュートにしておくとよい(ホスト側がミュートになっていても、クライアント側のオーディオ出力は行われる)。

3G携帯電話のデータ通信(テザリング)を利用して、Chromeリモート・デスクトップによるリモート・デスクトップを試したところ、YouTubeの動画はほんの少し遅延はあるものの、オーディオ出力とともに十分実用的なレベルで再生された。唯一、問題だったのがなぜか「_(アンダーバー)」がキーボードから入力できなかったことだ。IMEのユーザー辞書に「_(アンダーバー)」を登録しておき、IMEを使って入力するなどの工夫が必要になる。またWindows 8のソフトウェア・キーボードの直接入力/日本語入力の切り替えが、ホスト側に反映されないといった問題もあった(ソフトウェア・キーボードによる入力の際は、ホスト側でIMEのオン/オフが必要になる)。これらの問題を除けば、リモートでOfficeアプリケーションを利用するといった用途でも、キー入力やマウス操作にストレスを感じることはなかった。

Chromeリモート・デスクトップを削除する

Chromeリモート・デスクトップをChromeから削除するには、新しいタブを開き、[アプリケーション]セクションのChromeリモート・デスクトップのアイコンを右クリックし、メニューから[Chromeから削除]を選択する。Googleアカウントで拡張機能を同期している場合、自動的に同期しているChrome上から削除されてしまうので注意が必要だ。

Chromeリモート・デスクトップを削除する方法

Chromeリモート・デスクトップを削除する方法
Chromeリモート・デスクトップをChromeから削除するには、[アプリケーション]セクションのChromeリモート・デスクトップのアイコンを右クリックし、メニューから[Chromeから削除]を選択すればよい
(1)[アプリケーション]セクションのChromeリモート・デスクトップのアイコンを右クリックしてメニューを表示する。
(2)[Chromeから削除]を選択する。

そのGoogle Chrome上からのみ削除したい場合は、[Google Chromeの設定]アイコン(Google Chromeのアドレス・バーの右側にあるアイコン)をクリックし、メニューから[Chromeへのログイン]/[<Googleアカウント名>としてログインしています]を選択し、[設定]ページを開き、[同期の詳細設定]ボタンをクリックし、[同期の詳細設定]ダイアログで「拡張機能」のチェックを外して、拡張機能の削除が同期されないようにしておくとよい。

Chromeリモート・デスクトップの利用をブロックする

IT管理者としては、Chromeリモート・デスクトップで社外から簡単にリモート接続されてしまうとなると、情報漏えいなどの危険性が気になるだろう。Windows 7の標準アカウントでログオンしている場合でも、Chromeリモート・デスクトップのインストールは可能だ。しかし[リモート接続を有効]ボタンをクリックし、PINを設定後、管理者アカウントの入力が求められるため、管理者アカウントが分からないと、Chromeリモート・デスクトップのホストに設定できず、そのPCにリモートで接続できない(Chromeリモート・デスクトップを使って、ほかのPCにリモート接続して、操作することは可能)。Windows OSの管理者権限をユーザーに与えている場合、Chromeリモート・デスクトップをホストに設定できてしまう。

また「Google Apps for Business」などのGoogleアカウントを利用している場合、Google Appsの管理者アカウントで「Chrome Web Store」をオフにすると、拡張機能のインストールが行えなくなるため、Chromeリモート・デスクトップの利用をブロックできる。ただし、この場合、個人で取得したGoogleアカウントでログインされてしまうと、Chromeリモート・デスクトップのインストールや利用を制限できない。

このように、ほかのアプリケーションなどの実行に影響を与えずに、Chromeリモート・デスクトップの使用を完全にブロックするのは容易ではない。以下のGoogleのヘルプ・ページによれば、グループ・ポリシーを使って、DNSエントリを書き換えるのがよいようだ。Chromeリモート・デスクトップの使用を制限したいIT管理者は参照していただきたい。

Chromeリモート・デスクトップの可能性とリスク

このようにChromeリモート・デスクトップは、簡単な設定によりインターネットを介したリモート・デスクトップ接続が可能になる。Windows、Mac OS、LinuxのいずれのGoogle Chromeでも、リモート・デスクトップ接続が可能なので、例えば、サーバ上の仮想マシンにWindows環境を構築し、シンクライアント(Linuxベースのクライアント)で接続して、Windowsを利用する仮想PC型シンクライアント・システムの構築も可能だ。現在のところ、iOSやAndroidなどのスマートフォンやタブレット向けのGoogle ChromeにはChromeリモート・デスクトップは提供されておらず、こうしたデバイスからのリモート接続は行えないのが残念なところ。こうしたデバイスでもChromeリモート・デスクトップはさらに利便性が高まることだろう。

一方で、簡単にインターネットを介したリモート・デスクトップ環境が構築できてしまうことから、IT管理者としては、Chromeリモート・デスクトップを利用した場合の情報漏えいなどのリスクを検証すべきだろう。

Copyright© 1999-2014 Digital Advantage Corp. All Rights Reserved.

Measure
Measure
関連するノート