web-dev-qa-db-ja.com

Let's Encrypt:内部ドメインにサブジェクト代替名を使用する

My Synology NASはHTTPS経由でWebインターフェイスを実行できます。デフォルトでは、名前(たとえば、mynas)経由でNASにアクセスします。 )so http(s)://myname:5001またはhttp(s)://myname.local。デフォルトではsynology.comのSSL証明書になります。

Let'sEncryptを使用して新しい証明書を作成できます。必要なポートをルーターからNASに転送し、所有しているドメインからサブドメインを作成し、ホームIPを指すようにDNSを更新しました。 (例:home.my-domain-i-own.com

サブジェクト代替名としてmyname;myname.localを入力できることを期待していたので、警告なしにHTTPS経由で内部的にNASを参照できます。ただし、Let'sEncryptはドメイン名を受け入れません。どうやら、検証します。

私の質問:問題を解決する方法ドメインmynas.localでLet'sEncrypt証明書を警告なしで使用できますか?

1
Jurian Sluiman

問題

あなたはドメイン名を所有していませんmynas.local、もちろん、Let's Encryptは、あなたがそのドメインを所有していることを示す証明書に署名しません。そのような証明書に署名した場合、ブラウザはすぐにLet'sEncryptの信頼を停止します。

代わりに、自分のドメイン名を使用して、どこからアクセスしたかに関係なく、NAS)にアクセスする必要があります。これは、証明書だけでなく、証明書が多いためでもあります。 LANの内部と外部の両方からNASにアクセスする必要があるモバイルデバイスがある場合に便利です。

ネットワーク上にNATがあり、ドメイン名をNASのIPに向けるだけの邪魔になっているようです。NATを使用しなかった場合、これは問題なく機能します。

解決策

理想的な解決策は、NATのないネットワークを使用することです。必要に応じて、外部からNASのHTTPSポート以外のすべてへの接続をファイアウォールでブロックすることもできます。

ISPがそのような設定に十分なIPv4アドレスを提供する可能性は低いため、そのようにしたい場合は、IPv6を使用する必要があります。

IPv4がゲートウェイによってNATされ、IPv6がNATなしでルーティングされるようにLANを構成できます。 NAS)に選択した名前に対して、NAT)を指すAレコードとNASを指すAAAAレコードの両方を作成できます。

LAN上のクライアントは、NAS)へのIPv6パスを直接持つことになり、AAAAレコードの使用を優先する必要があります。IPv4アドレスの使用にはヘアピンNATが含まれますが、これはフォールバックとしてのみ使用されます。 IPv6接続が失敗します。クライアントとNASは、ルーターがなく、互いに1ホップしかないため、IPv6接続が失敗することはめったにありません。

LANの外部からのクライアントは、接続しているネットワークに応じてIPv4またはIPv6を使用します。 IPv4のみのネットワーク上にある場合は、NATでポート転送を行う必要があります。これは、現在と同じように構成したままにしておく必要があります。

回避策

ISPがまだIPv6をサポートしていない場合、問題に対する明確な解決策はありません。ただし、まだ可能な回避策があります。

NATゲートウェイで独自のDNSサーバーを構成できます。このDNSサーバーは、ドメインに対して権限があると見なし、他のすべてに対して再帰する必要があります。このDNSサーバーは、次の場合にローカルアドレスを配布する必要があります。あなたのドメインを尋ねました。

LAN上のクライアントにはローカルIPアドレスが与えられ、NASに直接接続します。 LANの外部のクライアントは、NATゲートウェイのDNSサーバーを使用しません。代わりに、外部IPを指す実際の権限のあるサーバーから応答を受信します。

4
kasperd

インターネットでこのドメインをmynas.local所有していないため、不可能です(つまり所有権)。

1
Gea-Suan Lin