認証は通るもののVPNでのログイン後に切断されてしまっていた。 イベントビューアを確認するとIPアドレスの割り当てに失敗している。
DHCP経由でのIPアドレス割り当てになっていたのだが、DHCPが対象にしているスコープが 192.168.255.0/30 で確かに割り当てるのは無理だ。 このネットワークはLoopbackデバイスを利用してVirtualServerによるホストマシンとゲストマシンをつないでいるもの。 192.168.255.0/24 に広げて対応することにした。 あまりネットワークアドレスをケチるのも考えものだ。
VPN接続すると、VPNの経路がDefault Routeとして優先されるといういつもの問題。 [VPNで作ったネットワーク]のプロパティ-[ネットワーク]タブ-[インターネット プロトコル(TCP/IP)]のプロパティ-[詳細設定]-[全般]タブ] -[リモートネットワークでデフォルトゲートウェイを使う] のチェックボックス をオフにする
...画像を簡単に貼り付けたいなあ。
VPN接続前の外部から利用する際のホスト名はFQDNにしたいので dc01.example.com のように設定しているのだが、 VPN接続後にVPN経由でアクセスする際には同じ名前を使う訳にはいかない。
Outlookから接続する際には、FQDNではなくマシン名だけ指定したい。 のだがマシン名だけで設定しようとしても、Exchangeサーバ名としては勝手にFQDNに展開して設定しようとする。
結果として
という状況に。
VPN接続用の名前として dc01-vpn.example.com といった別の名前を割り振ることにした。
外部にメール送信できなくて RT57i のパケットダンプとかしてしまった。 OP25Bだ。ポート25だけ外部への接続は出来ない。受信は出来ていたので油断した。
そして Exchange Server 2003 は、スマートホストの設定で接続先のポート番号を変更することがどうも出来そうになくて困った。 最初に設定したのは Exchange のシステムマネージャで
ポート番号を指定するには以下の場所の設定をする。[既定のSMTP仮想サーバー]は上記[Small Business SMTP コネクタ]において、ローカルブリッジヘッドサーバとして設定されているもの。 ポート番号以外の設定はしない。
確認作業はキューを見る
Exchange Server 2007 なら Set-SendConnector -port ポート番号 で変更できるようだ。
smtp.example.com の解決結果が 192.0.2.147 だったとして、最初の SYN パケットは 192.0.2.147 という正しいIPに接続しようとするのに、 次に接続する際は 192.0.2.197 に接続しようとして失敗するという謎挙動。
更にIPアドレスで指定したところ、「リモート SMTP サービスは AUTH ネゴシエーションを拒否しました」というエラー。 ポートの次はSASL認証方法にも齟齬か? と思ったが、パケットキャプチャをすると、AUTH LOGIN でやりとりは普通にしている。 が、Exchange Server 2003から渡しているユーザ名とパスワードの最後が切れている! なんじゃそら。ワケワカメ過ぎだ。
もういいや。面倒なので mimori.org 経由で送信することにした。 DNSとメールの維持には固定IPのついた環境は必須だな。
jnlファイル(Journalファイル)は動的変更の履歴を保持しているファイルだが、jnlファイルの中身を現在の状態をゾーンファイルに反映させてファイルを消すには、
rndc freeze rndc thaw を連続して実行する。
が、Bind 9.3.x の場合、rndc freeze だけでは駄目で、ゾーンを指定する必要がある。
しかも view を利用して接続元IPアドレスによる返答分岐をしている場合は、view名も指定する必要がある。
rndc のヘルプ表示:
freeze zone [class [view]]
Suspend updates to a dynamic zone.
thaw zone [class [view]]
Enable updates to a frozen dynamic zone and reload it.
ここで class が何なのか分からなくて悩んだ。DNSにおける query class は "IN" だ。
view の名前に outside を利用している場合は以下のようなコマンドを実行する。
% sudo rndc freeze example.com IN outside; sudo rndc thaw example.com IN outside
ゾーンファイルを手で書き換える場合は、freeze した後に実行するもの、ではあるのだが、 動的更新を有効にしてるんだったら nsupdate だけで設定変更を頑張るのが筋というものだろう。
Bind 9.4.0 のリリースノートによると、rndc freeze rndc thaw だけで全ゾーンが対象になるらしい。