AWS EC2 に Postfix をインストール SPF 認証も設定
ちわ、秋田@豊作(@housakuakita)です。
最近は、サーバも Amazon、ネットショップ(ウクレレ関係を販売)も Amazon、Alexa の招待も申し込んじゃったので、話し相手も Amazon、になりそうです。もちろん買い物もAmazon ・・・・すっかりAmazon中毒。
これ、かなりやばいなって思いつつも、まあ仕方ないかな・・・とも思ってます。
早めに Aisible 覚えて、Amazonでやっている事を全て Google や アジールでも再現できるようにならなきゃダメかな・・・なんて思う今日この頃です。
今回は AWS の EC2 に Postfix をインストールしてみます。Nagios を入れて監視をするように出来たのですが、メールを送ることができないのでメールが送れるように Postfix を入れる事にします。
AWS EC2 に Postfix をインストール
加えて DNS にて SPF 認証が行えて、各 SMTP が中継をしてくれるように設定を行います。
参考アドレスはこちら「https://www.server-world.info/query?os=Ubuntu_16.04&p=mail&f=1」毎度感謝です。ありがとうございます。
Postfix をインストール
$ sudo apt-get -y install postfix sasl2-bin
設定画面が出たら、No configuration を選ぶ
わらわらと終了
設定ファイルをコピー
$ sudo cp /usr/share/postfix/main.cf.dist /etc/postfix/main.cf $ sudo vi /etc/postfix/main.cf
参考アドレスに習って設定
後に spf 認証とかもあるので、メールを使っていないドメイン「sologuitar.jp」を割り当てることにします。
#ホスト名 #myhostname = host.domain.tld #myhostname = virtual.domain.tld #を myhostname = mx.sologuitar.jp #ドメイン名 #mydomain = domain.tld #を mydomain = sologuitar.jp #ローカルホスト #inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost #を inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost sendmail_path = #を sendmail_path = /usr/sbin/postfix newaliases_path = #を newaliases_path = /usr/bin/newaliases mailq_path = #を mailq_path = /usr/bin/mailq setgid_group = #を setgid_group = postdrop html_directory = #をコメント #html_directory = manpage_directory = #をコメント #manpage_directory = sample_directory = #をコメント #sample_directory = readme_directory = #をコメント #readme_directory =
上記を編集し、postfix をリスタート
$ sudo newaliases $ sudo systemctl restart postfix
newaliases は、メールエイリアスのデーターベスを再構築するものだそうだ。やらなくても良い時もあるかと思うけど、何か設定を変えた時にやっておけば良いかな。
mail コマンドをインストールする
$ sudo apt-get install mailutils
メールが遅れるか mail コマンドでテストしてみる。
$ sudo mail ****@gmail.com Cc: Subject: test testtest
改行後 control + D で送信
$ sudo less /var/log/mail.log
※ログの見方は
https://support.fsv.jp/manual/analysis/log/check/mail.html
この辺りを参考に
SPF 認証がされていないのでブロックされる。
SPF 認証 はhttps://qiita.com/OMOIKANESAN/items/d7a794a42b9baa46fd1f こちらを参照してください。
SPF 認証をするためには IP アドレスが必要。AWS の エラスティック IP アドレスを取得してサーバに割り当てる。
Elastic IP を関連づける
ホスト名でも良さそうなのだけど、ここでは固定IPアドレスを取得して関連づけて見る。 AWS では、Elastic IP って名前で IP アドレスを貸してくれる。
インスタンスを選択したまま「アクション」「ネットワーキング」「IPアドレスの管理」に入る。
現状パブリック IP がわり当たっていますが、これはインスタンスの停止→再起動や、インスタンス内部のコマンドなどで再起動をすると変更になってしまうらしい・・・
なので、固定された IP アドレス(有料)を関連づける必要がある。
「Elastic IP を割り当てます」をクリック。
新しいアドレスの割り当てにて「割り当て」をクリック。
IPアドレスが割り当てられた。「54.248.42.28」
左メニュー「Elastic IP」に入り該当 IP アドレスを選択した状態で「アクション」「アドレスの関連付け」に入る。
リソースタイプ:インスタンス
インスタンス:該当するインスタンス
プライベート IP:そのインスタンスのプライベートIPアドレス
「関連付け」をクリック
関連付けが終わります。
プライベート IP にインスタンスが関連づけられました。
インスタンスを見ても、関連づけられたのがわかります。
EC2 のインスタンスを 停止→再開しても、この関連付けは外れません。
DNS に SPF認証 の登録
今回割り当てた IP アドレスは「54.248.42.28」。
次にドメインを管理している DNS のゾーンファイルを書き換える。
まずは A レコードにてホスト名と IPアドレスの紐付けを行う。
mx.sologuitar.jp A 54.248.42.28
次に txt レコードでこのドメインではこの IP アドレスのサーバからメールを送信しますよ。って事を書いてあげる。
ネームサーバで
"v=spf1 mx include:spf01.*****.*** ~all" ↓ "v=spf1 mx include:spf01.*****.*** +ip4:54.248.42.28 ~all"
とする。
「spf01.*****.***」は既に書かれていた記述。ない場合は、
"v=spf1 +ip4:54.248.42.28 ~all"
これだけで良いかと思うけど、試していないのでやってみて下さい。はい。
DNS を書き換えたら mail コマンドでテスト
$ sudo mail ****@gmail.com Cc: Subject: test testtest
control + D で送信
$ sudo less /var/log/mail.log
で確認
これでも送れない。
よく見たら迷惑フォルダに入っていた・・・ひとまずメールの配信は可能になった。めでたしめでたし。
関連記事
-
-
AWS EC2 の Ubuntu に MySQL インストール
今日はデーターベースサーバの MySQL。今じゃオラクルさんが所有して...
-
-
AWS EC2 インスタンスのAMI化(バックアップ)と復元
最近歌ってないなぁ〜なんて思っていたのすが今度の日曜日、本八幡のルート...
-
-
AWS EC2 Nagiosに監視されるWebサーバの Nginx インストール
ビットコイン下がってますねぇ〜。ちょっとあがったかな?と思ったのは間違...
-
-
AWS EC2 の Ubuntu に Nagios をインストール
今日はナギオスをインストール。元スマップの草彅剛でもなく、くさなぎのた...
新着記事
-
-
沖縄へ行こう!行こうシリーズ[158/100]
2019年行こうシリーズの第一弾。だけど昨年12月15日に沖縄のガズレ...
-
-
新年明けましておめでとうございます。2019年
新年明けましておめでとうございます。 2018年が終わり、2019年...
-
-
自分の時間を売り渡し切った後の、擦り切れた時間で本当に楽しめるの?
秋田、起業したのが1995年〜なので、かれこれ23年スタッフやお客様に...
-
-
年末なので贅沢に2ポチ(Pixel3 & MacBookPro)しました | 和歌山城へ行こう 行こうシリーズ[157/100]
和歌山城で歌ってきました〜 行こうシリーズ(ロンドン100連発)...
-
-
ガズレレウクレレ「開封の儀」と「ストラップピン取り付け」
本日ガズさんののウクレレが届きました〜パチパチ〜 ...
コメント/トラックバック
トラックバック用URL:
コメントフィード