私は2つの仮想マシンと両方のUbuntuサーバーを実行しています。 mail
を使用してLab2からLab1に電子メールを送信できるはずです。 Lab2が実行されていますexim4
とLab1にはpostfix
がポート25でリスニングされています。Lab2にEximを設定してください。 Lab2からLab2のmail
でEメールを送信するとうまく機能しますが、Lab2からLab1に送信するときにエラーが発生します。私が理解しているようにexim
がLab1の中継として機能するはずですか?私が取得するエラーはR=dnslookup_relay_to_domains defer (-1): Host lookup did not complete
、詳細を下回る。
Lab2から、ping
とssh
がLab1にできます。誰もが私が間違っていることを理解するのを手伝ってくれる?私はEXIMの構成を変えることを試みましたが、私はここで理解していない何かがあると確信しています...
Lab1
Lab1のIPアドレス:
user@lab1:~$ ifconfig
enp0s3 Link encap:Ethernet HWaddr 08:00:27:d5:ec:9a
inet addr:10.0.2.5 Bcast:10.0.2.255 Mask:255.255.255.0
POSTFIXはポート25を聞いています。
user@lab1:~$ netstat -tulpn
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN -
Lab2の場合
/etc/hosts
の内容:
user@lab2:~$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 lab2
10.0.2.5 lab1
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
/var/lib/exim4/config.autogenerated
の内容の一部:
# the following macro definitions were created
# dynamically by /usr/sbin/update-exim4.conf
.ifndef MAIN_LOCAL_INTERFACES
MAIN_LOCAL_INTERFACES=<; 127.0.0.1; 10.0.2.6
.endif
.ifndef MAIN_PACKAGE_VERSION
MAIN_PACKAGE_VERSION=4.86.2-2ubuntu2.3
.endif
.ifndef MAIN_LOCAL_DOMAINS
MAIN_LOCAL_DOMAINS=@:localhost:lab2: localhost
.endif
.ifndef MAIN_RELAY_TO_DOMAINS
MAIN_RELAY_TO_DOMAINS=lab1
.endif
.ifndef ETC_MAILNAME
ETC_MAILNAME=lab2
.endif
.ifndef LOCAL_DELIVERY
LOCAL_DELIVERY=maildir_home
.endif
.ifndef MAIN_RELAY_NETS
MAIN_RELAY_NETS=10.0.2.0/8 : 127.0.0.1 : ::::1
.endif
.ifndef DCreadhost
DCreadhost=empty
.endif
.ifndef DCsmarthost
DCsmarthost=mail.lab2
.endif
.ifndef DC_eximconfig_configtype
DC_eximconfig_configtype=internet
.endif
.ifndef DCconfig_internet
DCconfig_internet=1
.endif
Lab2からLab1への電子メールを送信します。
user@lab2:~$ echo "test" | mail -s test user@lab1
/var/log/exim4/mainlog
の出力:
2019-01-26 01:31:24 1gnBsa-0000PD-2b <= user@lab2 U=user P=local S=310
2019-01-26 01:31:24 1gnBsa-0000PD-2b == user@lab1 R=dnslookup_relay_to_domains defer (-1): Host lookup did not complete
私はたくさんのことを試みていて、設定に少しめちゃくちゃになっていました。最後にソートし、ここで/etc/exim4/update-exim4.conf.conf
からの正しい設定があります
dc_eximconfig_configtype='smarthost'
dc_other_hostnames='lab2; localhost'
dc_local_interfaces='127.0.0.1'
dc_readhost=''
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='lab1'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='false'
dc_mailname_in_oh='true'
dc_localdelivery='maildir_home'
基本的にSudo dpkg-reconfigure exim4-config
を使用していて、mail sent by smarthost
オプションを選択してからSmartHostとしてlab1
を設定する必要がありました。