26.IPv6でメール送受信してみよう
IPv6でメールサーバを構築する方法と手順を紹介する。
まず、事前にIPv6プロトコルをインストールしておく必要がある。Windows Server 2008 / Windows Server 2008 R2 / Windows 2012 / Windows 2012 R2 では、最初からIPv6プロトコルがインストールされているので、無効にしていない限り、そのまま使うことができる。
netsh コマンドで Interface 番号を確認
IPv6用の設定コマンドとして提供されているのが、netsh コマンドである。他のコンピュータとの接続を確認してみよう。
他のコンピュータとの接続はルートは通常、"ローカル エリア接続"であるが、サービスへの接続は、この接続の Interface 番号を"%4"のように指定する必要があるので、netsh コマンドで Interface 番号が表示されるのを確認しておく。
netsh interface ipv6 show address <CR> アクティブ状態を照会しています... Interface 4: ローカル エリア接続 Addr Type DAD State Valid Life Pref. Life Address --------- ---------- ------------ ------------ ----------------------------- Link Preferred infinite infinite fe80::212:3fff:fe47:dbd4 |
さらに、ネットワーク内のコンピュータと自身のコンピュータで接続できるIPv6アドレスは、上の通り、fe80::212:3fff:fe47:dbd4 となっていることがわかるのでメモしておこう。
ここで仮に、ネットワーク上の他のコンピュータのipv6アドレスが fe80::210:5aff:fe85:a3d1 として、pingコマンドで応答するか確認してみることにしよう。
なお、IPv6アドレスのさらに末尾に付け加えて入力している"%4"だが、これは自身のコンピュータの Interface 番号を指定して接続ルートを規定している部分である。メールサーバーへの設定は、この"%<interface 番号>"を含めたIPアドレスで設定すればよいわけである。
ping fe80::210:5aff:fe85:a3d1%4 <CR> Pinging fe80::210:5aff:fe85:a3d1%4 from fe80::212:3fff:fe47:dbd4%4 with 32 bytes of data: Reply from fe80::210:5aff:fe85:a3d1%4: time<1ms Reply from fe80::210:5aff:fe85:a3d1%4: time<1ms Reply from fe80::210:5aff:fe85:a3d1%4: time<1ms Reply from fe80::210:5aff:fe85:a3d1%4: time<1ms Ping statistics for fe80::210:5aff:fe85:a3d1%4: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms |
きちんと応答があったら次に進もう。
IPv6でメール送受信ができるようにメールサーバーを設定
[E-Post Mail Control]の[サービス制御]タブを選択し、各サービス(EPSTRS,EPSTDS,EPSTPOP3S,EPSTIMAP4S)を事前に停止する。
次に、各サービス(EPSTRS,EPSTPOP3S,EPSTIMAP4S)の「詳細」ボタンをクリックし、接続IPアドレスを自身に割り当てられた fe80::210:5aff:fe85:a3d1%5 に設定しなおして、[OK]ボタンをクリックして閉じる。
次に、[ドメイン管理]タブを選択、IPv6も使用可能なように [IP version]を "IPv4/6" に設定する。(デュアルスタックでなくてよいなら "IPv6" に設定)
次に、[運用中のドメイン一覧]から test-sample.jp を選択し、[詳細]ボタンをクリックする。
[詳細]ダイアログボックスが表示されるので、各サービス(SMTP/POP3/IMAP4)の接続IPアドレスを自身に割り当てられた "fe80::210:5aff:fe85:a3d1" に設定し直して、最後に[OK]ボタンをクリックして閉じる。
設定が完了したら、[サービス制御]タブを選択し、各サービス(EPSTRS,EPSTDS,EPSTPOP3S,EPSTIMAP4S)を開始させる。
サービスが開始されたら、telnet コマンドを使って、IPv6のアドレスを利用してメール送信(SMTP)ができるか実際に行ってみよう。なお、下の例ではSMTP認証を利用しているが、実際にはツールの助けを得なければエンコードされたパスワードを作り出すのは難しいので、SMTP認証なしの設定で試すとよいだろう。
telnet fe80::210:5aff:fe85:a3d1%4 smtp<CR> ←自分で入力する内容 220 test-sample.jp E-POST ESMTP Receiver (4.xx)...... →SMTPサービスが応答を返す EHLO<CR> ←拡張SMTPであることを宣言 250-sun.test-sample.jp Hello [fe80::210:5aff:fe85:a3d1], pleased to meet you 250 AUTH PLAIN LOGIN CRAM-MD5 →SMTP認証可能であることを回答 AUTH PLAIN AFVzZXIxQHRlc3Qtc2FtcGxlLmpwAHVzZXIxMjM0 ←PLAINでアカウントとパスワード送信 235 Authentication successful. →SMTP認証OK mail from: <user1@test-sample.jp><CR> ← user1@test-sample.jp から 250 <user1@test-sample.jp>... Sender ok. →送信者OK rcpt to: <user1@test-sample.jp><CR> ← user1@test-sample.jp あてへ 250 <user1@test-sample.jp>... Recipient ok. →送信先OK data<CR> ←ヘッダと本文の書き始め 354 Start mail input;id <BXXXXXXXXXX> end with <CRLF>.<CRLF> subject: test<CR> ←ヘッダ行 from: <user1@test-sample.jp><CR> : to: <user1@test-sample.jp><CR> : <CR> ←ヘッダと本文の区切り auto forward test.<CR> ←本文 .<CR> ←データ終わりのピリオド 250 Message received ok. →メールを受け付けたことを示す quit<CR> ←接続終了 221 test-sample.jp closing connection. |
次に、同様の手順で telnet コマンドを使って、IPv6のアドレスを利用してメール受信(POP3)を行ってみる。
telnet fe80::210:5aff:fe85:a3d1%4 pop3<CR> ←自分で入力する内容 +OK E-POST POP3 Server ...... →POP3サービスが応答を返す USER user1@test-sample.jp<CR> ←取り出したいアカウント名 +OK Password required for user1@test-sample.jp PASS pass1234<CR> ←POP3パスワード +OK user1@test-sample.jp's mailbox has 2 message(s) ... →メールボックスオープンメッセージ retr 1<CR> ←1番目のメッセージ : . retr 2<CR> ←2番目のメッセージ : . QUIT<CR> ←接続終了 +OK test-sample.jp POP3 server signing off (2 messages left) |
最後に、同様の手順で telnet コマンドを使って、IPv6のアドレスを利用してメール受信(IMAP4)を行う。
telnet fe80::210:5aff:fe85:a3d1%4 imap4<CR> ←自分で入力する内容 * OK E-POST IMAP4rev1 Server.... →IMAP4サービスが応答を返す . LOGIN user1@test-sample.jp user1234<CR> ←取り出したいアカウント名 . OK LOGIN completed →メールボックスオープンメッセージ . SELECT INBOX<CR> * 2 EXISTS * 2 RECENT * OK [UNSEEN 2] Message 2 is first unseen * OK [UIDVALIDITY XXXXXXXXX] UIDs valid * OK [UIDNEXT XXXX] Predicted next UID * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Deleted \Seen \*)] Limited . OK [READ-WRITE] SELECT completed . FETCH 1:2 rfc822<CR> ←1、2番目のメッセージをまとめて取り出す : : . OK FETCH completed . LOGOUT<CR> ←接続終了 * BYE E-POST IMAP4rev1 Server terminating connection . OK LOGOUT completed |