web-dev-qa-db-ja.com

dnsmasqで静的ワイルドカードサブドメインを構成する方法

NATの背後にネットワークがあり、いくつかのマシンがあります。

マシンは次のとおりです。

  • ルーター-NAT、dnsmasq、転送-inetに直接接続
  • サーバー-ssh、www、その他の機能を実行します
  • クライアント-サーバーで何かを行う

私もmydomain.comを持っています。
server.mydomain.comは、ポートをサーバーに転送するルーターである私の接続のIP(単一IP)を指しています。

サーバーは、vhostsに基づいてさまざまなサイトにサービスを提供するhttpdを実行しています。
つまり、site1.server.mydomain.com、site2 ..

問題は、すべてのトラフィックがルーターを通過することであり、ログを確認すると常にすべてのルーターのIPが表示されます(そのため、while(1)で誰がスクリプトを実行しているかはわかりません)。

私はServerAliasのsite1.server.localを使用しますが、ほとんどのサイトにはルートURLがどこかに保存されており、その上に他のURLが構築されているため、それを行うことはできません。

私の解決策は、サーバーのIPを使用して* .mydomain.comに応答するようにdnsmasqに何らかの方法で指示することです。

これはどういうわけか可能ですか?

14
Prody

私は自分の開発サーバーでまったく同じことをするので、rsyncされたミラーをローカルに、同じ構成のオフサイトサーバーに置くことができます。

Webサーバーの内部インターフェースが192.168.0.3であると想定して、dnsmasq.confに必要なものを(再起動してください)ください。

address=/.server.mydomain.com/192.168.0.3

これにより、*。server.mydomain.comのワイルドカードエントリが作成され、クライアントがDNSにDNSMasqを使用している(およびサーバーが内部インターフェイスでリッスンしている)限り、設定は完了です。

13
gravyface

問題を理解しているかどうかはわかりませんが、問題の根本的な原因はルーターの着信接続のNAT処理にあるようです。より具体的には、すべての着信接続がルーターのIPアドレスとともにログに表示されると述べたので、すべての着信接続をマスカレードしているようです。

あなたがしなければならないのは、各接続のソースIPを保持するルーターのDNAT着信接続とSNAT発信接続です。

0
fim