VPNとWAN/LAN 10G化計画
VPNの薦めとWAN/LAN 10G化計画 (2024/04作成中)
自宅サーバーシステムもそれなりに構築されてくると外部から自宅のシステムをアクセスできる様にして、特に旅行中等に自宅システムにアクセスして録画を制御したり、視聴したりしたくなります。以前はPort forwardを設定していましたが、パスワードを設定しているとはいえセキュリティの面で大きな問題があります。今回はルーターにVPNを設定して、より安全にアクセス出来るようにしました。また今時10Gでのインターネットアクセスも可能になっており、これを機会にWAN及びLANを10G化することにしました。
右の写真はVPNと10Gをサポートした機器の現行のフロントエンドである。左端は10G光回線を受ける10GONUで右端のYAMAHAルーターに接続され10GSFPをサポートする、HUBに入っている。ここから10GSFPを通して、別部屋にあるメインルームに光ケーブルを通して、接続している。左から2番目はWiFi6ルータでHUBから2.5G接続している。
1. VPNサーバーの構築
VPN(Vertual Private Network)とは自分のネットワーク(LAN)に外部(WAN)側に接続された端末があたかもLAN内部に接続された端末の様に振舞わせることである。この為にはルーターがローカルアドレス(DHCP等)を生成しこれを外部と接続するポートを使って外部端末に与え接続しなければならない。VPN接続は特別なプロトコルが使用されるが、当然セキュリティについても十分に考慮されたものである必要がある。VPNに関しては事業所等のネットワークに外部のリモートオフィスからのアクセスを許容するものであるが、共用パスワード等設定されたPC等の盗難等についは十分な注意が必要である。
1.1 ExpressVPNについて
2.ハードウェアの改造
2.1 モーターコントローラーとRelayBoardの接続
USBでリレーを制御するために右図の様なRelayBoardをAmazonで購入した。HID制御でOS dependantなDriverは不要というふれこみのUSB制御のリレーボードで799円という安さである。hid制御ということで探せば他にも色々ありそうである。
リレーは1Cの物が2個乗っているがFocusMoterはボタン当たり2C接点が必要なので、5V2C接点のリレーを別に購入して載せ替えている。(後に述べるがリレーの載せ替えは必ずしも必要ではなかったのでこのままでも良い)
余計なことであるが、電話関係の仕事をしていた私としてはC接点はContinues接点のことかと悩んでしまったが、A接点はMake、B接点はBreak、C接点はTransfer接点のことらしい。
WINGONEER DC 5V 2チャンネルリレーモジュール無料ドライバーUSBコントロールスイッチPCインテリジェントコントロール
まず、FocusMoterを制御しているControllerを分解して、その回路を調べてみた。
Controllerはモーターのスピードを制御するボリュームノブと2つのプッシュスイッチが実装されている。また電源として9Vの電池を使っている。回路上スピードコントロール用のボリュームは定電圧回路の電圧を制御している。FASTに回すと電圧が高くなり、SLOWにすると、電圧が低くなるようになっている。
スイッチの1-1と2-1は押すと定電圧回路に電源を接続する為に使われとおり、スイッチの1-2と2-2はそれぞれどちらかを押すことにより、モーターに加える電圧の極性を変えている。すなわち押されたスイッチにより、モーターの回転方向が変わることになる。
RelayBoadのそれぞれ二つの接点をプッシュスイッチの接点と置き換えれば良いことになる。
しかし、ここで注意しなければならないのリレー接点を接続したら、2つのプッシュスイッチは必ず取り除かなければならい。取り除かないとリレーのみ動作した場合電源がショートしてしまう。
1-1と2-1はスイッチが押されていない時、電池が定電圧回路に接続されない様にして、電池の消耗を避けるためのものであり、電池でなくローカル給電とする場合は常にON状態としても問題は無いであろう。従って、電池でなければ1C接点のリレーでも制御出来ることになる。
3. 制御ソフトウェア
3.1 USBRelayBoadの検出
RelayBoadがPCから検出出来るかどうかを確認する為、Terminal画面から
lsusb -v -d
と打ち込むとそのPC(Mac)のUSBに接続されている全機器のリストが表示されます。
このRelayBoardに関しては
USBRelay2:
Product ID: 0x05df
Vendor ID: 0x16c0
Version: 1.00
Speed: Up to 1.5 Mb/s
Manufacturer: www.dcttech.com
Location ID: 0x00320000 / 14
Current Available (mA): 500
Current Required (mA): 20
Extra Operating Current (mA): 0
の様に表示されます。
3.2 USBRelayBoadの制御
これにより、ProductIDとVendorIDが判明するので、これに向けてコマンドを送出すれば、リレーが制御することができます。コマンドの様式が不明ですので、Manufacturerであるwww.dcttech.comを検索すればどうコマンドを送れば良いかが調べられます。どうやら8バイトのデーターを送ればリレーを制御出来る様です。
1. 0xff or 0xfd (0xffでON、0xfdでOFF)
2. 0x01 or 0x02 (0x01は一個目のリレー、0x02は2個目のリレー)
3-8 0xff (fillerとして0xffを埋めておく)
3.3 制御プログラム
GUIプログラムなので、Xcodeを使って開発しました。
Mac用実行形式ファイル FocusControl.app (実行可能プログラムなので「セキュリティとプライバシー」で実行許可を与える必要アリ)
また他のOS用の参考として FocusControl.xcodeproj
をダウンロード出来る様にしています。
ここでこのプログラムを動かしてみます。
リレーボードをUSBに接続しないで動作させると左下の様になり、接続すると右下の様に変わります。
プログラムはコントローラーをシュミレートしている。2つのボタンは”Near"と"Far"と記してあるが、押すことにより遠くあるいは近くに焦点を合わせる意味であるが、モーターの取り付け位置により逆となるが、特に気にすることも無いであろう。コントローラーのメカスイッチは押している間だけ動作するが、マウスのクリックでの操作は難しいので"Time Select"のラジオボタンで押している時間を制御する様にした。
プログラムの終了は赤ボタンではなく、”QUIT"ボタンを押す。コントローラーには速度調整用のボリュームノブが実装されているが、プログラムでは制御していない。ノブは使用状況に合わせて、適当な位置にセットしておけば用が足りると思う。
このコントローラでは9V (006P)をモーター電源としているが、メインテナンスを考えると煩わしくせっかくのUSB接続なので、USBから電源を取ることにした。USBは5Vなので、9Vでにする為に右の様なDC-DCコンバーターをAmazonで購入した。これも2個で899円と安価であった。他にも色々あったが降圧のみで昇圧できないものもある様なので、USB端子がついているものを購入するのが安全である。
これをUSBの電源供給端子に接続して、出力電圧を9Vに調整した。
4. 電源のUSB給電
5. 最終形
このUSBコントロールのフォーカスコントローラーのスナップを左にアップした。
最初は電池電圧の供給までは考えていなかったので、1Cのリレー2個を2Cのリレー2個に取り替えて、フルに配線してある。このリレーボードと電源ボードをコントローラーの背面に貼り付けてある。
何かのボックスに入れればもっとスマートにできたかもしれないが見かけにこだわらないので、裸で天体望遠鏡のところに転がしてある。
追記:
天体望遠鏡からPCへの接続はUSBカメラ、マウントコントローラーなど数が多くUSBハブを使ってUSB一本でPCまで持っていっているが、流石にこれらを一個のUSBポートのバスパワーで電源供給するのは厳しいので、ローカル給電のハブを使用している。
ローカル給電にするとこのリレーボードが認識されないことがあったが、一旦ローカル電源を抜き差しすればその後は問題なく認識する様である。