10.04 LTS アップグレード

Ubuntu 9.10を10.04 LTSへアップグレードを行いました。
各サービスの設定ファイルは新しいものに置き換えないでそのままにしました。
(再度、設定しなおすのはとても大変そうなので、、、)
サポートが切れているパッケージを削除するかは
セキュリティ上、問題があるかもしれませんが
サポート切れのパッケージがどれなのか確認できなかったのですべて残しました。
最後にシステム管理 – パッケージの整理より
不要なパッケージを削除してアップグレードは終了しました。
10.04 LTSのアップグレード版はまだ不具合がありそうですね。
(本当はクリーンインストールしたいが、しょうがないですね。)

Ubuntu 10.04 LTSになるとPHP5.3になります。
CMS(XOOPSやMagic3など)でエラーが発生しています。
対応するまで待つか、5.3より小さいバージョンでインストールしましょう。
(サーバ機能はまだ9.10で運用した方がよさそうでね。

現在、12.04 LTSではPHP5.3の問題は解消されている。

ストリーミングiPhone(SharePlayer)+VPN(PPTP)

すでにOpenVPNをインストール済みですがiPhoneで外から安全に
自宅のコンテンツ(映像・音楽・写真など)をストリーミングしたいので
PPTPのVPNを設定します。
PPTP(Point to Point Tunneling Protocol)は、Microsoft社の暗号通信プロトコル
PPTPはPPPプロトコル?インターフェイスを使用する。
外でノートPCを使用できない時はVPN(PPTP)を使用して
iPhoneでUbuntuサーバやmotionカメラの自宅映像を監視をしています。
試してはいませんが、Ubuntuサーバのリモートデスクトップ(遠隔操作)もできそうですね。

iPhoneで使用するプレイヤー
【SharePlayer】 有料   http://occlusion.freehostia.com/shareplayer.html
              http://itunes.apple.com/jp/app/shareplayer/id349107084?mt=8
 プレイヤー型のアプリでLan内からSambaやFTP接続が可能で
  コンテンツ(映像・音楽・写真など)がリスト形式で表示できるので、
 そこから選択して再生できるのでとても便利です。
  (※動画再生時にはハードの制限があるので注意が必要です。)

【BUZZ Player】有料
SharePlayerより後発ということてなんでもあり?みたいなプレイヤーです。
詳しい紹介サイト
iPhoneアプリとiPadアプリをおすすめするAppBank
http://www.appbank.net/2010/11/26/iphone-application/192346.php

【関連項目】
Samba(ファイル共有)
FTP(ファイル転送)
motion(Web監視・録画カメラ)

【オンラインストレージ】
コンテンツ(映像・音楽・写真など)の置き場所がなく
サーバの設定が面倒な方は無料オンラインストレージが利用できます。

窓の杜 – 【杜のAndroid研究室】
  第5回:オンラインストレージ「Dropbox」「ZumoDrive」「SugarSync」
  http://www.forest.impress.co.jp/docs/serial/androidlab/20100602_371460.html

Dropbox    http://itunes.apple.com/jp/app/dropbox/id327630330?mt=8
         https://www.dropbox.com/

ZumoDrive   http://itunes.apple.com/jp/app/zumodrive/id292504894?mt=8
          http://www.zumodrive.com/?locale=ja

SugarSync   http://itunes.apple.com/jp/app/sugarsync/id288491637?mt=8
          https://www.sugarsync.com/locale/jp/

【参考サイト】
Kung Noi PPTPでVPN
   http://nai.homelinux.net/pptp.html

PPTP によるリモートアクセス VPN(Poptop)
インストール
Synapticパッケージマネージャからpptpdをインストールする。
  バージョン1.3.4-2.1

   Poptop – The PPTP Server for Linux 文書
    http://poptop.sourceforge.net/dox/
PPPのパッケージはすでにインストール済みでした。【確認】 ppp 2.4.5

Ubuntuサーバの設定
【/etc/pptpd.conf】の編集
【18行目】 option /etc/ppp/pptpd-options をoption /etc/ppp/options.pptp へ変更
      pppのバージョンが2.4.5なのでオプションファイルはoptions.pptp を使用するとありました。
      (※pptpd-optionsを使用してもpptpの接続はできましたが、、、)

【76行目】 Localip 192.168.0.133      #コメントを外して有効にしてUbuntuサーバのIPアドレスを記述します。
【77行目】Remoteip 192.168.0.100     #コメントを外して有効にしてリモート端末へ割り当てるIPを記述します。 
 範囲指定の場合は例 192.168.0.100-110,192.168.0.237 もしくはカンマ「,」で区切る
 今回はiPhone1台だけなので 192.168.0.100のみにしました。
 他のVPNクライアントやLAN内の機器とIPアドレスが重複しないように注意します。

【/etc/ppp/options.pptp】の編集
name pptp  任意の名前

【20行目】auth   noauth を auth へ【変更】
            サーバへ認証を行う。   
認証と暗号化の設定
refuse-pap      使用しない
refuse-eap      使用しない
refuse-chap     使用しない 
refuse-mschap   使用しない
require-mschap-v2  使用する 【追加】
require-mppe-128   使用する 【47行目】コメント外す

nodefaultroute   【追加】VPN接続先にパケットを中継させない。

接続ユーザの設定
【/etc/ppp/chap-secrets】の編集

# Secrets for authentication using CHAP
# client server secret IP addresses
pptpuser pptp xxxxxx *
[ユーザ名] [ホスト名] [パスワード] [クライアントIPアドレス]

  pptpuser : pptpで接続するuser-id
  pptp : options.pptpのnameで設定している内容
  xxxxxx : pptpで接続するパスワード
  * : クライアントに割り当てるIPアドレス。ワイルドカード「*」を指定した場合は
          (/etc/pptpd.conf)のremoteipで設定した範囲のIPがクライアントに割り当てられる。
 2人名目以降のユーザは次の行に追記していきます。

pptpの再起動
 # /etc/init.d/pptpd restart
     コマンド
     start 起動   stop 停止  restart 再起動

IPフォワーディングを有効にする。
(OpenVPNですでに設定済みの場合はスキップ)
UbuntuサーバのIPアドレスとVPN上のアドレスが異なる間の通信ができるように設定する。
Ubuntuサーバ起動時に自動設定が必要です。
【/etc/sysctl.conf】を編集する。

【28行目】net.ipv4.ip_forward=1       【変更】 値を0から1に変更して有効にする。

Ubuntuサーバを再起動する。

ファイアウォールの設定
とりあえずファイアウォールgufwでAllow TCP 1723 のポートを開放します。
今回はTCP 1723ポートの開放で問題なく接続できましたが
どうしてもGREプロトコルの受信の許可が必要な場合は
ファイアウォールgufwでGREプロトコルを通す設定ができなさそう?なのでiptablesコマンドを使用します。
(※iptablesのフロントエンドはufwで、GUIインターフェースはGufwの関係になります。)

# iptables -A INPUT -p gre -j ACCEPT  または # iptables -A INPUT -p 47 -j ACCEPT

しかし、 iptablesコマンドの設定はUbuntuサーバを再起動すると消えてしますので
保存する必要がでてきますが今回は省略します。

ポートフォワーディング
外からVPN(PPTP)を利用しますのでルータのポートフォワーディングの設定を行う。
ルータの管理画面へアクセスして
ポートマッピング画面へ移動する。
【LAN側のホスト】:ubuntuサーバのアドレス
【プロトコル】:TCP
【ポート番号】:1723

今回はTCP 1723ポートの開放で問題なく接続できましたが
どうしてもGREプロトコルを通したい場合は 以下の設定をします。
GREプロトコル IPプロトコル47番
(※47はポート番号ではありません。)
【LAN側のホスト】:ubuntuサーバのアドレス
【プロトコル】:その他 プロトコル番号47
【ポート番号】:なし

これらの設定をルータに追加して保存(反映)します。
これでクライアント(iPhoneやWindowsPC)からの接続待ち状態になります。

WindowsXPで外からの接続
コントロールパネル – ネットワーク接続をクリックします。
新しい接続を作成する – 新しい接続ウィザードを起動して次へボタンを押す。
ネットワーク接続の種類 – 職場のネットワークへ接続するを選択して次へボタンを押す。
ネットワーク接続 – 仮想プライベートネットワーク接続を選択して次へボタンを押す。
接続名 – サーバ名など任意の名前を入力して次へボタンを押す。
パブリックネットワーク – 最初の接続にダイアルしないを選択して次へボタンを押す。
VPNサーバーの選択 – Ubuntuサーバのドメイン名を入力して次へボタンを押す。
新しい接続ウィザードの完了ボタンを押す。
ストリーミング+vpn01
接続画面表示されたら、ユーザ名とパスワードを入力して接続ボタンを押す。

最初は接続エラーが発生するので、ネットワーク接続 – 仮想プライベートネットワーク 
接続するPPTPサーバのアイコンを選択してマウスの右ボタン – プロパティを選択する。
ネットワークタブを選択する。
インターネットプロトコル(TCP/IP)を選択してプロパティボタンを押す。
  (※この時インターネットプロトコル(TCP/IP)の項目以外のチェックを外せるものは外します。
   Nwlink IPX/SPX/NetBIOS 互換トランスポート プロトコルなど)

全般 – 詳細設定ボタンを押す。
全般 – リモートネットワークでデフォルトゲートウェイを使うのチェックを外してOKボタンを押す。
Okボタンを押してプロパティ画面を終了します。

再度、接続するPPTPサーバのアイコン押してユーザ名とパスワードを入力して接続ボタンを押す。

トレイの接続アイコンをクリックして詳細タグを押します。
ストリーミング+vpn02
接続の詳細画面が表示されます。
認証 MS CHAP V2
暗号化 MPPE 128 などの詳細項目が確認できます。

【Ubuntuサーバ側のログの確認】
# cat /var/log/messages
……
pppd[31967]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
pppd[31967]: pppd 2.4.5 started by root, uid 0
pppd[31967]: Using interface ppp0
pppd[31967]: Connect: ppp0 /dev/pts/1
kernel: [58733.794410] padlock: VIA PadLock Hash Engine not detected.
kernel: [58733.805239] PPP MPPE Compression module registered
pppd[31967]: MPPE 128-bit stateless compression enabled
pppd[31967]: found interface eth0 for proxy arp
pppd[31967]: local IP address 192.168.0.133
pppd[31967]: remote IP address 192.168.0.100

【Ubuntuサーバ側のインターフェースの確認】
# ifconfig ppp0

ppp0 Link encap:Point-to-Pointプロトコル
inetアドレス:192.168.0.133 P-t-P:192.168.0.100 マスク:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 メトリック:1
RXパケット:2868 エラー:0 損失:0 オーバラン:0 フレーム:0
TXパケット:2465 エラー:0 損失:0 オーバラン:0 キャリア:0
衝突(Collisions):0 TXキュー長:3
RXバイト:188600 (188.6 KB) TXバイト:1730352 (1.7 MB)

これで自宅のUbuntuサーバのSambaやFTP、VNC、motionカメラなどへ接続できます。
切断する場合は接続アイコンを右クリックして切断を選択します。

iPhone(SharePlayer)で外からの接続
【VPN(PPTP)接続】
設定 – 一般 – ネットワーク – 下の方にあるVPN – VPN構成を追加を押します。

VPNの設定画面が表示される。
PPTPを選択する。
説明に接続先名などを入力する。
サーバに自宅のUbuntuサーバのドメイン名
アカウント /etc/ppp/chap-secretsで設定したユーザ名を入力する。
RSA SecurID オフ
パスワード /etc/ppp/chap-secretsで設定したパスワードを入力する。
暗号レベル とりあえず最大に設定しました。
すべての信号を送信 をオン
プロキシ オフ
保存ボタンを押して設定を終了する。
設定画面またはVPN画面からVPN接続をオンにして接続します。

【SharePlayerの起動と設定】
iPhoneからSharePlayerを起動します。
共有アクセス画面で+プラスボタンを押します。
ストリーミング+vpn04
SMB(Samba)またはFTPボタンを押して入力を選択します。
UbuntuサーバのIPアドレスを入力する。
ユーザ名とパスワードがある場合は項目に入力します。
Nicknameは接続先名を入力する。
最後にAdd Serverを押して設定を終了します。
ストリーミング+vpn05
共有アクセス画面で登録済みのサーバが表示されるので
サーバ名を押します。
(設定内容を確認したい場合は>ボタンを押します。)
ストリーミング+vpn06
目的のフォルダまで移動します。
コンテンツ(映像・音楽・写真など)がリストで表示されるので再生・表示したいコンテンツを押します。
(iPhone、I-Pod用の動画コンテンツの作り方や変換方法は他のサイトを見て下さいね。)

SharePlayerの再生
停止は×マークを押して終了します。

これでiPhoneの限られたストレージの中によけいなコンテンツ(映像・音楽・写真)を置かなくてもよくなりますね。
(パケットの使い過ぎでパケ死しないように注意して下さい。w)

ブラウザSafariからUbuntuサーバの hotsanic へアクセスします。
ストリーミング+vpn07
サーバのシステム情報が表示されます。
ノートPCは必要なくなりますかね?

なおVPNのPPTPがセキュリティが低いのでパスワードは定期的に変更します。
暗号深度は128bitより小さくしないようにして下さい。
安全のためにノートPCでVPNを使用する場合は証明書を使用した相互認証を行うVPN(OpenVPNなど)を推奨します。