web-dev-qa-db-ja.com

POSFIXを使用してEXIM4をVMからVMから電子メールを送信する

私は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から、pingsshが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
1
jamomani

私はたくさんのことを試みていて、設定に少しめちゃくちゃになっていました。最後にソートし、ここで/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を設定する必要がありました。

1
jamomani