接続したその後VPN状態でサーバへ接続確認sshが問題なくできたら...開発準備!参考シリーズ今回やること今回は外部ネットワークからVPNで自宅開発環境へ接続できるようにすることを目標とする。Codeの`remote-development(remote-ssh)を使用すれば、低スペックなクライアントマシンから、ハイスペックなCUIのubuntuサーバ(物理)で開発出来るようになっている。やるべきこと、知っておくべきこと基本的に何をすべきか、は以下がわかりやすい。ja.softether.orgクライアントソフトの前に、接続先である自宅ネットワークにVPNサーバを建てる必要がある。上記はリモートアクセスVPNと呼ばれるようだ。一つVPN専用のネットワークを作成して、VPNネットワーク接続しているクライアント間で接続出来るようにするアドホックVPNというものもある。ja.softether.org上記の場合、自宅サーバを常にVPNへつなげる必要があるのでそれは自宅内で使用する際にはちょっとめんどくさいし、最終的には開発サーバ以外にも入れるようにしたいこともあり、今回はリモートアクセスVPNで行こうと思う。あとサーバを建てる際にもそれぞれで同一のプロトコルが使用できるかも確認したい。結局やることはいかだろう。実を言うと、これは今回mDNSを設定していれば不要な設定である。これについては通常は各サーバのネットワーク設定を直接編集して実現するのだが、今回使用しているTP-LINKのルータではルータ側でmacアドレスとIPアドレスをバインドして、実質的に静的IPを実現することが出来る。tplinkの設定で言えば、以下の2点の設定でいける。IP&MACバインディングwww.tp-link.comただ、よくわからなかったのがMacのIPを試しにMac側の設定を編集(手動入力)して、IPを固定化したところネットワークへ繋がらなくなった。LAN内のルーティングに失敗しているのだが、ここらへんすっかり忘れてしまったので後日調査してみたい。DDNSの設定そもそもDDNSとは動的なDNSサービスのことで、DNSサービスがFQDN-(グローバル)IPアドレス変換を行うものであることはすでに理解していると思う。「動的」である必要性は、グローバルIPが変化した際にも追従して名前解決を行うことが出来るようにするためだ。これについては有償/無償含めいくつかサービスの候補があり、今回はtplink-cloudのddnsサービス(無償)を使用した。VPNサーバの用意これはいくつか方法があるが、今回はルータの内臓機能のVPNサーバを使おうとおもう。A10では2種類のプロトコルがサポートされており、この内PPTPはすでに非推奨の方式なので、今回はOpenVPNを使用してサーバを構築する。方法については以下で解説がある。www.tp-link.com設定項目として、プロトコルはUDP、サービスポートは1149と、それぞれ一般的に使用されるデフォルトポートを使用する設定とした。これまでの設定を完了していれば、まずは証明書の生成をおこなう。(数十分はかかる)あとは有効にチェックを入れ、保存すればOpenVPNサーバの設定は完了である。使用側(クライアント)にVPNクライアントソフトウェアを導入OpenVPNのインストールラストはクライアント側の設定である。OpenVPNのサイトからVPNClientをインストールする。windowsをインストールした。www.openvpn.jpちなみにwindowsにはGUIクライアントであるvpnux-clientというソフトがあるが、設定内容を理解していないとちょっとハマりやすいので、別記事で紹介する。macの場合はTunnelbulickと呼ばれるGUIツールがあるのでそれを使用する。接続設定&認証情報を取得&OpenVPNへ反映これは私の場合であるが、tp-linkルータの設定画面で先程VPNサーバを設定したところで証明書のエクスポートができる。エクスポートした設定ファイル(.ovpn形式)をクライアントPCへダウンロードする。VPN\conigにovpnファイルを保存することで設定を利用できる。GUIを起動することで接続が始まる。接続が完了した、と表示がおそらく出るので、そうすればアクセス出来る状態になっているはずである。ubuntuという風にプライベートIPアドレスやmDNSを使用して、ssh接続することが出来る。使用してリモート環境をそのまま使用して開発する。remote-sshの使用には、基本的にはssh_configがちゃんと設定されていれば非常に簡単に使える。使い方については、[F1キー]→remote-ssh:を入力して候補からConect-hostを選択ホストの候補が表示されるので、接続したいホストを選択これで接続できる。hostみたいなのが先に必要になるかもしれない)やり方は色々あるようなので、ssh_configをちゃんと書かない場合は以下を参照。code.visualstudio.comこれでVScodeさえ動けばいいレベルの軽量低スペックPCでリモート開発が可能になった。デフォルトのPyt...2019-11-10Pythonにはプロパティのgetter、setterは不要、それがパイソニック今日も一日一文法シリーズ、やる。ヶ月)2019年1月から都内でプログラマとして働いています。新しい技術が大好きで、興味の赴くままに色々試しています。業務はPythonメインにバックエンド開発を行っています。自然言語処理の仕事も始める予定です。Ansible、(AWS)サーバレス、統計解析(ML,DL),ARを触ったりしています。(2)スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。