ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

medium_2659936106

サーバー技術

RANCIDメール設定

投稿日:2014年7月12日 更新日:

RANCIDでのメール設定手順をメモしておきます。
RANCIDのデフォルト設定ではうまくメールが届かない(なぜか、RANCID自身へメールを飛ばしちゃう???)ってなことがあるので回避策です。

RANCID MAIL設定

まずは、RANCIDからメールを飛ばすようにするために、postfixをインストールします。
インストールは何時ものように

# yum list | grep postfix
# yum -y install postfix

main.cfを編集

# vi /etc/postfix/main.cf

# The relayhost parameter specifies the default host to send mail to
# when no entry is matched in the optional transport(5) table. When
# no relayhost is given, mail is routed directly to the destination.
#
# On an intranet, specify the organizational domain name. If your
# internal DNS uses no MX records, specify the name of the intranet
# gateway host instead.
#
# In the case of SMTP, specify a domain, host, host:port, [host]:port,
# [address] or [address]:port; the form [host] turns off MX lookups.
#
# If you're connected via UUCP, see also the default_transport parameter.
#
#relayhost = $mydomain
#relayhost = [gateway.my.domain]
#relayhost = [mailserver.isp.tld]
#relayhost = uucphost
#relayhost = [an.ip.add.ress]
relayhost = 192.168.1.1

# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = test-rancid

# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
mydomain = test.jp

# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain


# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
home_mailbox = Maildir/


# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP unknown

main.cfの編集が完了したら、以下でテストしてみます。

telnet 192.168.1.1 25

EHLO qtnet.ad.jp              #アクセス成功

MAIL FROM: bobo@test.jp         #送り元メールアドレス
250 2.1.0 Ok
RCPT TO: test@test.jp          #RCPT TO検証
250 2.1.5 Ok
DATA                   #ここからメールの内容を記載
354 End data with .
From: rancid@test.jp            #宛先メールアドレス
Subject: test               #件名
Hello world.               #ここからメールの内容↓
test

aliasesに宛先メールを登録します。

# echo "rancid-cisco:   test@test.jp" >> /etc/aliases

最下部に設定が掛かれていることを確認できます。

# vim /etc/aliases
# Person who should get root's mail
#root:          marc
rancid-cisco:   test@test.jp
スポンサーリンク


なぜかエラーを吐いてしまう。

なぜか、以下のようなログが吐かれ、メールが届かない事象が発生。。。

Jul  2 10:14:21 test-rancid postfix/smtp[22635]: 053CA17E5: to=<rancid-cisco@test.jp>, orig_to=<rancid-cisco>, relay=192.168.1.1[192.168.1.1]:25, delay=1.2, delays=0.02/0/1.1/0.06, dsn=5.1.1, status=bounced (host 192.168.1.1[192.168.1.1] said: 550 5.1.1 <rancid-cisco@test.jp>... User unknown (in reply to RCPT TO command))

テストメールではうまくいくが、実際にRANCIDから送信されるメールの”To”が”rancid@test.jp”になってしまい、送信先へメールを送れないエラーが発生します。
そこで、以下設定で”To”のホスト名(rancid)を書き換えると正常に”test@test.jp”へメールが送られます。

1)/etc/postfix/mail.cfの最終行に下記を追加
送信者のみに書き換え適用
canonical.regexpで設定した正規表現を読み込む

canonical_calsses = envelope_sender
canonical_maps = regexp:/etc/postfix/canonical.regexp

2)/etc/postfix/canonical.regexpを作成し下記内容を追加

/^rancid-cisco/ test

これで、正常にメールが送られます。

ちなみに、こんな感じでメールが送られます。

Index: configs/cisco-nw
===================================================================
– — configs/cisco-nw (リビジョン 55)
@@ -178,7 +178,6 @@
no cdp enable
!
interface FastEthernet0/20
– shutdown
duplex full
speed 100
no cdp enable

以上、お疲れ様です。

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-サーバー技術

Copyright© GOISBLOG , 2016 AllRights Reserved.