インターネット上のサーバー(VPS)から家のネットワークをアクセス


概要

インターネット上にSakura/VPSのような固定IPのsshサーバーを借りている場合、 そこへ向かって ssh コネクションを張ることで、VPS から家の中の NAS や WEBカメラ等にアクセスできるようにしたい。

Sakura/VPS/SSH Reverse Tunnelで紹介した OpenBlockS を使う方法でも構わないが、 それだけのために OpenBlockS を買うのももったいないので、Pogoplug で実現する方法を紹介する。

ルーターに ssh 接続のための NAT を設定して、自宅のアドレスを DDNS等の仕組みでわかるようにしてから 接続する方法もあるが、自宅からインターネット上の固定アドレスを持ったサーバーへの接続を逆方向に使うほうが、 ルーターを触らないで済むぶん設定が楽である。

インストール手順

  1. インストールスクリプト filehsj-auto-reconnect.txt をダウンロード
  2. otsuka(at mark)example.sakura.ne.jp/10022 の部分を、自分の契約している VPS のホスト名、ユーザー名、sshポート番号に変更する
  3. インストールスクリプトを Pogopug に送り込んで実行
  4. /root/.ssh/pogoplug_rsa.pub の公開鍵を VPS の authorized_keys にセットする
  5. Pogoplug を再起動すれば VPS に対して ssh コネクションを維持してくれる
  6. VPSを再起動しても、ssh コネクションが維持されることを確認する

VPS側から自宅のPogoplugにsshで接続

VPS側から自宅のNASの共有フォルダにアクセス

VPSのデスクトップで家のNASにアクセスする』でも紹介しているが、Pogoplugの場合は、cronとwgetによる自宅IPアドレス通知は必要ない(netstat -np | grep 10022 コマンドで調べられる)。

  1. /etc/network/interfaces に以下を加える
    auto lo:0
    iface lo:0 inet static
         address 192.168.11.10
         netmask 255.255.255.255
  2. $HOME/bin/connect-mypogoplug.sh のような名前で以下のスクリプトを書いて保存(NASのアドレスは 192.168.0.143 としたが、自分の家の環境で調べておいて変更すること)
    #!/bin/bash
    shopt -s huponexit
    sudo -E ssh mypogoplug -F $HOME/.ssh/config -D 1080 -L 192.168.11.10:139:192.168.0.143:139
  3. connect-mypogoplug.sh を実行、VPSから自宅のPogoplugにsshで接続できることを確認(ログインしたままにすること)
  4. デスクトップのツールバー:場所:サーバーへ接続
    connect-server-settings.png
  5. ブックマークに NAS on Home ができているので、自宅へのssh接続がしてあれば次回からはブックマークで接続可能
  6. アクセスが終わったら、ファイル・ブラウザのアイコンから共有フォルダを切断
  7. 自宅へのssh接続をログアウトで切断

ファイルシステムの書込み禁止

ファイルを不用意に書き換えては困る場合は、ファイルシステムごと書込み禁止にしておけばよい。 /etc/init.d/db に操作例がある。

再接続

プロバイダのメンテナンス等の理由で自宅のIPアドレスが変わってしまった場合、Pogoplug 側からVPSへ再接続をかけないと通信できない状態になることがある。自宅にいる場合は可能だが会社や出先でこの状態になった場合は、VPS側から遠隔で再接続を行う必要がある。 もちろんVPSを再起動してしまえば簡単なのだが、なんでもかんでも再起動というのはサーバーではやりたくないので、少しトリッキーだが以下の手順で再接続できる。

参考


添付ファイル: filehsj-auto-reconnect.txt 305件 [詳細] fileconnect-server-settings.png 255件 [詳細]

トップ   差分 バックアップ リロード   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-02-27 (水) 09:21:41 (1518d)