KAEDE Hack blog

JavaScript 中心に ライブラリなどの使い方を解説する技術ブログ。

Vmware で Vagrant の 記事をみて Postfix のメールサーバーを構築する

why

Ubuntu でメールサーバーを作成する記事をみながら Vmware の仮想環境で構築していたところ、ethernet が起動していなかったのでうまくいかなくなってしまった

なので、仮想環境で動かす記事を参考にしてやりなおしてみる

参考記事

qiita.com

2y 前の記事だからあたらしい

postconf で postfix の version 確認をしたいが postconf が使えない

service postfix start

postfix を念のため起動する

postconf
postconf: fatal: open /etc/postfix/main.cf: No such file or directory

postconf コマンドで 設定ファイルの内容を表示したいが、

読み込む先が /etc/postfix/ の main.cf になっているので使えない

実際にあるのが /usr/share/postfix で main.cf.dist を編集している

postconf -c /usr/share/postfix/
postconf: fatal: open /usr/share/postfix//main.cf: No such file or directory

-c コマンドで ディレクトリをしていしても、main.cf ではなくて main.cf.dist なので読み込めない

つかえない!あきらめる!

mail_version がみたいが main.cf.dist にない

ファイル内の mail_ver を検索すると

cat main.cf.dist | grep mail_version
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)

smtp_banner, メールにログインしたときに表示する情報の引数しかみつからない

master.cf.dist, main.cf.tls でもみつからない

version みるのはあきらめる!

main.cf.dist を書く

https://qiita.com/tomiokario/items/162e5265cead529de570#postfix%E3%81%AE%E8%A8%AD%E5%AE%9A%E5%A4%89%E6%9B%B4local%E3%83%86%E3%82%B9%E3%83%88%E7%94%A8

mydomain, myorigin, inet_interface, inet_protocols,

mydestination, mynetworks,

は前回の記事でやったこととほぼかわらない

前回はやらなかった

home_mailbox = Maildir/

メールボックスの指定だけ追加する

これで設定の編集は終わり。

user 追加

useradd

user1, user2, のパスワード をそのままで設定

これでログイン時に kaede0902 のほかに、user1 と user2 も表示されるようになった

コマンドでユーザーを作れるの、感動する


telnet を使う

sudo apt-get install telnet

install

telnet localhost 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

25 にはいらない

E: Failed to fetch http://us.archive.ubuntu.com/ubuntu/pool/universe/m/mailutils/mailutils_3.7-2.1_amd64.deb  Temporary failure resolving 'us.archive.ubuntu.com'
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

mailutils はいらない....

Down している

わけがわからないよ


vm でインターネットがつながらないので NAT から Bridge にして解決した

ping us.archive.ubuntu.com
ping: us.archive.ubuntu.com: Temporary failure in name resolution

まずはもとの us.archive.ubuntu.com が動いているかどうか ping で確かめてみろと 助言をいただいたので実行してみた

なんと、つながらない

f:id:kei_s_lifehack:20210524041426p:plain

そもそも google.com にすら接続できないことがわかった

いんたーねっとがこわれた!!(そんなわけがない)

https://tech.pjin.jp/blog/2017/02/04/cannot-connect-network-in-the-virtual-machine/

調べてみると、ブリッジで NAT 接続すればいいらしい?実行してみる

NAT -- Network Address Translation とは

http://jukenki.com/contents/cisco/ccna-lab-scenario/lab2-nat.html

NAT, ローカルで プライベートの IP アドレス を グローバルに変換する窓口、社内 LAN のイントラネットでも使われるものと解釈する。

vm の設定画面には、NAT は ホストの IP アドレスを共有するものと書かれている。

一方で、Bridged は物理ネットワークに直接接続すると書いてある。

スイッチとブリッジの違い

www.n-study.com

スイッチという機械が物理的なハードウェア主体なのに対し、

ブリッジは仮想的な?ソフトウェア主体で動かすようだ

ハードウェア主体のスイッチの方が速度が速いらしい。

どちらも Mac アドレスと ポートの対応を登録したり、ポートA から ポートB にデータを送信したり、ポートC とポートD は別のネットワークに分けたり... という機能があると解釈する

現在の設定を NAT から Bridged に変更

f:id:kei_s_lifehack:20210524191318p:plain

現在の設定をみると、NAT にはなっているが、Bridge にはなっていなかった

f:id:kei_s_lifehack:20210524214304p:plain

Bridged に変更して起動してみる、physical network に replace はしない

f:id:kei_s_lifehack:20210525185031p:plain

使えた!!

f:id:kei_s_lifehack:20210525200029p:plain

ipaddr も down から up になっている


再度 telnet を使う

telnet localhost 25
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

いまだに 接続が拒否されてしまう

https://qiita.com/tomiokario/items/162e5265cead529de570#%E3%83%86%E3%82%B9%E3%83%88

そもそもこの記事でなぜ telnet を使いだしているのかも理解できていない。

しらべてみる

telnet とは

https://nw-engineer.work/telnet/

ssh と同じように別の サーバーにアクセスするコマンドと解釈する

ssh とは違って暗号化はされないらしい

telnet> display
will flush output when sending interrupt characters.
won't send interrupt characters in urgent mode.
won't read the telnetrc files.
won't map carriage return on output.
will recognize certain control characters.
won't turn on socket level debugging.
won't print hexadecimal representation of network traffic.
won't print user readable output for "netdata".
won't show option processing.
won't print hexadecimal representation of terminal traffic.

対話モードもなる

won't の項目がおおい、vm のネットワークうまくいかなくてエラーが出ていると仮定する

どうすればいいのかいまだ不明...

次は 192. などの場所につなげてみる