2011|08|
2013|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|05|06|07|08|09|10|11|12|
2016|01|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|

2018-09-07 SORACOMノードとSoftEtherでVPNを作る(この方法では、通信費が3万円/月を越えるので、止めた方がいい) [長年日記]

SoftEtherを使って、SORACOMのIoTサーバににSSHでアクセスする

SoftEtherを使って、SORACOMのIoTサーバににSSHでアクセスする

  • 作成日時
    • 2018-09-08(土) 23:22:54
  • 0.背景
    • 実家に私の見守りシステムを設営したかったが、インターネット回線を敷設する為だけに、インターネットの契約をするのは、ちょっと不経済が過ぎる ―― と思った
      • 嫁さん(鹿児島)の実家の方は、誰も使わない光回線費用で月間6000円
      • モバイルWiFiだって、安くはない
    • ところが探せばあるものです
    • SORACOMというIoTに特化した通信デバイスがある
    • 一月の使用量が300円程度の便利なデバイス
      • 初期費用:901円(データ通信のみ・コンソールから購入の場合)
      • 基本料金:10円/日(データ通信のみの場合)
      • データ通信料:0.2円/MB〜(速度クラスにより異なります)
    • ところが、SORACOMには問題があって、SORACOMの端末に直接アクセスできない
      • SORACOMのIPアドレスは、当然のことながら、インターネット側に剥き出しになっていない
      • ということは、江端家のパソコンからSORACOMのマシン(リモート)に直接アクセスできない
    • しかし、リモートにアクセスできないIoTなんて、実際のところ怖くて使えない
      • (鹿児島に毎週通うことができる訳ではない)
    • 結論:ぶっちゃけ、リモート(IoTデバイス)にSSHでアクセスできないのは困る
  • 1.前提
    • 江端家のIoTの管理マシンも、鹿児島や名古屋の実家のIoTサーバの両方とも、RaspberryPI(ラズパイ)とする。
      • 安くて、安定して、熱暴走もないし、要するに滅多に停止しない
  • 2.準備
    • IoTマシンラズパイを、SORACOMを使って普通に使えるようにする(Webやらメールやらを)
    • 基本的には、SORACOMを接続したマシンをクライアントとしてIPアドレスを使えるようにする
      • 基本的にはこれと同じ内容

        SORACOMスターターキット 3G USBドングル AK-020同梱 ¥5,980 を購入

        以下の設定ファイルを書きこむ

        "sudo reboot"をして、Raspberry PiのUSBポートにAK-020を差し込むと、  最初に認識されるデバイスが自動でマウント解除され、 次に認識されるUSBシリアルデバイスにドライバをあてがい、 USBシリアルデバイスを /dev/ttyAK020 にリンクします。 あと、(あれば)ネットワークインタフェース wwan0 をupします。

        • "ls /dev/tty" で、"/dev/ttyAK020"があることを確認する

        RaspbianにPPP設定を作る

        • "sudo apt-get -y install pppconfig"

        pppconfig を起動する

        • sudo pppconfig soracom_ak-020

        PPP接続時、デフォルトルートをPPP側に置き換える設定

        APN設定・PPP接続用チャットスクリプトの修正

        PPP接続テスト

        • sudo pon soracom_ak-020 (これで接続)
        • sudo poff soracom_ak-020 (これで切断)

        PPP接続用ネットワークインタフェースを作る(最後の3行)

  • 1.ターゲット
    • Soracomを使った実家のラズパイのSSHDに繼ぎたいが、IPアドレスが届かない
    • 色々やり方はあるけど、どうも上手くいかない上に、面倒くさい
    • うん、もうVPN作っちゃおう
      • とすれば、SoftEtherが面倒くさくないな
  • 2.方針
    • まずホームGWからラズパイ2へ、SoftEther用のポートフォワードする
    • 江端家ネットワークの「ラズパイ2」をSoftEtherの仮想HUBをインストールする
    • SORACOM ラズパイ3B+に、SoftEtherクライアントをインストールする
  • 3. 仮想HUB
    • 江端家ネットワークの「ラズパイ2」をSoftEtherの仮想HUBをインストールする
    • インストール
      • ~ softether-download.com > Ja ? ...
        • ダウンロードするソフトウェア
          • SoftEther VPN (Freeware)
        • コンポーネント
          • SoftEther VPN Server
        • プラットフォーム
          • Linux
        • CPU
          • 32bit用のやつ
      • Beta版は避けて、最新のRTM版を入れる
    • 設定
      • $ sudo /usr/local/vpnserver/vpnserver start
      • $ sudo /usr/local/vpnserver/vpncmd
      • 「1. VPN Server またはVPN Bridgeの管理」を選択
      • 接続先のホスト名またはIPアドレス:は、そのままReturn
      • 接続先の仮想HUB名は"VPN"
        • 設定はどうやったのか忘れた
        • "VPN"
      • UserCreateは"ebata"
      • UserPasswordSetは"例のアレ"
      • DhcpSet
        • DhcpSet コマンド - SecureNAT 機能の仮想 DHCP サーバー機能の設定の変更
        • 配布するアドレス帯の開始点: 192.168.33.20
        • 配布するアドレス帯の終了点: 192.168.33.50
        • サブネットマスク: 255.255.255.0
        • リース期限 (秒): 7200
        • デフォルトゲートウェイ (未設定可):
        • DNS サーバー 1 (未設定可):
        • DNS サーバー 2 (未設定可):
        • ドメイン名:
        • ログの保存 (yes / no): yes
      • DhcpGet
      • DhcpEnable
      • SecureNatEnable
  • 4. SoftEtherクライアント
    • SORACOM ラズパイ3B+に、SoftEtherクライアントをインストールする
    • インストール
      • ~ softether-download.com > Ja ? ...
        • ダウンロードするソフトウェア
          • SoftEther VPN (Freeware)
        • コンポーネント
          • SoftEther VPN Client
        • プラットフォーム
          • Linux
        • CPU
          • 64bit用のやつ
      • Beta版は避けて、最新のRTM版を入れる
        • あとはほとんどHUBと同じ
    • 設定
      • $ sudo /usr/local/vpnclient/vpnclient start
      • $ sudo /usr/local/vpnclient/vpncmd
      • 「2. VPN Clientの管理」を選択
      • 接続先のホスト名またはIPアドレス:は、そのままReturn
      • NicCreate
        • 仮想LANカード名は"123"
          • ちなみに、"ifconfig"をすると、"vpn_123"というカードができる
          • "NicDelete": 仮想 LAN カードの削除
          • "NicList": 仮想 LAN カード一覧の取得
      • AccountCreate
        • 接続設定の名前
          • 123
            • ぶっちゃけなんでもいい
        • 接続先VPN Serverのホスト名とホーム番号
          • XXX.XXX.27.95:443
            • これ江端家のホームGWのアドレス
            • 443をポートフォワードしておく
        • 接続先仮想HUB名
          • VPN
            • これ、サーバ側の情報
        • 接続するユーザ名
          • ebata
            • これ、サーバ側の情報
        • 使用する仮想LANカード名
          • 123
            • "vpn_123"と入力する必要はない
        • その他
          • 間違えたら、何度でも作りなおせば良い
          • AccountList": 接続設定一覧の取得
          • AccountCreate": 新しい接続設定の作成
          • AccountDelete": 接続設定の削除
      • AccountPasswordSet
        • > AccountPasswordSet 123
        • パスワード: **************
          • サーバで設定したパスワード(最高の私)
        • 確認入力  : **************
        • standard または radius の指定:
          • standard
      • AccountConnect
        • "AccountConnect 123"
        • その他
          • 接続を切るには
            • "AccountDisConnect 123"
      • ここで、"exit"で、vpncmdがら出る
      • でもって、DHCPからIPを貰う
        • "sudo dhclient vpn_123"で触られる
        • その他
          • もし、分けの分からないところからIPふられたら
            • "sudo dhclient vpn_123 -r"で解除できる
    • 6.5 VPN Client の管理コマンドリファレンスは、ここ
  • 5. sshの通信テスト
    • あとは、ふられたIPアドレス(例えば192.168.33.21などでアクセスすれば、SSHで通信することができる