(2011/06/30)
さて、物は試しと、自宅サーバーでどこまでの運用が可能なのかやってみよう。
自宅にはVIAのC3が乗ってるマザーボードME-6000とそこにHDD2TBをくっつけてあるサーバーがある。wikiにしたり、ネットワークストレージにしたりといろいろ活躍してはいるが、通常のプロバイダがやってくれるサービス群には使ってない。つまり、メールやDNSです。ま、プロバイダに入っているとそっちは無料なんでイランという話もありまして、使ってない。けど、ちょっとやってみたくなーい?。
ということで、とりあえずドメイン取得。「ドメイン取得」でググると色々出てくるが、基本的にドメイン保持の料金はかわらないみたいだ。なので、一番上に出てきたお名前.comで安直に取得。XXXX.ccと4文字に拡張子(っておい)がcc。3文字はほとんどない。年間2900円くらい。月々250円ほど。缶ジューズ2本分でどこまで遊べるか。
まずは、www.XXXX.ccで自分の家のサーバーにつながるようにしてみよう。これは簡単だ。家にあるルーターのWAN側のアドレスを調べて、それをお名前.comのレンタルDNSに登録してもらうだけだ。これはAレコードってやつに、www.XXXX.ccは202.家のIPアドレスであると登録するだけ。んでもって、ルーターに80ポートの穴をあけて、そのアドレスを自宅サーバーのIPアドレスにNATする。問題は家の中から確認できないことだな。携帯で確認するか、excite翻訳とかで別のサーバーから中継して確認するかだ。
次にメール。メールは現状ではプロバイダのPOP3サーバーに届き、そこにメールクライアントで接続して取得している。んだが、せっかくドメイン取ったんだ。ore@XXXX.ccって使ってみたいじゃん?。
そのために、まず、自宅サーバーにメールサーバーをたてる。家のdebianでは標準でexim4が動いているので、これで良い。アカウントとしてoreは登録されているので、ore@XXXX.ccにメールできるようにしよう。
exim4は以下のようにncurceで設定できる。
#>dpkg-reconfigure exim4-config
1.スマートホストでメール送信lSMTPまたはfetchmailで受信する。 2.システムメール名 me6 3.入力側SMTP接続をリスンするIPアドレス 空白 4.メールを受け取るその他の宛先 XXXX.cc;me6 5.メールをリレーするマシン 192.168.11.0/24 ←LAN内からは認める設定。 6.送出スマートホストのipアドレス smtp.lolipop.jp::587 7.送出するメールでローカルメール名を隠しますか? はい 8.表示するローカルユーザーのドメイン名 XXXX.cc 9.DNSクエリのかずを最小限にとどめますか? いいえ 10.ローカルメールの配信方式 Maildir 11.設定ファイルの分割 なし
とりあえず、me6サーバー内部でメールの送信ができるようにしておく。さて、メールの受信ポートは何番だ?。25番か。とりあえずルーターの25番を開けよう。んで、プロバイダからテストする。メールの送信には587番を使うらしいつまり、こういうことか?。
うちのMac→587番→プロバイダのSMTPサーバー→25番→相手のメールサーバー
なるほど、個人で立てたSMTPサーバーからは直接は送信できない仕組みになっているのね。とりあえず、me6のdebianに作ってある俺のアカウント@XXXX.ccで受信できた。次に、メール送信サーバーとしてexim4を使おう。つまり、↓こうする。これがスマートホストって言うらしい。
うちのMac→ウチのサーバー→587番→プロバイダのSMTPサーバー→25番→相手のメールサーバー
こうするには、/etc/exim4/passwd.clientに書くらしい。
# Example: ### target.mail.server.example(ロリポを使うけど):login:password プロバイダのメール鯖:ログイン名:パスワード
デフォルトではstmpへのアクセスは暗号化するらしい。だが自分のプロバイダはPlaneテキストである。なので/etc/exim4/exim4.conf.templateに以下を追加
AUTH_CLIENT_ALLOW_NOTLS_PASSWORDS=true
で、Macのメーラーのsmtpをme6のアドレス192.168.11.9にセットする(まだ内部のdnsはうごかしてない)。
うーむ。送信で、相手にはじかれてしまうぞ・・。とりあえず。/etc/hostsのme6.XXXX.ccと書いて、me6のAレコードを登録してみた。
キター!!なるほど、送信元アドレスがme6.XXXX.ccでme6.XXXX.xxのアドレスが引けないからはじかれるので、me6.XXXX.ccを引けるようにAレコードにme6を入れて上げれば良いのか。
内部からのアクセスだとドメインネームを持っていても、うまく使えず、ipアドレス運用になってしまう。そこで、内部にdnsサーバーを立てる。まぁ、普通にbind9を。
#apt-get install bind9
んで・・。/etc/named.optionsを編集
options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 allow-query { 127.0.0.1; 192.168.11.0/24; }; allow-transfer { 127.0.0.1; 192.168.11.0/24; }; forwarders { 202.224.32.1 // from provider 202.224.32.2 // from provider }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };
こう?。俺のメインのlocalエリアは192.168.11.xだから、forwardersの中はasahi-netのページに書いてあったdnsサーバー2つ。
んで、Zoneを設定するのだが、named.conf.localは以下の様にする。逆引きは使わないからいいや。
zone "XXXX.cc" { type master; file "/etc/bind/XXXX.cc"; };
そんでもって、/etc/bind/にXXXX.ccを作って、編集。
$TTL 1D @ IN SOA ns.XXXX.cc. root.me6.XXXX.cc. ( 2011082201 3H 1H 1W 1D ) IN NS ns.XXXX.cc. IN MX me6.XXXX.cc. ns IN A 192.168.11.9 ; me6 IN A 192.168.11.9 ; XXXX.cc. IN A 192.168.11.9 ; smtp IN CNAME me6; www IN CNAME me6; imap IN CNAME me6;
とりあえず、これでrestart
#/etc/init.d/bind9 restart
テスト。とりあえずmacos-xでネットワーク設定のdnsのところだけ192.168.11.9に設定して、最初に自鯖を見に行くようにする。んでもって、macでコンソールを立ち上げる。
mac$>nslookup >me6.XXXX.cc Server: 192.168.11.9 Address: 192.168.11.9#53 Name: me6.XXXX.cc Address: 192.168.11.9 >www.XXXX.cc Server: 192.168.11.9 Address: 192.168.11.9#53 www.XXXX.cc canonical name = me6.XXXX.cc. Name: me6.XXXX.cc Address: 192.168.11.9 >smtp.XXXX.cc Server: 192.168.11.9 Address: 192.168.11.9#53 www.XXXX.cc canonical name = me6.XXXX.cc. Name: me6.XXXX.cc Address: 192.168.11.9 >XXXX.cc Server: 192.168.11.9 Address: 192.168.11.9#53 Name: XXXX.cc Address: 192.168.11.9 >www.yahoo.co.jp Server: 192.168.11.9 Address: 192.168.11.9#53 Non-authoritative answer: www.yahoo.co.jp canonical name = www.ya.gl.yahoo.co.jp. Name: www.ya.gl.yahoo.co.jp Address: 124.83.187.140
うーん。大丈夫かな?。んで、面倒なので、ご家庭用ブロードバンドルーターのDHCPのDNSのところに192.168.11.9を設定。再度DHCPでアドレスを取り直せば設定完了。これで何か恩恵があるかというと・・今は無いな。前はRD-X53とかネットワークで設定する物がいくつか有ったけど、今ないし。プリンタの名前を設定してインクの状況を見るくらいかな?。Mac通しはavahiでつながるしねぇ。
Copyright (C) 2008 俺 All right reserved.