bindIp
について
127.0.0.1
慣例により、localhost
のIPアドレスです。 ループバックインターフェイスにバインドされており、同じマシンからのみアクセスできます。
このアドレスをデフォルトとして使用することは、サービスを誤って一般に公開することを防ぐため、ベストプラクティスです。サービスを公開するには、バインドIPを変更することを意識的に選択する必要があります。 確認した後にのみ行う必要があります 適切なセキュリティ対策を講じたこと。
通常、マシンにはループバックインターフェイスと1つ以上の「実際の」ネットワークインターフェイスがあります。
「内部」(同じネットワークに配置されているため、アプリケーションサーバーからのみアクセス可能)のネットワークインターフェイスが1つあり、「外部」(メンテナンス目的でパブリックインターネット経由でアクセス可能)のネットワークインターフェイスが1つあるとします。ここで、MongoDBインスタンスをすべてのインターフェースにバインドする場合(IPアドレス0.0を使用します。 0.0 そのためには、MongoDBインスタンスにパブリックインターネットからアクセスできますが、これはほとんど望ましい状況ではありません。攻撃者はパスワードをブルートフォースしようとし、最終的にMongoDBインスタンスにアクセスする可能性があります。公共のインターネットからのアクセスをまったく防ぐ方がよいでしょう。
アプリケーションサーバーとそれが実行されているマシンからMongoDBインスタンスにアクセスできるようにしたいもの。したがって、MongoDBを両方のループバックインターフェイスのIP( 127.0.0.1
)にバインドします。 )およびプライベートネットワークのIP。一般的には次のいずれかになります
-
10.0.0.0
からの範囲10.255.255.255
へ -
172.16.0.0
からの範囲172.31.255.255
へ -
192.168.0.0
からの範囲192.168.255.255
へ
例を挙げて、アプリケーションサーバーとMongoDBインスタンスの両方が 192.168.X.X
の範囲のプライベートネットワークにあるとしましょう。 MongoDBインスタンスにIPアドレス192.168.0.1
を指定しました 。したがって、 192.168.0.1
を介してMongoDBインスタンスにアクセスできるようにする必要があります。 アプリケーションサーバーが127.0.0.1
を介して通信できるようにします MongoDBが実行されるマシンから管理ツールを簡単に使用できます。
したがって、YAML構成構文を使用すると、複数のIPを渡すことになります
注 複数のIPでカンマの間にスペースを追加しないでください
# WARNING!!! WARNING!!! WARNING!!!
# DO NOT DO THIS UNLESS YOU HAVE CLIENT AUTHENTICATION ENABLED
# (or you really, really, really know what you are doing)
net:
bindIp: 127.0.0.1,192.168.0.1
警告について
要するに、これはMongoDBの言い方です:
「あなたが本当にしない限り」という暗黙の意味があります 何をしているのかを知ってください!」、iircであるため、クライアント認証をアクティブ化するか すると、警告は消えます。 bindIpを変更します。