21.5.1. | どうして自分のサイトのホストなのに FQDN を使わなければいけないのですか? |
恐らく、そのホストは実際には別のドメインにあるのでしょう。
例えば そもそも、BSD BIND
のリゾルバー (resolver) ではこのようなことが可能でしたが、
FreeBSD に入っている最新版の BIND
では自分のドメイン以外に対する FQDN でない省略形は許されません。
従ってホストを これは、
domain foo.bar.edu と書いてある行を search foo.bar.edu bar.edu と書き換えることで上のようなことができます。 しかし、RFC 1535 にあるように検索順序が 「内部 (local) と外部 (public) の管理の境界」 をまたがないようにしてください。 | |
21.5.2. | sendmail が mail loops back to myself というメッセージを出すのですが。 |
sendmail FAQ に次のように書いてあります。 「Local configuration error」 というメッセージが出ます。例えば、
553 relay.domain.net config error: mail loops back to myself
554 <user@domain.net>... Local configuration error
のような感じですが、どうしたら解決できますか?
これは、例えば domain.net のようなドメイン宛てのメールを
MX レコードで特定のホスト(ここでは
relay.domain.net) に送ろうとしたのに、
そのホストでは domain.net
宛てのメールを受け取れるような設定になっていない場合です。
設定の際に
FEATURE(use_cw_file) を指定してある場合には
/etc/mail/local-host-names の中に domain.net を追加してください。
もしくは、/etc/mail/sendmail.cf の中に 「Cw domain.net」
を追加してください。sendmail FAQ は http://www.sendmail.org/faq にありますので、 メールの設定に 「おかしなこと」 があれば常に読んでください。 | |
21.5.3. | |
LAN 上にある FreeBSD マシンを、 インターネットに接続したいとします。FreeBSD マシンは、その LAN でのメールゲートウェイになります。FreeBSD マシンは専用線接続ではありません (訳注: ダイアルアップ接続など)。 これには、少なくとも二つの方法があります。 一つは UUCP を使うことです。 もう一つの方法は、あなたのドメインに対するセカンダリ
MX サービスを提供する常時稼働のインターネットサーバを用意することです。
たとえば、あなたの会社のドメインが
example.com. MX 10 example.com.
MX 20 example.net. 最終的なメール受信先としては、
一つのホストだけが定義されるべきです
( 送信側の ログインスクリプトとして、 このようなものを使うとよいでしょう。 #!/bin/sh
# Put me in /usr/local/bin/pppmyisp
( sleep 60 ; /usr/sbin/sendmail -q ) &
/usr/sbin/ppp -direct pppmyisp ユーザごとにログインスクリプトを作りたい場合には、
上記のスクリプトの代わりに、
さらに、次のような改良もできます。 以下は、FreeBSD Internet service provider's メーリングリスト から抜粋してきたメッセージです。 > 私たちはお客様に対して、セカンダリ MX を提供しています。
> お客様は一日に何回か私たちのサービスに接続し、メールを彼らのプライマリ MX
> に受け取ります (彼らのドメインに対するメールが到着した時には、
> 私たちは彼らのサイトを呼び出しません)。
> 私たちの sendmail は、30 分ごとにメールキューに溜っているメールを配送します。
> ちょうどその時に、すべてのメールがプライマリ MX に送られたかどうかを確かめるためには、
> 彼らは 30 分は オンラインでいなければなりません。
>
> すべてのメールを今すぐ送るために sendmail を初期化するコマンドはあるでしょうか?
> もちろん私たちのマシン上には、ユーザはルート (root) 権限を持っていません。
sendmail.cf の 「privacy flags」 セクションに、
Opgoaway,restrictqrun の定義があります。
root 以外のユーザがキューを処理できるようにするには、
restrictqrun を削除してください。また、MX の再調整が必要かもしれません。
あなたがたは、顧客のサイトに対する一番優先度の高い MX なので、
次のように定義します。
# If we are the best MX for a host, try directly instead of generating
# local config error.
OwTrue
このようにすると、リモートサイトからのメールが、
顧客のマシンと接続しようとせず、直接あなたがたのホストマシンに配送されるようになります。
ホストマシンに配送されたメールは、続いて顧客のマシンに送られます。
これはホスト名にのみ有効なので、顧客のメールマシンに、
「host.customer.com」 とは別に、「customer.com」 も定義する必要があります。
DNS 上で、「customer.com」 に対する A レコードを定義してください。 | |
21.5.4. | なぜ他のホストにメールを送ろうとすると、いつも Relaying Denied と怒られてしまうの ? |
FreeBSD がインストールされたデフォルトの状態では、 sendmail は動作しているホストからのメールだけを送るように設定されています。 たとえば POP3 サーバがインストールされているとすると、 ユーザは学校や職場など他のリモートの場所からメールを確認することが できます。しかし、彼らは外部からそのホスト以外へのメールを 送ることはやはりできません。 通常、メールを送ろうとしてから少しすると、 5.7 Relaying Denied というエラーメッセージの書かれたメールが MAILER-DAEMON から送られてくるでしょう。 これを解決する方法はいくつかあります。
一番の正攻法は # echo "your.isp.example.com" > /etc/mail/relay-domains このファイルを作成または編集したら、 sendmail を再起動してください。 もしあなたがサーバ管理者でメールをローカルに送りたくないか、 ポイントを使用して他のマシン (や、さらに他の ISP) の クライアントまたはシステムへ送りたい時は、とても効果があります。 さらに、あなたが一つあるいは二つだけのメールアカウントを 設定している場合でもこれは非常に有用です。 追加すべきアドレスがたくさんある場合には、 単にこのファイルをあなたの好きなテキストエディタで開いて、 そして一行に一つずつドメインを追加してください。 your.isp.example.com
other.isp.example.net
users-isp.example.org
www.example.org これで、リストに掲載されているすべてのホスト (ユーザがあなたのシステムにアカウントを持っていると規定する) からあなたのシステムを通るすべてのメールは送信に成功するでしょう。 これはあなたのシステムから SPAM を送ることを認めることなく、 リモートであなたのシステムからメールを送ることをユーザに 認めるためのとてもよい方法です。 |
本文書、および他の文書は ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ からダウンロードできます。
FreeBSD に関する質問がある場合には、
ドキュメント を読んだ上で
<questions@FreeBSD.org> まで (英語で) 連絡してください。
本文書に関する質問については、
<doc@FreeBSD.org> まで電子メールを (英語で) 送ってください。