アプリ版:「スタンプのみでお礼する」機能のリリースについて

今までメールは送信用途にしか使っていなかったのですが、この度、メール受信の必要性が生じ、何の気なしに送ってみたところ、受信できませんでした。

しばらく格闘したのですが、一向に解決しません。できれば1からトラブルシューティングの手順を教えてください。

cat(古いFedora)、dog(Ubuntu)の2機のサーバーマシンがあります。
dogでsendmailが動いていて、今まで送信は普通にできていました。
ちょっと変な環境なのですが、グローバルIPアドレスを持っているのはcatのみですが、外部公開しているのはdogなので、iptablesで全てdogに転送しています。
ですので、転送の設定がおかしいのかもしれません。

catでの転送設定はテスト用に次の2行を追加しました。
全てのパケットをdogへ転送する設定です(合ってますか)。
iptables -t nat -A PREROUTING -p tcp -d x.x.x.x -j DNAT --to-destination 192.168.1.4
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.4 -j SNAT --to-source x.x.x.x

dogではメールを受信できるように次の1行を追加しました(と言うか前からありました)。
iptables -A INPUT -p tcp --sport 1024:65535 --dport 25 -j ACCEPT

そしてスマホとヤフーメールから、それぞれメール送信してみましたが、受信できていません。
$ mail
No mail for webmaster

メールアドレスは、
webmaster@dog.domain.jp
webmaster@domain.jp
のようにホスト名有り、無しの2通り試しましたが、どちらに送っても届きませんでした。

A 回答 (7件)

>思い切ってPostfixに乗り換えた場合には、簡単に暗号化の設定ができるものなのでしょうか。



情報は探しやすいんじゃないですかね。
sendmailは設定したこともないので比較のしようがありませんが。

>これまで書いてきたスクリプトで結構sendmailを利用しているため

sendmail互換で動作するシェルスクリプトか何かが入っていたと思われます。
ubuntu 20.04だとこんな感じで。
postfix: /usr/lib/sendmail
postfix: /usr/share/man/man1/sendmail.1.gz
postfix: /usr/sbin/sendmail

>第三者中継する設定にした場合には、どのような事が出来るようになるのでしょうか。

世界中のSPAMerさんにメール送信のお手伝いをしてあげる事ができるようになります。
そして、SPAM送信者リストに殿堂入りして他のサーバから接続拒否されるようになります。
つまり、迷惑なんで第三者中継するようにはしないで下さい。
# 自分のところから契約しているISPのメールサーバにリレーしている場合なら、ISPからアカウントごと契約切られるでしょうから、被害は少ないでしょう。

>SMTP認証は行われていないという事でしょうか。

設定しなければデフォルトでは認証無しなんじゃないでしょうかね。
SMTP before POPなんて方法もありましたし。


サーバ構築の解説しているWebページならそこそこありますし、書籍(ムック本)なんかもあるでしょう。
そういうのも利用した方がよいかと。

https://www.server-world.info/
とか、いろいろなディストリビューション扱っていますし。
    • good
    • 0
この回答へのお礼

思い切ってPostfixに乗り換えるべく、助言に従い、書籍購入して、読み始めました。
その間作業が中断しますが、楽しいので良しとします。

しかし、どちらでも良いような数々の細かい設定の解説が延々と続いたり、何度読み返しても良く理解できない解説があったりと、なかなかしんどい所もありますが、みんな使ってるアプリという事で、とにかくこの1冊ぐらいは最後まで読んでみます。

第三者中継する設定にした場合のデメリットを教えていただきましたが、そのような設定があるという事は、何らかのメリットもあると思ったのですが、いかがでしょうか。

お礼日時:2022/09/04 22:19

>恥ずかしながら単にsendmailでメールを受ける設定が出来ていなかっただけという落ちでした。



最近の(でもないですが)、Postfixの方が主流かと思います。

>メーラーでサーバーに接続しようとすると警告がでます。

何処に属するホストのメーラーからの接続なんですかね?
WAN側から…だった場合、ホストによってはそもそも25番ポートへの接続が相手側なISPでブロックされているかもしれませんが。

>単にメールが平文で流れるだけなので、メールで機密情報をやり取りするのでなければ、sendmailの暗号化は必須ではないとも考えていますが、この認識でよろしいでしょうか。

第三者中継するような設定になっていないのであれば、まぁそれでもよろしいのではないでしょうか?
中継する設定になっている場合は…そのうち各地のサーバへの接続が拒否られるようになるだけです。
いずれにしろ(相手側次第ですが)25番ポートへの望まぬ接続は増える訳ですし。

通信の暗号化とSMTP認証は別のハナシでしょう。
    • good
    • 0
この回答へのお礼

Postfixの方が主流なのですね。
sendmailはaptで普通に入手できてしまったため、何の疑いもなくsendmailを選択してしまいました。
そして、これまで書いてきたスクリプトで結構sendmailを利用しているため、Postfixへの切り替えに二の足を踏んでいる所です。
もし、思い切ってPostfixに乗り換えた場合には、簡単に暗号化の設定ができるものなのでしょうか。悩ましい所です。
メーラーはWindows10標準のメールだと、なぜかサーバーに接続できないため、サンダーバードを入れてみました。
サンダーバードの初期設定では、メアドを入れるだけでサーバーを探し出してきてくれました。
そして、

利用可能な設定
◎IMAP
フォルダーとメールがサーバー上で同期されます
受信[IMAP][STARTTLS]
送信[SMTP][暗号化なし]

のように表示され、
完了ボタンを押すと、

!警告!
送信設定:
SMTPサーバーへの接続は暗号化されません。
安全でないメールサーバーは、あなたのパスワードやプライバシー情報を守るための暗号化された接続を行いません。このサーバーに接続することによって、あなたのパスワードやプライバシー情報が漏洩する可能性があります。

のように、でかでかと警告が出るため、恐れおののいてキャンセルした次第です。

第三者中継については、未だに良く理解できていません。例えば、第三者中継する設定にした場合には、どのような事が出来るようになるのでしょうか。または、第三者中継しない設定だと、どのような不都合が発生するのでしょうか。

SMTP認証と言うのは初めて知りました。
私のsendmailではパスワードを要求された事は無いため、SMTP認証は行われていないという事でしょうか。
SMTP認証時のパスワードが平文で流れるとしたら、sendmailの暗号化も必須になってくると思い始めました。

お礼日時:2022/08/30 09:12

外から受けるメールサーバ立てるつもりもないので、回答が難しくなっていきますが…。


DNSの件については疑いの一つでしかないですね。

ルータは市販のものに変えたようなのでルータ役していたマシンの設定誤りの線はほぼ消えるでしょう。
該当マシンでtcpdumpなどのパケットキャプチャを走らせて、外部からの接続要求があるか?
くらいになるんじゃないでしょうか。

https://www.cman.jp/network/support/port.html
https://port.ft-system.net/
このようなサービスで接続が来るのか?とか。
メールサーバとは違うのでISP側でブロックされる可能性もある…かも知れません。
固定IP契約なら多分大丈夫だとは思いますが、ISPが配下のホストに25番を通さないフィルタをかけている可能性もあるやも知れません。
# IP25B。普通は動的IPなホストに対してかけるものの様ですが。
こちらについては契約しているISPに確認ではないですかね。
    • good
    • 0
この回答へのお礼

個人で、外から受けるメールサーバ立てる必要性というのは、まず無いですよね。そのためかグーグル先生の情報も少なく感じます。
しかし、メールが受信できない問題は、何とか解決しました。恥ずかしながら単にsendmailでメールを受ける設定が出来ていなかっただけという落ちでした。大変恐縮です。
これでシェルでメールを確認できるようになったのですが、毎回シェルで確認するのもかったるいと思い、結局popサーバーも立てる事にしました。
これも私の知識は、かなり化石化していて、かなりハマりました。UW IMAPはもはやaptで入手できないのですね。
そこで一番情報が多そうなdovecotに決めました。
これでメーラーを使ってpop3sで受信できるようにしました。
しかしsendmailは暗号化していないため、メーラーでサーバーに接続しようとすると警告がでます。
ですのでsendmailの暗号化も試みました。
しかしsendmailの暗号化は、かなり難しく感じ、情報も少ないため、頓挫しています。
しかし、私の認識ではpopでサーバーに接続する時はパスワード認証が必要なためdovecotの暗号化は必須と考えますが、sendmailは暗号化しなくても、単にメールが平文で流れるだけなので、メールで機密情報をやり取りするのでなければ、sendmailの暗号化は必須ではないとも考えていますが、この認識でよろしいでしょうか。
私はパスワードを使い回しているのでパスワードの流出だけは回避したいと考えています。
この認識が正しいか分からないため、popを使わずにメールを確認するスクリプトを書くという、かなり阿呆な作業に取り掛かっていますw

お礼日時:2022/08/29 08:25

逆引きについて...


以下の説明は次のurlからの抜粋です。

https://www.kagoya.jp/howto/it-glossary/network/ …

『たとえば、インターネットサービスプロバイダーが提供する回線を使って自宅でWebサーバーを構築する場合を想定してみます。そのWebサーバーのホスト名やドメイン名はユーザー任意の文字列である一方、プロバイダーが提供するIPアドレスの逆引きから導き出せるホスト名は、多くの場合そのプロバイダーに関連する文字列が使われます。このような場合、正引き・逆引きの対応は一致しません。それでもWebサーバーが構築されたサーバーのIPアドレスを逆引きすることで、どのプロバイダーの回線を使っているかはたいてい確認できます。』

つまり、逆引きでハチャメチャのドメイン名が出たとしても、もう一度ハチャメチャドメインから正引きで正しいIPが引けるのならば、それはそれで良いのではないでしょうか。
    • good
    • 0
この回答へのお礼

逆引きで変てこな名前が返ってきても、その変てこな名前で正引きが正しくできれば、メール受信には差し支えないという事でしょうか。
すなわち、この度の、メールを受信できないトラブルシューティングの手順のうち、DNSに関する問題はクリアできたと考えてよろしいでしょうか。
ひとまず、ここまでの助言に基づき、トラブルシューティングを再開しました。
ネットワーク構成を単純にすべく、Linux機をルーターにするのはやめて、長らく眠らせていたエアステーションのルーター機能を復活させてみました。
以外にてこずりましたが、何とか通信できるようになりました(もしかしたら変な設定が残存しているかもしれませんが)。
これでネットワーク構成はシンプルになったと思います。
現在の構成はエアステーションのWAN側にグローバルIPを割り当て、その他のサーバー機は全てプライベートアドレスになりました。
この構成でウェブとDNSもちゃんと外部から見えています。
しかし依然としてメール受信はできません。
エアステーションのDMZ機能でメールサーバーを指定して、そのメールサーバーのiptables設定を次のように25番ポートに対するあらゆる通信を許可する設定にしてみたりもしました。
iptables -t nat -A PREROUTING -p tcp --dport 25 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --sport 25 -j ACCEPT
iptables -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --sport 25 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --dport 25 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp --sport 25 -j ACCEPT
よろしければ、この後のトラブルシューティング手順についても、助言いただきたく存じます。

お礼日時:2022/08/27 09:31

スマホにAndroidをお使いなら、nslookupコマンドを無料でインストールできるみたいです。

これをツールに使って...

●nslookup domain.jp
で実際にドメインが見つかるのか試してみたら如何でしょうか。
例えば私のメールドメインを使うと...

$ nslookup nifty.com
Server: 8.8.8.8
Address: 8.8.8.8#53

Non-authoritative answer:
Name: nifty.com
Address: 222.158.213.148

などの様にIPアドレスを確認できます。

●あるいはどうせpingもスマホで利用できるでしょうから(確認してません)、ご利用のグローバルIPにpingを打ってみたら如何でしょうか。
    • good
    • 0
この回答へのお礼

スマホはAndroidですのでnslookupコマンドをインストールして試してみました。
やはり正引きはうまくいきますが、逆引きは私が取得したドメイン名でなく、プロバイダーが自動的に付けた名前っぽいものが返ってきます。
私のDNSに直接問い合わせればちゃんと逆引きもできるのですが、この逆引き情報は、世間には明らかに反映されていない感じです。
私のDNSで公開している逆引き情報を世間に反映するには、どうすれば良いのでしょうか。時間が経てば自然に反映されると思っていたのですが、何かしらの操作をしないといけないのでしょうか。

pingもスマホに入れてテストしてみましたが、こちらも正しく名前解決できていました。

ひとまず、メール受信のための第一歩として、取得した固定IPの逆引き情報を世間に反映させる方法をご教授願います。

お礼日時:2022/08/26 00:41

>dogでウェブとDNSとsendmailを公開していますが



外部のホストがそのDNSを参照できるように、適切に設定されていますか?
名前解決ではルートサーバから順に委任されているネームサーバて問い合わせを行って行きますが、勝手に立てたネームサーバに外部から問い合わせが来ることはない(正引きできない)かと思いますが。
あと、内向きDNSなのか外向きDNSなのかの適切な設定も。

外部のWebサービスで正引きの確認ができるところがあったような気もしますので、そちらで正引きできるか確認された方が良いでしょう。
https://www.makko.biz/dig/

送信元のメールサーバが逆引きチェックをしている場合もあるので注意が必要でしょう。
https://go-journey.club/archives/10118


Linuxマシンをルータにするより、一般的なブロードバンドルータを導入した方が楽…だと思いますよ。
ネットワーク構成によりますが。

私のところだと…
WAN--auひかりのホームゲートウェイ--市販のブロードバンドルータ(Aterm)--宅内PC
って接続で、auひかりのホームゲートウェイ以降はプライベートIPになります。
ホームゲートウェイにはDMZホストとしてAtermを指定していて、Atermが必要なパケット(ポート)のみ宅内PCへ通すようにしています。
# 開いているのは非標準ポートなsshくらいですが。
# upnpで宅内PCからの要求で一時的に開く場合もありますかね。
内向きDNSも立ってはいますが、外部から参照されることはありません。
DDNS利用しているので外部からauひかりのホームゲートウェイのWAN側IPは正引きできるようになってます。
    • good
    • 0
この回答へのお礼

公開しているDNS(dog)は外向き専用で、LAN内からは使っていません。
同じく内向きDNS(cat)も立ってはいますが、外部から参照されることはありません(はず)。
ご紹介のWebサービスで正引きの確認ができました。
しかし、逆引きを確認してみると、私が取得したドメインとは全然違うドメインが返ってきました。
これは、どうやらプロバイダーが自動的に付けた名前っぽいです。
しかも、その返ってきた名前をブラウザーのアドレス欄に打ち込んでみると、私の公開しているウェブが表示されます。

逆引きは、私のDNSに直接問い合わせればちゃんとできるのですが、世間にはずっと反映されていなかったようです。
今まで、逆引きを利用することなど無かったので、何の不都合も無く気づけなかったわけですが、この度のメールを受信したいという要求を満たすためには、やはり逆引きの情報を世間に反映させる必要があると思うのですが、これってどうすれば良いのでしょうか。時間が経てば自然に反映されると思っていたのですが、何かしらの操作をしないといけないのでしょうか。

おっしゃる通り、Linuxマシンをルータにするより、一般的なブロードバンドルータを導入した方が楽だと思います。
そして、それは良い考えだと思いました。
私も以前は一般的なブロードバンドルーターを使っていました。
恐らく何らかの必要性に迫られて、あえてLinuxをルーターにしたのだと思うのですが、その理由を思い出せません。
ブロードバンドルーターをお勧めする方に聞くのもおかしな話ですが、Linuxマシンをルーターにする利点って何かあるのでしょうか。

お礼日時:2022/08/25 18:28

>グローバルIPアドレスを持っているのはcatのみですが



catをルータとしていて、DMZにdogを置いている…ってことでいいんでしょうかね?

>ホスト名有り、無しの2通り試しましたが、

DDNSなり利用している。ってことでしょうかね?
それとも固定IPアドレスな契約なんです?

DDNSなり、固定IPでないとしたら、そもそも正引きできていない可能性がありますし、固定IPアドレスな契約でない場合はメールサーバが破棄している可能性もあります。
    • good
    • 0
この回答へのお礼

おっしゃる通りcatをルータとしています。
DMZの用語解説を読んでも未だに良く分からないのですが、DMZにdogを置いているのだと思います。
dogでウェブとDNSとsendmailを公開していますが、dogにはNICが1個しか無いためcatを介してインターネット接続しています。
おっしゃるように当方ウェブを公開したく固定IPアドレスな契約をしています。
以上より、基本的な下地は整っていて、単に設定がおかしいだけだと思っているのですが、いかがでしょうか。

お礼日時:2022/08/24 09:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A