Waffle Computer BBS(Japanese) http://www.wafflecomputer.com/bbs/ja/ |
|
l.を不要にするサービス http://www.wafflecomputer.com/bbs/ja/viewtopic.php?f=37&t=215 |
ページ 1 / 1 |
作成者: | mozart [ 2014年10月17日(金) 12:10 ] |
記事の件名: | l.を不要にするサービス |
以下は最新ニュースに書いた内容と同じです ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー WCの設置場所ではURLに「l.」を付けなくてはなりません。 これはWaffle Cellの問題ではなく、ネットワークの構造上通常避けられない問題です。 そこで非常に特殊な処理でl.を回避するサービスを作りました。便利な反面、使い方を 間違えるとルーターの設定をもとに戻さないとネットに接続できなくなります。十分に 注意しご利用下さい。 ◆ 何故問題が起こるか ネットでは名前(例:blade.wafflecell.com)をIP(例:23.66.121.10)に変換し、 サーバーの位置を特定します。この機能をDNSと呼びます。ところがサーバーへ アクセスする場合、サーバー設置場所ではローカルIPという、身内でしか使えないIP を利用し、外からはルーターに割り当てられたグローバルIPを使います。外からと中から では違うIPが使われるのです!しかし名前をIPに変換するDNSはいつも同じ値を返し ます。 そこでこの2つを分けるために l. ありとなしをWaffle Cellでは用意しています。 ◆ 問題解決の方法 普通名前をIPに変える機能はルーターで指定したDNSで行い、通常はプロバイダが 提供するサーバーがその役割をにないます。今回提供するサービスはこのDNSを 一度Waffle Cellが中継することで解決します。 Waffle CellのDNSは状況を判断して、必要に応じて l. なしでも内部IPを返します。 ◆ インストール方法 いつものように管理画面の「サービス追加」「Update」「サービス一覧のアップデート」 を実行して下さい。「社内システム」内に「l.を不要にする(アルファ版)」というサービス が現れるので、内容を十分に理解してからインストールし、ルーターの設定を変えて 下さい。 ◆ 重要 もし正常に動作しない場合は、ルーターの設定をもとに戻します。もとに戻す方法を忘 れると「とても困ります」ので注意指定下さい。 ◆ お願い アルファ版ですので、正常動作した、しないの情報をいただければ助かります。よろしく お願いします! |
作成者: | hokumura [ 2015年8月20日(木) 22:59 ] |
記事の件名: | Re: l.を不要にするサービス |
基本的に正常動作していると思うのですが、自分の所有するドメインで alias (CNAME) をつけてアクセスした場合、名前解決が正しく行われません。ちょっと不思議なのですが… 自分の Wafflecell が DNS サーバーである状態で nslookup okumura.wafflecell.com とすると、ちゃんと Wafflecell のローカルの IP が帰ってきます。 自分のドメインで wafflecell.okumura.com に CNAME okumura.wafflecell.com としてあるのですが、同じく自分の Wafflecell が DNS サーバーである状態で nslookup wafflecell.okumura.com とすると、10.0.20.1 という IP が帰ってきます。実際に帰ってくる表示は以下です。 権限のない回答: 名前: okumura.wafflecell.com Address: 10.0.20.1 Aliases: wafflecell.okumura.com 私の Wafflecell のコンピューターには NIC が 2 枚あり、実際に接続して使っているのはその一方だけです。10.0.20.1 は、もう一方の、実際には LAN ケーブルがつながっていない NIC 側に振られた IP です。 Alias は理解して、okumura.wafflecell.com の名前と変換した上で解決をしようとしているはずなのに、okumura.wafflecell.com で domain 問合せを行うと、正しいローカル IP が帰ってくるのに、別ドメインの CNAME である wafflecell.okumura.com で問合せを行うと、ローカル IP ではあるのですが、正しくない方のアドレスが帰ってきます。 何か追加で設定を行うべきでしょうか? |
作成者: | mozart [ 2015年8月21日(金) 09:34 ] |
記事の件名: | Re: l.を不要にするサービス |
この機能は以下のように処理しています。 1)DNSの名前の解決をルーターに問い合わせる 2)ルーターはWaffle Cellにその解答を求める 3)Waffle Cellは xxxxx.wafflecell.com (xxxxxはWaffle Cellに割り当てられている標準のホスト名) の時にだけ自分のローカルIPを返す 4)それ以外は通常のDNSとして動作する ここでポイントは3)です。3)でおこなう例外処理は「okumura.wafflecell.com」に対してのみとなります。 結果として「wafflecell.okumura.com」は通常のDNSが返す値を使います。これがうまくいかない理由です。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー 以下、技術情報ですがサポート外ですのでヒントのみ書きます。 Waffle Cell内(仮想デスクトップ内)の場合はルーターに問い合わせずに直接hostsを参照します。 /etc/hosts 仮想PC以外は以下のスクリプトで例外処理をしています。 /etc/powerdns/pdns.lua lunaというスクリプトで書かれていて、ここに例外処理を加えれば、処理ができるかもしれません。 ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー |
作成者: | hokumura [ 2015年8月22日(土) 17:21 ] |
記事の件名: | Re: l.を不要にするサービス |
ヒントありがとうございます。 pdns.lua の domain == の条件に、独自ドメインの条件を追加した後、"rec_control reload-lua-script" してみました。 たぶん上手くいっていると思いますが、TTL で古いデータを参照したままなのか、実際の PC 側での nslookup でのクエリーにはまだ 10.0.20.1 が帰ってきます。PC で "ipconfig /flushdns" としても同じでした。(nslookup が "権限のない回答" として結果を返すので、キャッシュを返しているのだと思います) ちょっと時間をおいてどうなるか見てみようと思います。 |
作成者: | mozart [ 2015年8月23日(日) 13:54 ] |
記事の件名: | Re: l.を不要にするサービス |
少しわからないのですが、 10.0.20.1 はローカルIPです。ブラウザでこのIPに接続すると、Waffle Cellの Topページが見えないでしょうか? |
作成者: | hokumura [ 2015年8月24日(月) 01:33 ] |
記事の件名: | Re: l.を不要にするサービス |
ローカルルーターのサブネットは 192.168.62.0 です。マスクが異なるので 10.0.20.1 へはルートの設定が必要ですが、PC に 10.0.20.1 へのルート設定はありません。(Wafflecell の仮想デスクトップ上のブラウザからであれば問題なく 10.0.20.1 でアクセスできます) あと、今日確認すると nslookup での名前解決は正しくできるようになりました。 nslookup wafflecell.okumura.com とすると、wafflecell のローカル IP が帰ってくるので、正しいです。 ところが ping wafflecell.okumura.com とすると、グローバルの IP が帰ってきてしまいます。ping は名前解決の方法が特殊なんでしょうか? PC 上の Firefox も、グローバルの IP に解決しているような感じで、アクセスしているにはしていますが、l.okumura.wafflecell.com でアクセスした時に比べて、ものすごく遅いです。 |
作成者: | mozart [ 2015年8月24日(月) 11:08 ] |
記事の件名: | Re: l.を不要にするサービス |
ping でも他のサービスでも名前の解決を独自に持つことはないと思うので、 「何かが」おかしいと思います。 もしそれがキャッシュであれば、一つずつシステムを再起動すればうまくいく のですが。 例えば今まで使っていなかったブラウザ(例:IEやChrome)でも接続は遅いで しょうか。 |
ページ 1 / 1 | All times are UTC + 9 hours |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |