お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2018-08-02 23:18:07

roshi1123
メンバ
登録日: 2014-01-28

Ubuntu18.04でpostfixの設定がうまくいかず困っています。

Ubuntu 18.04でPostfixの設定がうまく動かず困っています。

apt-get install postfix
にてインストールし、各種設定をしてポート25では動作しましたが587や465で動かせなかったので、いろいろ設定をいじっているうちにポート25すら開放されなくなりました。
なので一旦再インストールして再度設定してもポート25も開放されません。
ふと気づいて、
postfix -c /etc/postfix start
と手動起動するとポート25が開放されました。
「service postfix start」で/etc/postfix/main.cfを読み込ませたいのですが、どうしたら良いでしょうか?
設定は途中なので簡単にしかいれていません。

/etc/servicesには25、587、465共に入っています。
また、service postfix restartした時はsyslogには以下のログしか残りません。

Aug  2 23:16:36 puni systemd[1]: Starting Postfix Mail Transport Agent...
Aug  2 23:16:36 puni systemd[1]: Started Postfix Mail Transport Agent.

よろしくお願いいたしますm(_ _)m


以下、postconf -n

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
compatibility_level = 2
home_mailbox = Maildir/
inet_interfaces = all
inet_protocols = ipv4
mailbox_size_limit = 0
mydestination = $myhostname, hogehoge.com, huga, localhost.localdomain, localhost
myhostname = hogehoge.com
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.15.0/24
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes



以下、master.cf

smtp inet n - y - - smtpd
submission inet n - y - - smtpd
-o smtpd_sasl_auth_enable=yes
pickup unix n - y 60 1 pickup
cleanup unix n - y - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - y 1000? 1 tlsmgr
rewrite unix - - y - - trivial-rewrite
bounce unix - - y - 0 bounce
defer unix - - y - 0 bounce
trace unix - - y - 0 bounce
verify unix - - y - 1 verify
flush unix n - y 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - y - - smtp
relay unix - - y - - smtp
-o syslog_name=postfix/$service_name
showq unix n - y - - showq
error unix - - y - - error
retry unix - - y - - error
discard unix - - y - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - y - - lmtp
anvil unix - - y - 1 anvil
scache unix - - y - 1 scache
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}

オフライン

 

#2 2018-08-03 07:04:27

ry
メンバ
登録日: 2008-07-30

Re: Ubuntu18.04でpostfixの設定がうまくいかず困っています。

18.04 で Postfix を開始したとき、syslog には以下のように、systemd による Started、Starting のログよりも前に Postfix 自身からのログが出力されている可能性があります。
また、Postfix 自身からのログは /var/log/mail.log にも出力されるので、そちらに何か記録されていないでしょうか。

コード:

Aug  2 21:55:26 echizen systemd[1]: Starting Postfix Mail Transport Agent (instance -)...
Aug  2 21:55:27 echizen postfix/postfix-script[75376]: starting the Postfix mail system
Aug  2 21:55:27 echizen postfix/master[75378]: daemon started -- version 3.3.0, configuration /etc/postfix
Aug  2 21:55:27 echizen systemd[1]: Started Postfix Mail Transport Agent (instance -).
Aug  2 21:55:27 echizen systemd[1]: Starting Postfix Mail Transport Agent...
Aug  2 21:55:27 echizen systemd[1]: Started Postfix Mail Transport Agent.

Postfix の設定は /etc/postfix 以下だけでほぼ完結するはずです。
このディレクトリ以外を触るのは、他のプログラムとの連携のためというのがほとんどです。
Postfix を完全に削除して最初からやりなおしたいのなら、sudo apt --purge remove postfix としてから念のために /etc/postfix ディレクトリをその中身ごと削除して、その後に sudo apt install postfix するのが定番です。

オフライン

 

#3 2018-08-03 07:28:32

roshi1123
メンバ
登録日: 2014-01-28

Re: Ubuntu18.04でpostfixの設定がうまくいかず困っています。

ry 様
お返事ありがとうございます。
/var/log/mail.logには再起動時には新しいログが入りません。

また、やり方が少々古いですが、

sudo apt-get remove --purge postfix
sudo apt-get install postfix

での再インストールは試していたのですが、変化なしでした。

おっしゃる様に

sudo apt --purge remove postfix
sudo apt install postfix

でも試してみたいと思います。

ちょっと朝は時間がないので、今晩にでもご報告させていただきたいと思います。

オフライン

 

#4 2018-08-03 14:05:10

ry
メンバ
登録日: 2008-07-30

Re: Ubuntu18.04でpostfixの設定がうまくいかず困っています。

apt-get と apt は動作としては同じです。
sudo apt --purge remove postfix としたのなら再インストールの手順として特に問題は無いはずです。

後気になる点といえば、単にこの掲示板の仕様と思いますが master.cf の行頭が揃っている点ですね。
継続行は一文字以上の空白文字から始まらないといけないのですが。

行頭空白文字などの書式が大事なときは [code]...[/code] で括って投稿するようにしてください。(ここでは全角角括弧で例示していますが、正しくは半角角括弧を使います)

[code]
smtp      inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING
[/code]
↓  ↓

コード:

smtp      inet  n       -       -       -       -       smtpd
#smtp      inet  n       -       -       -       1       postscreen
#smtpd     pass  -       -       -       -       -       smtpd
#dnsblog   unix  -       -       -       -       0       dnsblog
#tlsproxy  unix  -       -       -       -       0       tlsproxy
submission inet n       -       -       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=$mua_client_restrictions
  -o smtpd_helo_restrictions=$mua_helo_restrictions
  -o smtpd_sender_restrictions=$mua_sender_restrictions
  -o smtpd_recipient_restrictions=
  -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

....と、投稿前のプレビューで気付いたけど、行頭の空白文字は削除されないのね。
ならば最初の master.cf はやはりおかしいのでは。

オフライン

 

#5 2018-08-03 20:52:34

roshi1123
メンバ
登録日: 2014-01-28

Re: Ubuntu18.04でpostfixの設定がうまくいかず困っています。

ry 様、引き続きありがとうございます。

このフォーラムの書き方がよく分かっていないまま投稿しており申し訳ありません。
master.cfですが、行頭が整っている事については、ちょっと記憶が定かではありませんが、手動で一行ずつコピペして貼り付けましたので、その影響と思われます。
apt removeやapt installで再インストールした後の設定も同様の症状で、

コード:

#service postfix start

で起動したときはポート25が閉じたままで、telnetも失敗ですが、

コード:

#postfix -c /etc/postfix start

で起動したときはポート25は開いていてtelnetも成功します。

で、その状態で現在のmaster.cfでコメント行をviにて削除したものが以下になります。

コード:

root@hoge:~# cat /etc/postfix/master.cf
smtp      inet  n       -       y       -       -       smtpd
pickup    unix  n       -       y       60      1       pickup
cleanup   unix  n       -       y       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       y       1000?   1       tlsmgr
rewrite   unix  -       -       y       -       -       trivial-rewrite
bounce    unix  -       -       y       -       0       bounce
defer     unix  -       -       y       -       0       bounce
trace     unix  -       -       y       -       0       bounce
verify    unix  -       -       y       -       1       verify
flush     unix  n       -       y       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       y       -       -       smtp
relay     unix  -       -       y       -       -       smtp
        -o syslog_name=postfix/$service_name
showq     unix  n       -       y       -       -       showq
error     unix  -       -       y       -       -       error
retry     unix  -       -       y       -       -       error
discard   unix  -       -       y       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       y       -       -       lmtp
anvil     unix  -       -       y       -       1       anvil
scache    unix  -       -       y       -       1       scache
maildrop  unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp      unix  -       n       n       -       -       pipe
  flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail    unix  -       n       n       -       -       pipe
  flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp     unix  -       n       n       -       -       pipe
  flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix  -       n       n       -       2       pipe
  flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman   unix  -       n       n       -       -       pipe
  flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
  ${nexthop} ${user}

度々お手数お掛け致しますがご教授いただければ幸いです。

オフライン

 

#6 2018-08-04 07:41:00

ry
メンバ
登録日: 2008-07-30

Re: Ubuntu18.04でpostfixの設定がうまくいかず困っています。

本件とは無関係ですが、今の ubuntu は systemd を使っているので service postfix start ではなく systemctl start postfix が推奨です。

で、sudo systemctl start postfix (service postfix start) の前後で、ps ax | grep postfixsudo ss -natp | grep master を実行した結果と、/var/log/syslog の該当箇所の内容はどうなっているでしょうか。
また、postfix -c /etc/postfix start の前後で、同様に ps ax | grep postfixsudo ss -natp | grep master を実行した結果と、/var/log/syslog の該当箇所の内容はどうなっているでしょうか。

あと、sudo postfix -c /etc/postfix check の結果も提示ください。

オフライン

 

#7 2018-08-05 07:31:55

roshi1123
メンバ
登録日: 2014-01-28

Re: Ubuntu18.04でpostfixの設定がうまくいかず困っています。

ry 様

コード:

systemctl start postfix

で起動したところ、どうやら/etc/postfixのコンフィグを読み込んでくれた様で、ポートが開きました。
serviceでの起動は推奨ではなくなった様ですので、メンテ不足で起きたバグの様なものなのかもしれません。
その他設定も実施して動作も確認できました。

もともとはservice postfix startでも起動できていたのに、できなくなった理由がわかりませんが、結果として起動コマンドを変えるだけで解決するとは・・・。お騒がせしました。

ちなみに現在もservice postfix startでは正常起動はしませんが、再度systemctlで起動すると復旧します。お付き合い頂きありがとうございました。大変助かりました。

オフライン

 

#8 2018-08-05 15:11:01

ry
メンバ
登録日: 2008-07-30

Re: Ubuntu18.04でpostfixの設定がうまくいかず困っています。

とりあえず、意図通りに動いたということでおめでとうございます。
あまり追求すると沼にハマりそうですが systemctl が使える環境のとき、service コマンドはその中で単に systemctl を呼び出しているだけなので動作に差異はないはずです。
ですから service postfix start と systemctl start postfix で Postfix の起動動作に違いは無いはずなのですが.....。
とりあえずは、動いたと言うことでよしとしましょう。

オフライン

 

#9 2018-08-05 19:56:23

roshi1123
メンバ
登録日: 2014-01-28

Re: Ubuntu18.04でpostfixの設定がうまくいかず困っています。

ry 様

シェルスクリプトの細かい中身は理解できませんが、確かに/usr/sbin/serviceを覗いてみると、systemctlを呼び出している様ですね。

しかし無事動きましたのでこれで良しとさせていただきます。
ありがとうございました。

オフライン

 

Board footer

Powered by FluxBB