692 lines
25 KiB
Text
692 lines
25 KiB
Text
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD Japanese Documentation Project
|
|
|
|
Original revision: 1.8
|
|
$Id: chapter.sgml,v 1.1.1.1 1999-04-08 15:45:58 kuriyama Exp $
|
|
-->
|
|
|
|
<chapter id="mail">
|
|
<title>電子メール</title>
|
|
|
|
<para><emphasis>原作: &a.wlloyd;.</emphasis></para>
|
|
|
|
<para><emphasis>訳: &a.jp.mihoko;. 14 January 1997.</emphasis></para>
|
|
|
|
<para>電子メールのコンフィグレーションは, 多くの <link
|
|
linkend="bibliography">システム管理</link> の書籍で主題
|
|
として取り上げられています.
|
|
ネットワークに合わせたメールホスト構築の
|
|
範疇を越えるようなことをする のは, 簡単にはいきません.</para>
|
|
|
|
<para>電子メールのコンフィグレーションの一部は,
|
|
ドメインネームシステム (DNS) によって制御されています.
|
|
あなた自身で DNS サーバを 立ち上げたい場合には,
|
|
<filename>/etc/namedb</filename> ファイルを
|
|
あなたのサーバに合うように変更してください.
|
|
さらに詳しい情報が必要な場合には,<command>man -k named</command>
|
|
コマンドを実行してください.</para>
|
|
|
|
<sect1>
|
|
<title>基本事項</title>
|
|
|
|
<para>電子メール交換の主要なプログラムや構成要素を, 次に示します.
|
|
“メールホスト”
|
|
はあなたのホストやネットワークに対するすべて
|
|
の電子メールを配送したり受け取ったりするサーバです.</para>
|
|
|
|
<sect2>
|
|
<title>ユーザプログラム</title>
|
|
|
|
<para>これは, <application>elm</application>,
|
|
<application>pine</application>,
|
|
<application>mail</application> や, より洗練された WWW
|
|
ブラウザ のようなプログラムです. このプログラムは, 単純に
|
|
すべてのメールをローカルメールホスト転送します. この転送は,
|
|
<command>sendmail</command> を呼び出すか,
|
|
“メールホスト”に対して TCP 上
|
|
の通信を使ってメールを配送するかの
|
|
いずれかによっておこないます.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>メールホストサーバデーモン</title>
|
|
|
|
<para>通常, このプログラムはバックグラウンドで実行されている
|
|
<command>sendmail</command> または <command>smail</command>
|
|
です. 実行をやめたり, コマンドライン引数を変更するには,
|
|
<filename>/etc/rc.conf</filename> ファイル (FreeBSD 2.2.2
|
|
より前のバージョンの場合は <filename>/etc/sysconfig</filename>
|
|
ファイル)を編集します. 特別な理由(<link
|
|
linkend="firewalls">ファイアウォール</link> を
|
|
構築している場合など)がないかぎり,
|
|
実行する設定にしておくべきです.</para>
|
|
|
|
<para><command>sendmail</command>
|
|
は安全なサイト上であっても潜在的にセキュリティ上の
|
|
弱点になることを覚えておいてください.
|
|
<command>sendmail</command> のいくつかのバージョンでは,
|
|
セキュリティ上の問題が 知られています.</para>
|
|
|
|
<para><command>sendmail</command> は, 電子メールの配送,
|
|
受信の二つの仕事をおこないます.</para>
|
|
|
|
<para><command>sendmail</command> は,
|
|
サイトの外側へメールを配送する必要が ある場合, DNS
|
|
を参照して配送先のメールを受け取る実際の
|
|
ホストを決定します.</para>
|
|
|
|
<para><command>sendmail</command>
|
|
が配送エージェントとして動作する場合は,
|
|
ローカルキューからメッセージを取り出し, 受信側
|
|
コンピュータ上の sendmail
|
|
へインターネットを介して配送します.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>DNS — ネームサービス</title>
|
|
|
|
<para>ドメインネームシステムとそのデーモン
|
|
<command>named</command> は, ホストから IP アドレス, および
|
|
ホスト名からメールホストへのマッピングをおこなう
|
|
データベースを持っています. IP アドレスは A
|
|
レコードで定義します. MX レコードでは,
|
|
あなた宛のメールを受け取るメールホストを定義します. もし
|
|
あなたのホスト宛のメールに対する MX
|
|
レコードを持っていない場合には,
|
|
メールはあなたのホストに直接配送されます.</para>
|
|
|
|
<para>あなたが自分自身の DNS サーバを実行させていない場合には,
|
|
DNS 上の情報を自分で変更することはできません.
|
|
インターネットプロバイダを使用している場合には,
|
|
プロバイダに依頼して 変更してもらってください.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>POP サーバ</title>
|
|
|
|
<para>このプログラムはメールボックスからメールを取り出し,
|
|
ブラウザにメールを渡します. POP サーバをあなたのマシン上で
|
|
動かしたい場合には, 次の二つの作業をする必要があります.
|
|
</para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>pop ソフトウェアを <ulink
|
|
URL="../ports/mail.html">ports コレクション</ulink>
|
|
から入手 します. pop ソフトウェアは,
|
|
<filename>/usr/ports</filename> または
|
|
パッケージコレクションにあります. このハンドブックには,
|
|
<link linkend="ports">ポート</link> システム
|
|
についての完全な解説のセクションがあります.</para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>POP サーバを起動できるように,
|
|
<filename>/etc/inetd.conf</filename>
|
|
ファイルを編集します.</para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>入手した pop プログラムには説明文が付属していますので,
|
|
それを読んで ください.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1>
|
|
<title>コンフィグレーション</title>
|
|
|
|
<sect2>
|
|
<title>基本事項</title>
|
|
|
|
<para>あなたのマシンに FreeBSD を普通にインストールして,
|
|
<filename>/etc/resolv.conf</filename> ファイルを設定するか,
|
|
またはネームサーバを走らせれば,
|
|
他のホストへ電子メールを送ることができるようになります.
|
|
あなたのホスト宛の
|
|
メールを特定のホストに配送するようにしたい場合 には,
|
|
次の二つの方法があります.</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>ネームサーバ (<command>man -k named</command>)
|
|
を実行し, あなた自身のドメイン <hostid
|
|
role="domainname">smallminingco.com</hostid>
|
|
を定義する.</para>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<para>あなたのホストに対する現在の DNS
|
|
名に配送されたメールを受け取る. つまり <hostid
|
|
role="fqdn">dorm6.ahouse.school.edu</hostid>
|
|
宛に送られたメールを受け取る.</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<para>インターネットへ完全に接続された
|
|
あなたのホストに直接メールが配送される ためには,
|
|
ネームサーバのどのオプションを使用するかは
|
|
あまり重要なことではありません. 大切なのは, あなたが恒久的な
|
|
IP アドレスを持っていなくてはいけないと いうことです.
|
|
ダイナミック PPP で得られる IP アドレスではダメです.
|
|
もしあなたがファイアウォールの内側にいる場合は,
|
|
ファイアウォールが smtp トラフィックを
|
|
あなたのホストに渡すように設定されていなければいけません.
|
|
そのためには, ファイアウォールとなるホストの
|
|
<filename>/etc/services</filename> に</para>
|
|
|
|
<!-- kuriyama - Eng ver of style shuld fix -->
|
|
<programlisting>
|
|
smtp 25/tcp mail #Simple Mail Transfer</programlisting>
|
|
|
|
<para>と書いておきます.
|
|
あなたのホスト上でメールを受けたい場合には, DNS の MX
|
|
エントリが あなたのホストアドレスを指しているか,
|
|
あなたのホストの DNS 名に対して MX エントリが存在しないことを
|
|
確認してください.</para>
|
|
|
|
<para>次のコマンドを実行してみてください.</para>
|
|
|
|
<screen>&prompt.root; <userinput>hostname</userinput>
|
|
newbsdbox.freebsd.org
|
|
&prompt.root; <userinput>host newbsdbox.freebsd.org</userinput>
|
|
newbsdbox.freebsd.org has address 204.216.27.xx</screen>
|
|
|
|
<para>もしあなたのマシンが上記のメッセージだけを出力したならば,
|
|
<email>root@newbsdbox.freebsd.org</email> へのメールは,
|
|
問題なく 配送されるでしょう.</para>
|
|
|
|
<para>上記のメッセージの代わりに, </para>
|
|
|
|
<screen>&prompt.root; <userinput>host newbsdbox.freebsd.org</userinput>
|
|
newbsdbox.FreeBSD.org has address 204.216.27.xx
|
|
newbsdbox.FreeBSD.org mail is handled (pri=10) by freefall.FreeBSD.org</screen>
|
|
|
|
<para>というメッセージが出力された場合は,
|
|
あなたのマシンに直接配送された すべてのメールは,
|
|
<hostid>freefall</hostid>
|
|
上の同じユーザ名に配送されてます.</para>
|
|
|
|
<para>この情報は, あなたのドメインネームサーバ上で設定します.
|
|
この設定をおこなうホストは,
|
|
<filename>/etc/resolv.conf</filename>
|
|
にプライマリネームサーバとして
|
|
書いたホストと同じホストであるべきです.</para>
|
|
|
|
<para>メールルーティング情報をもつ DNS レコードは,
|
|
メールエクスチェンジャエントリ (MX エントリ) です. MX
|
|
エントリが存在しない場合には, アドレスレコードにしたがって,
|
|
直接宛先ホストに配送されます.</para>
|
|
|
|
<para><hostid role="fqdn">freefall.freebsd.org</hostid>
|
|
の現時点での MX エントリは, 次のようになっています.</para>
|
|
|
|
<programlisting>
|
|
freefall MX 30 mail.crl.net
|
|
freefall MX 40 agora.rdrop.com
|
|
freefall HINFO Pentium FreeBSD
|
|
freefall MX 10 freefall.FreeBSD.org
|
|
freefall MX 20 who.cdrom.com
|
|
freefall A 204.216.27.xx
|
|
freefall CNAME www.FreeBSD.org</programlisting>
|
|
|
|
<para><hostid>freefall</hostid> は多くの MX
|
|
エントリを持っています. もっとも MX の値が小さいホストが,
|
|
最終的にメールを受け取ります. もし <hostid>freefall</hostid>
|
|
が他の処理で忙しかったり, ダウンしているような場合には,
|
|
他のホストが, 一時的にメールをキューにいれます.</para>
|
|
|
|
<para>使い勝手をよくするためには, 代替の MX サイトは, それぞれ
|
|
別の経路でインターネットへ接続しているとよいでしょう.
|
|
インターネットプロバイダまたは他の関連サイトが, このサービスを
|
|
提供することができます.</para>
|
|
|
|
<para><command>dig</command>, <command>nslookup</command> や
|
|
<command>host</command> コマンド を使うと,
|
|
とても便利です.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="mail-domain">
|
|
<title>あなたのドメイン (ネットワーク) に対するメール設定</title>
|
|
|
|
<para>ネットワークメールホストをセットアップするためには,
|
|
すべての
|
|
ワークステーション宛のメールを直接受ける必要があります.
|
|
言いかえれば, <hostid
|
|
role="domainname">*.smallminingco.com</hostid>
|
|
宛のすべてのメールを ハイジャックし, そのメールをあなたの
|
|
“メールホスト” である個々のマシンにに配送
|
|
します.</para>
|
|
|
|
<para>それらのワークステーション上のネットワークユーザは,
|
|
たいていメールを POP や telnet 等で受け取ります.</para>
|
|
|
|
<para><emphasis>同じユーザ名</emphasis>のユーザアカウントが,
|
|
両方のマシンに存在しなければな りません. 必要ならば,
|
|
アカウントを作成するために <command>adduser</command>
|
|
コマンドを使用してください. <literal>shell</literal> を
|
|
<literal>/nonexistant</literal> に設定すると,
|
|
ユーザはログインできなくなります.</para>
|
|
|
|
<para>使用する予定のメールホストは,
|
|
各ワークステーションごとにメール交換が
|
|
できるように設定されていなければなりません. これは, DNS
|
|
(すなわち BIND や named) の設定が必要です. 詳細は,
|
|
ネットワークの本を参照してください.</para>
|
|
|
|
<para>基本的には, 以下の行を DNS サーバに追加する必要があります.
|
|
</para>
|
|
|
|
<programlisting>
|
|
pc24.smallminingco.com A <replaceable>xxx.xxx.xxx.xxx</replaceable> ; Workstation ip
|
|
MX 10 smtp.smallminingco.com ; Your mailhost</programlisting>
|
|
|
|
<para>自前で DNS サーバを実行しているのでなければ, この作業は,
|
|
自分では おこなえません. 自分で DNS
|
|
サーバを実行したくない場合は,
|
|
インターネットプロバイダ等に依頼して,
|
|
作業をおこなってもらってください.</para>
|
|
|
|
<para>この作業により, このワークステーション宛のメールは, MX
|
|
(メールエクスチェンジャ) ホストに送られるようになります. A
|
|
レコードがどのマシンを指しているかどいうことには関係なく,
|
|
メールは MX ホストに送られます.</para>
|
|
|
|
<para>この機能は, 仮想電子メールホスト (Virtual E-Mail Hosting)
|
|
を実装するために使用されています.</para>
|
|
|
|
<para>例</para>
|
|
|
|
<para>foo.bar というドメインを持つ顧客がいて, foo.bar
|
|
宛のメールをすべて, わたしのマシン smtp.amalliap.com
|
|
に送りたいと思っています. このような場合, あなたの DNS
|
|
サーバ上で, 以下のようなエントリを作成
|
|
しなければなりません:</para>
|
|
|
|
<programlisting>
|
|
foo.bar MX 10 smtp.smalliap.com ; your mailhost</programlisting>
|
|
|
|
<para>そのドメインに対して電子メールを送りたいだけなら, A
|
|
レコードは必要ありません. つまり, <filename>foo.bar</filename>
|
|
に対するアドレスレコードが存在しない限り, <command>ping
|
|
foo.bar</command> コマンドが動作することを期待しては
|
|
いけません</para>
|
|
|
|
<para>メールボックスへの最終的な配送が行われる
|
|
メールを実際に受けている メールホスト上では,
|
|
<command>sendmail</command> はメールを受け付けているホストを
|
|
知っている必要があります.</para>
|
|
|
|
<para>そのためには, (<literal>FEATURE(use_cw_file)</literal>
|
|
を使用している場合) <filename>/etc/sendmail.cw</filename>
|
|
ファイルに <literal>pc24.smallminingco.com</literal>
|
|
を追加するか, <filename>/etc/sendmail.cf</filename>
|
|
ファイルに, <literal>Cw myhost.smalliap.com</literal>
|
|
の行を追加してください.</para>
|
|
|
|
<para>もしあなたが本気で <command>sendmail</command>
|
|
を使って何かしようと思うなら, <command>sendmail</command>
|
|
のソースをインストールするべきです. ソースには,
|
|
たくさんのドキュメントも付いています. <link
|
|
linkend="sendmailuucp">UUCP のセットアップ</link> の節に
|
|
<command>sendmail</command> の
|
|
ソースを入手するのに必要な情報が掲載されています.</para>
|
|
</sect2>
|
|
|
|
<sect2 id="sendmailuucp">
|
|
<title>UUCP のセットアップ</title>
|
|
|
|
<para><emphasis>よくある質問 (FAQ) より抜粋.</emphasis></para>
|
|
|
|
<para>FreeBSD に付属する <command>sendmail</command>
|
|
のコンフィグレーションは,
|
|
直接インターネット接続しているサイトに合うように作られてい
|
|
ます. メールを UUCP 経由で交換するようにしたい場合には, 別の
|
|
<command>sendmail</command>
|
|
コンフィグレーションファイルをインストールし
|
|
なければなりません.</para>
|
|
|
|
<para><filename>/etc/sendmail.cf</filename>
|
|
を手動で作成することは, 純正主義者
|
|
がおこなうことだと考えられています. sendmail のバージョン 8
|
|
では, <command>m4</command> プリプロセッサを使用して,
|
|
コンフィグレーションファイルを生成する方法が取られています.
|
|
この場合, 実際に手動で作成したコンフィグレーションは,
|
|
実際のコンフィグレーションより簡潔です.
|
|
以下の場所にあるコンフィグレーションファイルを
|
|
使用してください.
|
|
<filename>/usr/src/usr.sbin/sendmail/cf</filename></para>
|
|
|
|
<para>システム上にすべてのソースをインストールして いない場合,
|
|
<command>sendmail</command> の設定ツールは不完全なままであり,
|
|
それは個別のソース配布物の中にあります. CD-ROM
|
|
をマウントしてあれば, 以下のようにします.</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
|
&prompt.root; <userinput>tar -xvzf /cdrom/dists/src/ssmailcf.aa</userinput></screen>
|
|
|
|
<para>驚かないでください.
|
|
これはたった数百キロバイトのサイズのファ イルです.
|
|
<filename>cf</filename> ディレクトリ上にある
|
|
<filename>README</filename> ファイル には, m4
|
|
コンフィグレーションの基本的な紹介が書かれてい ます.</para>
|
|
|
|
<para>UUCP での配送には, <emphasis>mailertable</emphasis>
|
|
機能を使用すること をおすすめします. これは
|
|
<command>sendamil</command> が配送経路を決定するのに
|
|
使用するデータベースファイルです.</para>
|
|
|
|
<para>まずはじめに, <filename>.mc</filename>
|
|
ファイルを作成します.
|
|
<filename>/usr/src/usr.sbin/snemdail/cf/cf</filename>
|
|
ディレクトリに これらのファイルを置きます.
|
|
ここには既にいくつかの例が 置いてあるので, 見てください.
|
|
<filename>foo.mc</filename> という名前で作成したと仮定すると,
|
|
それを有効な <filename>sendmail.cf</filename>
|
|
に変換するためには, まず次のようにします:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput>
|
|
&prompt.root; <userinput>make foo.cf</userinput></screen>
|
|
|
|
<para>続いて, もし <filename>/usr/obj</filename>
|
|
以下のディレクトリが存在しなければ:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cp foo.cf /etc/sendmail.cf</userinput></screen>
|
|
|
|
<para>とし, 存在すれば次のようにします:</para>
|
|
|
|
<screen>&prompt.root; <userinput>cp /usr/obj/`pwd`/foo.cf /etc/sendmail.cf</userinput></screen>
|
|
|
|
<para>典型的な <filename>.mc</filename>
|
|
ファイルは次のような内容です:</para>
|
|
|
|
<programlisting>
|
|
include(`../m4/cf.m4')
|
|
VERSIONID(`<replaceable>Your version number</replaceable>')
|
|
OSTYPE(bsd4.4)
|
|
|
|
FEATURE(nodns)
|
|
FEATURE(nocanonify)
|
|
FEATURE(mailertable)
|
|
|
|
define(`UUCP_RELAY', <replaceable>your.uucp.relay</replaceable>)
|
|
define(`UUCP_MAX_SIZE', 200000)
|
|
|
|
MAILER(local)
|
|
MAILER(smtp)
|
|
MAILER(uucp)
|
|
|
|
Cw <replaceable>your.alias.host.name</replaceable>
|
|
Cw <replaceable>youruucpnodename.UUCP</replaceable></programlisting>
|
|
|
|
<para><literal>nodns</literal> と <literal>nocanonify</literal>
|
|
は, メール配送をおこなう 際に, DNS
|
|
を参照しないようにするための設定です.
|
|
<literal>UUCP_RELAY</literal> は, 必要な設定ですが,
|
|
ここでは理由を 説明できません. その理由について,
|
|
ここでは質問しないでください. .UUCP
|
|
仮想ドメインアドレスを扱うことができるインターネット
|
|
ホスト名を書いてください. おそらく, 使用する ISP
|
|
のメール中継ホスト名をそこに記述する ことになります.</para>
|
|
|
|
<para>この設定が終了したら,
|
|
<filename>/etc/mailertable</filename> と呼ばれる
|
|
ファイルが必要になります.
|
|
このファイルの典型的な例を示します:</para>
|
|
|
|
<programlisting>
|
|
#
|
|
# makemap hash /etc/mailertable.db < /etc/mailertable
|
|
#
|
|
horus.interface-business.de uucp-dom:horus
|
|
.interface-business.de uucp-dom:if-bus
|
|
interface-business.de uucp-dom:if-bus
|
|
.heep.sax.de smtp8:%1 horus.UUCP
|
|
uucp-dom:horus if-bus.UUCP
|
|
uucp-dom:if-bus . uucp-dom:sax</programlisting>
|
|
|
|
<para>見て分かるように, これは実際に使用されているファイルの一部
|
|
です. はじめの三行は, ドメインアドレスが指定されたメールが
|
|
デフォルトルートに送信せずに,
|
|
配送パスを“短縮”して, 隣接 UUCP
|
|
サイトにメールを送るための設定です. 次の行は, メールを SMTP
|
|
を使用して配送されているローカル
|
|
イーサネットドメイン上のマシンに送信するための設定です.
|
|
最後に, UUCP 接続されているドメインが, .UUCP という仮想ド
|
|
メイン表記されている場合です. これは,
|
|
<literal>uucp-neighbor!recipient</literal>
|
|
をデフォルト規則で書換えるため です. 最終行は必ず
|
|
シングルドット (.) を指定します.
|
|
上記のどのパターンにも当てはまらない送信先に対して, あなた
|
|
のメールの世界中へのゲートウェイとして動作してくれる隣接 UUCP
|
|
サイトに, UUCP を使って配送します.
|
|
<literal>uucp-dom:</literal>
|
|
というキーワードの後に書かれたすべての ノード名は, 隣接 UUCP
|
|
サイトでなければなりません. そのサイトと UUCP
|
|
接続を行っているかどうかは, コマンド
|
|
<command>uuname</command>
|
|
を使用して確かめることができます.</para>
|
|
|
|
<para>実際に使用するには, このファイルを DBM データベースファイ
|
|
ルに変換する必要があることを忘れないでください.
|
|
これを実行するためのコマンド 行は,
|
|
<filename>mailertable</filename>
|
|
の先頭にコメントとして記述されています. 通常, このコマンドは,
|
|
<filename>mailertable</filename> を変更するたびに実行しな
|
|
ければなりません.</para>
|
|
|
|
<para>最終ヒント: もしいくつかの特定のメール経路が正しく動作する
|
|
かどうかが心配ならば, <command>sendmail</command> の
|
|
<option>-bt</option> オプション を覚えておいてください.
|
|
このオプションは <command>sendmail </command> を
|
|
“アドレステストモード” で起動します.
|
|
メールの経路をテストするには, <literal>0</literal>
|
|
のあとにメール経路をテスト したいアドレスを入力してください.
|
|
最後の行にあなたが使用する インターネットメールエージェント
|
|
(メール中継プログラム) と,
|
|
このエージェントに呼び出される宛先のホスト名と,
|
|
(翻訳可能な場合) アドレスがが表示されます. このモードを
|
|
終了するには, Control-D を入力します.</para>
|
|
|
|
<screen>&prompt.user; <userinput>sendmail -bt</userinput>
|
|
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
|
|
Enter <ruleset> <address>
|
|
<prompt>></prompt> <userinput>0 foo@interface-business.de</userinput>
|
|
rewrite: ruleset 0 input: foo @ interface-business . de
|
|
…
|
|
rewrite: ruleset 0 returns: $# uucp-dom $@ if-bus $: foo < @ interface-business . de</screen>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 id="mailfaq">
|
|
<title>よくある質問 (FAQ)</title>
|
|
|
|
<para><emphasis>このセクションは, FAQ
|
|
から移動してきました.</emphasis></para>
|
|
|
|
<sect2>
|
|
<title>どうして 同じサイトのホストに対して完全な形のドメイン名
|
|
(FQDN) を使わなければいけないの?</title>
|
|
|
|
<para>おそらく,
|
|
そのホストは実際には違うドメインに属しているのでしょう.
|
|
例えば, もしあなたが <hostid role="fqdn">foo.bar.edu</hostid>
|
|
ドメインにいて, <hostid role="domainname">bar.edu</hostid>
|
|
ドメインの中の<hostid>mumble</hostid>
|
|
というホストに接続したいと します. その場合あなたは,
|
|
<hostid>mumble</hostid>ではなく <hostid
|
|
role="fqdn">mumble.bar.edu</hostid>
|
|
という完全な形のドメイン名 (FQDN) によっ
|
|
てそのホストを参照しなければなりません.</para>
|
|
|
|
<para>伝統的に, これは BSD BIND リゾルバでは許されていました.
|
|
しかしながら, FreeBSD に付属する現在の
|
|
<application>BIND</application> の バージョンでは,
|
|
自分が属しているドメイン以外では,
|
|
完全な形でないドメイン名に対するデフォルトの省略形は
|
|
使用できません. ですから, 完全でないホスト名
|
|
<hostid>mumble</hostid> は, <hostid
|
|
role="fqdn">mumble.foo.bar.edu</hostid> として解決されるか,
|
|
ルートドメインに検索しにいくでしょう.</para>
|
|
|
|
<para>これは, <hostid role="domainname">mumble.bar.edu</hostid>,
|
|
<hostid role="domainname">mumble.edu</hostid>
|
|
というように検索し続けるような過去の動作とは異なります.
|
|
なぜこれが悪い慣例, さらにはセキュリティーホールと考えられ
|
|
るようになった理由については, RFC1535
|
|
を参照してください.</para>
|
|
|
|
<para>この問題を回避するには,
|
|
|
|
<programlisting>
|
|
search foo.bar.edu bar.edu</programlisting>
|
|
|
|
という行を
|
|
|
|
<programlisting>
|
|
domain foo.bar.edu</programlisting>
|
|
|
|
に置き換えます.これを自分のマシン上の
|
|
<filename>/etc/resolv.conf</filename> ファイルに
|
|
記述してください. しかしながら, 検索順序は, RFC 1535 に
|
|
書かれている, “ローカル管理と公共の管理の間の境界線”
|
|
を越えないことを, あらかじめ確認してください.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Sendmail が <errorname>mail loops back to
|
|
myself</errorname> というエラーを出します</title>
|
|
|
|
<para>これについては, sendmail FAQ の中で, 次のように答えられて
|
|
います:</para>
|
|
|
|
<programlisting>
|
|
* 次のような 「Local configuration error」というメッセージが出ます:
|
|
|
|
553 relay.domain.net config error: mail loops back to myself
|
|
554 <user@domain.net>... Local configuration error
|
|
|
|
この問題をどうやって解決すればよいでしょうか?
|
|
|
|
MX レコードを使って, あるドメイン(例: domain.net)宛にメールを
|
|
特定のホスト (この場合, relay.domain.net) に転送しようと設定したと
|
|
していますが, 中継ホストは自身が domain.net であるとは認識
|
|
していません.
|
|
(FEATURE(use_cs_file) を使用している場合は)
|
|
/etc/sendmail.cw に, domain.net を追加してください.
|
|
または, 「Cw domain.net」を /etc/sendmail.cf に追加してください. </programlisting>
|
|
|
|
<para>sendmail FAQ は,
|
|
<filename>/usr/src/usr.sbin/sendmail</filename> に あります.
|
|
“ちょっと凝った”メール設定 をしたい場合は, FAQ
|
|
を読むことをおすすめします.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>ダイアルアップ PPP
|
|
ホストで電子メールを使うにはどうしたらいいの?</title>
|
|
|
|
<para>LAN 上にある FreeBSD マシンを,
|
|
インターネットに接続したいと します. FreeBSD マシンは, その
|
|
LAN でのメールゲートウェイになります. FreeBSD
|
|
マシンは専用線接続ではありません
|
|
(訳注:ダイアルアップ接続など).</para>
|
|
|
|
<para>これには, 少なくとも二つの方法があります.</para>
|
|
|
|
<para>一つは UUCP を使うことです.</para>
|
|
|
|
<para>このとき鍵になるのは, あなたのドメインに対するセカンダリ
|
|
MX サービス
|
|
を提供してくれるインターネットサイトをみつけることです.</para>
|
|
|
|
<para>例:</para>
|
|
|
|
<programlisting>
|
|
bigco.com. MX 10 bigco.com.
|
|
MX 20 smalliap.com.</programlisting>
|
|
|
|
<para>最終的なメール受信先としては,
|
|
一つのホストだけが定義されるべきです (bigco.com 上の
|
|
<filename>/etc/sendmail.cf</filename> ファイルに, <literal>Cw
|
|
bigco.com</literal> を追加します).</para>
|
|
|
|
<para>送信側の <command>sendmail</command> が,
|
|
メールを配送しようとしている時, モデムの接続を
|
|
介してあなたのところに接続しようとします. 大抵の場合,
|
|
あなたのマシンがオンラインでないために, 接続はタイムアウト
|
|
してしまうでしょう. <command>sendmail</command> は自動的に,
|
|
メールをセカンダリの MX サイト に
|
|
(あなたのインターネットプロバイダ) に配送します. セカンダリ MX
|
|
サイトは, (<filename>/etc/rc.conf</filename> ファイル に
|
|
<literal>sendmail_flag = "-bd
|
|
-q15m"</literal>と書かれている場合) 15 分ごとに,
|
|
プライマリ MX サイトにメールを配送しようと,
|
|
あなたのホストに接続しに いきます.</para>
|
|
|
|
<para>ログインスクリプトとして,
|
|
このようなものを使うとよいでしょう. </para>
|
|
|
|
<programlisting>
|
|
#!/bin/sh
|
|
# Put me in /usr/local/bin/pppbigco
|
|
( sleep 60 ; /usr/sbin/sendmail -q ) &
|
|
/usr/sbin/ppp -direct pppbigco</programlisting>
|
|
|
|
<para>ユーザごとにログインスクリプトを作りたい場合には, 上記
|
|
のスクリプトの代わりに, <command>sendmail
|
|
-qRbigco.com</command> を使用する こともできます.
|
|
このようにすると, キューの中の bigco.com に対する
|
|
すべてのメールは, すぐに強制的に処理されます.</para>
|
|
<!-- kuriyama - hostid? -->
|
|
|
|
<para>さらに, 次のような改良もできます.</para>
|
|
|
|
<para>以下は, freebsd-isp
|
|
メイリングリストから抜粋してきたメッセージです. </para>
|
|
|
|
<programlisting>
|
|
> 私たちはお客様に対して, セカンダリ 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 レコードを定義してください.</programlisting>
|
|
</sect2>
|
|
</sect1>
|
|
</chapter>
|
|
|
|
<!--
|
|
Local Variables:
|
|
mode: sgml
|
|
sgml-declaration: "../chapter.decl"
|
|
sgml-indent-data: t
|
|
sgml-omittag: nil
|
|
sgml-always-quote-attributes: t
|
|
sgml-parent-document: ("../handbook.sgml" "part" "chapter")
|
|
End:
|
|
-->
|