httpsの接続先がオレオレ証明書だと、接続する度に信頼するかと聞かれ、パスワードのオートコンプリーションも効かないし、色々面倒です。
かといって公式な認証を取ると3万円程度必要になります。無理無理無理w
そこで、今回はLet's Encryptを使って無料で公式な認証を取る話です。認証を取ると、URLが緑になって、パスワードのコンプリーションも効いて便利です。
前提として必要なのは、以下の通り。
- Edgerouter 1.8.5以降
- 独自ドメイン (1年目は99円や299円から)
- ポート80を一時的に公開できること
その先の手順は以下の通りです。
- 外部の名前で、内部から接続できるようにする
- 外部から接続しacme-tinyを使って認証を作成する
- router.jam.blueでIPを引けるようにする
- web UIをrouter.jam.blueに公開する
$ nslookup router.jam.blue
Server: 127.0.1.1
Address: 127.0.1.1#53
Non-authoritative answer:
router.jam.blue canonical name = jam7.ddns.net.
Name: jam7.ddns.net
Address: 180.145.72.84
こう出力されれば問題なし。127.0.1.1や192.168.1.1などのプライベートアドレスが出てくると問題あり。
対応方法は、まずホスト名に適当な物、router.jam.blue以外を設定します。これは、debian系のedgerouterでは、ホスト名を設定すると、それを127.0.1.1で登録するので、それを回避するためです。
こんな感じに設定します。同時に、WizardのDNS host namesも見て、router.jam.blueを全て消します。
これで、WAN側のアドレスだけになるはず。それが出来たら、Config treeから、service gui listen-addressを0.0.0.0にして、web UIを公開します。ここでは、httpdの設定を変えているだけで、これ以外にfirewallでブロックされているので、実際には外部からは接続できません。
この例では、certificates導入済みなので、ca-fileやcert-fileがデフォルトとは異なってますが、その下のlisten-addressを修正して、Previewして設定してください。
ここまでできたら、内部のPCから、router.jam.blueでweb UIが開けるはずです。
次は、「外部から接続しacme-tinyを使って認証を作成」なんですが、これは簡単で、 https://github.com/mgbowen/letsencrypt-edgemax をインストールして実行するだけです。
インストール時のgitの導入などでディスクスペースが足らない場合は、バックアップされてるシステムイメージを削除しましょう。
admin@router:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
ubi0_0 220080 203208 12036 94% /root.dev
aufs 220080 203208 12036 94% /
devtmpfs 127364 0 127364 0% /dev
tmpfs 127488 144 127344 0% /run
tmpfs 127488 144 127344 0% /run
tmpfs 127488 80 127408 0% /var/log
tmpfs 127488 8 127480 0% /tmp
none 127488 1364 126124 1% /opt/vyatta/config
unionfs 127488 8 127480 0% /opt/vyatta/config/tmp/new_config_4ukbi6sshf7ul2arvu74vggnd4scdcue
admin@router:~$ delete system image
The system currently has the following image(s) installed:
v1.9.1.1.4977602.170427.0113 (running image) (default boot)
v1.9.0.4901118.160804.1131
You are about to delete image [v1.9.0.4901118.160804.1131]
Are you sure you want to delete ? (Yes/No) [Yes]: yes
Removing old image... Done
admin@router:~$ df
Filesystem 1K-blocks Used Available Use% Mounted on
ubi0_0 220080 126412 88828 59% /root.dev
aufs 220080 126412 88828 59% /
devtmpfs 127364 0 127364 0% /dev
tmpfs 127488 144 127344 0% /run
tmpfs 127488 144 127344 0% /run
tmpfs 127488 80 127408 0% /var/log
tmpfs 127488 8 127480 0% /tmp
none 127488 1364 126124 1% /opt/vyatta/config
unionfs 127488 8 127480 0% /opt/vyatta/config/tmp/new_config_4ukbi6sshf7ul2arvu74vggnd4scdcue
後は、手順通り。sudo ./install.shするだけです。エラーが発生した場合でも、certificatesを導入してしまうため、web UIが見れなくなるかもしれません。そういう時は、sudo ./uninstall.shで回復できます。
0 件のコメント:
コメントを投稿