sendmailのメール受信の設定で、特定のホストからの受信のみを許可する方法を教えてください。

/etc/mail/accessで完結すると嬉しいです。
/etc/hosts.allowを使わないとできない場合は、そちらでも構いません。

「特定のホストからの受信」の方法です。スパムホストの拒否の方法はググるとアホほど出てきますので不要です。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2007/04/13 16:35:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:blowingcat No.1

回答回数5ベストアンサー獲得回数1

ポイント35pt

/etc/mail/access か /etc/hosts.allow で設定したいとのことですので、FEATURE(`access_db') とか tcpwrapper がきちんと導入されていることを前提として回答します。

  • /etc/mail/access で設定する場合

# 192.0.2.1 のみRELAY許可

Connect:192.0.2.1 RELAY

# 192.0.2.0/24 をRELAY許可

Connect:192.0.2 RELAY

  • /etc/hosts.allow で設定する場合

# 192.0.2.1 のみRELAY許可

sendmail:192.0.2.1

# 192.0.2.0/24 をRELAY許可

sendmail:192.0.2.0/255.255.255.0

hosts.allow で設定する場合、設定を変更する際にsendmailをkill -HUPしないといけないので、運用を考えると、hosts.allowでは全ての接続を受け付けるようにして、個別のホストからの接続可否はaccess.dbでやった方がよろしいかと。

  • /etc/hosts.allow

sendmail:ALL

  • /etc/mail/access

Connect:192.0.2.1 RELAY

という感じ。

access.db への設定について詳しくは、cf/README http://www.sendmail.org/doc/sendmail-current/cf/READMEを参照してみてください。

id:fjkktkys

「FEATURE(`access_db') とか tcpwrapper がきちんと導入されていること」がわからないので、参考にしたらいいことを教えていただけますか。

メールサーバは初めてで、qmailでつまづいてとりあえず的にsendmailを使った感じです。

OSはFreeBSDです。

2007/04/08 01:51:23
id:blowingcat No.2

回答回数5ベストアンサー獲得回数1

ポイント35pt
  • tcpwrapper について

sendmail で /etc/hosts.allow(と /etc/hosts.deny) を使ったアクセス制限を可能にするためには、tcpwrapper と連携するように sendmail がコンパイルされている必要があります。

# sendmail -d0.1 < /dev/null

を実行して、

Compliled with: ...

のところに、TCPWRAPPERS が表示されていれば問題ありません。

  • FEATURE(`access_db') について

sendmail は sendmail.cf という設定ファイルを読み込んで起動するのですが、 sendmail.cf は非常に複雑ですので通常は直接編集はせず、mc という雛形となる設定ファイルを作成して、m4 というプログラムを使って sendmail.cf を生成するのが一般的だと思います。で、その XXX.mc ファイルの中に FEATURE(`access_db') と書くことによって、/etc/mail/access を使ったアクセスコントロールが可能になるというわけです。

FreeBSD はまったく触ったことがないのでアレですが、"sendmail FreeBSD" で検索すればグーグル先生が教えてくれそうな気もします。答えになってないですね。すみません。

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません