2016-08-25 5 views
0

私は領事のDNSクエリ(https://www.consul.io/docs/agent/dns.html)のポート8600でリッスン知って楽しんでるのdnsjava領事JavaのDNS SRVルックアップの

を使用して、デフォルトのDebianサーバ上で実行されているJavaアプリケーションからサービス検出を行うために領事を使用しようとしています。

しかし、DNSはデフォルトでポート53でリッスンするため、照会は領事に転送する必要があります。私はIPTablesを使って転送しましたが、これが正しいアプローチであるかどうかはわかりません。しかし、digを使用して動作しますが、私は副作用が何であるか分かりません。アプリケーション開発者なので、私は必ずしもiptablesの更新や追加パッケージに

をインストールするためのアクセス権を持っていない私は、このアプリケーションは、JavaアプリケーションからのDNSを検索しようとしたが、それ

sudo apt-get install dnsutils 

sudo iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -j REDIRECT --to-ports 8600 

sudo iptables -t nat -A PREROUTING -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 8600 

sudo iptables -t nat -A OUTPUT -d localhost -p udp -m udp --dport 53 -j REDIRECT --to-ports 8600 

sudo iptables -t nat -A OUTPUT -d localhost -p tcp -m tcp --dport 53 -j REDIRECT --to-ports 8600 

dig @127.0.0.1 -p 8600 bapi.service.consul. SRV 

dig @127.0.0.1 -p 8600 bapi-stub-node.node.consul. ANY 

dig @127.0.0.1 -p 53 bapi.service.consul. SRV 

dig @127.0.0.1 -p 53 bapi-stub-node.node.consul. ANY 

BAPI

呼び出すサービスを持っています動作しません、私は知らないなぜ

https://github.com/tonymurphy/srv-discovery

私は春が領事との統合およびサービスの発見を持って知っているが、私はそれに付属しているすべての荷物を望んでいない、使用するように見えるんhttp apiからdへOサービスの検索が

答えて

0

2つのアプローチがあります。

  1. 使用ポートのIPテーブルのようなフォワーディング(uは使用していること)、dnsmasqの、など。例えば は、Debianのパッケージマネージャを使用してのdnsmasqをインストールすることになります。 apt-get install dnsmasq、その後: echo "server=/consul/127.0.0.1#8600" > /etc/dnsmasq.d/10-consul

  2. port.dnsコンフィグ (https://www.consul.io/docs/agent/options.html

  3. 0を使用して領事がポート53でリッスンしてください

低ポートでリスンするにはroot権限が必要で、consul root権限を与えるのは良い考えではないので、私はポートフォワーディングをするのが好きです。一方、dnsmasqやその他のソリューションをインストールすることは、あなたのシステムに依存するだけです。

とにかく、それらの間で選択する必要があります。両方の方法でroot権限が必要です(システム管理者にサポートを依頼してください)。

ここですべて読むことができます: https://www.consul.io/docs/guides/forwarding.html

関連する問題