Domain-Name-System

挖顯示外部配置?

  • November 22, 2014

我已經嘗試了 2 天來解決這個問題的答案。

我在某處有一個虛擬伺服器並安裝了 postfix/dovecot/mysql。它以某種方式工作。我可以使用創建的 MySQL 帳戶登錄 Outlook。

但我無法發送或接收電子郵件。我總是得到這些答案:

This message was created automatically by mail delivery software.

A message that you sent could not be delivered to one or more of its recipients. 
This is a permanent error. The following address failed:

"user1@mydomain.com":
no valid MX hosts found

'savingbambi@notmydomain.com' am 21.11.2014 15:22
Server error: "554 5.7.1 <savingbambi@notmydomain.com>: Relay access denied"'

我更改了 named.conf.options 並添加了一個新的區域文件。我創建了區域文件並添加了 MX-Record。無論如何,我所做的更改似乎不會影響任何事情。

我的區域文件如下所示:

$TTL    604800
@       IN      SOA     mail.mydomain.com. (
                   1
                   10800
                   3600
                   604800
                   38400)
       IN      MX      10 mail.mydomain.com.
@       IN      A       46.38.124.67
mail.   IN      A       46.38.124.67

我的 named.conf.options

options {
       directory "/var/cache/bind";
       forwarders {
              8.8.8.8;
       };
       dnssec-validation auto;
       auth-nxdomain no;    # conform to RFC1035
       listen-on {any;};
       listen-on-v6 { any; };
};

zone  "mail.mydomain.com" {
     type    master;
     file    "/etc/bind/db.mail.mydomain.com";
};

儘管我配置或做什麼。dig 總是得到相同的結果(例如,如果數據來自其他地方而不是我的區域文件):

; <<>> DiG 9.9.5-3-Ubuntu <<>> mail.mydomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7485
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail.mydomain.com.         IN      A

;; ANSWER SECTION:
mail.mydomain.com.  6516    IN      A       46.38.124.67

;; AUTHORITY SECTION:
mydomain.com.       63046   IN      NS      dns1.kontent.com.
mydomain.com.       63046   IN      NS      dns2.kontent.com.

;; ADDITIONAL SECTION:
dns1.kontent.com.       505     IN      A       81.88.34.28
dns2.kontent.com.       1575    IN      A       81.88.40.11

;; Query time: 2 msec
;; SERVER: 46.38.225.230#53(46.38.225.230)
;; WHEN: Fri Nov 21 19:14:13 CET 2014
;; MSG SIZE  rcvd: 147

其他一些區域文件(db.0、db.127、db.255、db.empty、db.local、db.root)是否會覆蓋我的配置?

請幫忙。在這種情況下,我不是專家(顯然:-()。

更新 執行 named-checkconf -zj:

dns_rdata_fromtext: /etc/bind/db.mail.branchconcept.de:7: near eol: unexpected end of input
/etc/bind/db.mail.branchconcept.de:8: ignoring out-of-zone data (branchconcept.de)
zone mail.branchconcept.de/IN: loading from master file /etc/bind/db.mail.branchconcept.de failed: unexpected end of input
zone mail.branchconcept.de/IN: not loaded due to errors.
_default/mail.branchconcept.de/IN: unexpected end of input
zone localhost/IN: loaded serial 2
zone 127.in-addr.arpa/IN: loaded serial 1
zone 0.in-addr.arpa/IN: loaded serial 1
zone 255.in-addr.arpa/IN: loaded serial 1

我的區域文件實際上看起來(經過一些嘗試並使用實際值):

$TTL    604800
@       IN      SOA     mail.branchconcept.de. (
                       2011091202
                       10800
                       3600
                       604800
                       38400)
branchconcept.de.        IN      MX      10 mail.branchconcept.de.

我通過我的 ISP 添加了這些條目,但它沒有幫助:

*.branchconcept.de  DNS A-Re­cord   46.38.232.105
branchconcept.de    DNS MX-Re­cord (Prio­ri­tät: 10)    mail.branchconcept.de
*.branchconcept.de  DNS-AAAA-Record 2002:2E26:E869:0:0:0:0:0 

也許我會問它:假設 Postfix 和 Dovecot 安裝在域名為 domain.com 的伺服器上。我如何,

  1. 配置一個區域文件來獲取像 username@domain.com 這樣的郵件?
  2. 在後綴配置(main.cf)中我需要關心什麼?

我定義了子域mail.domain.com,因為我認為有必要定義。是這樣嗎?或者沒有必要,我只需要為@Shane 評論的 domain.com 定義一個區域文件?我快瘋了,因為我一點頭緒都沒有。

儘管我配置或做什麼。dig 總是得到相同的結果(例如,如果數據來自其他地方而不是我的區域文件):

在您的輸出中,我注意到您有 2 個 dns 伺服器。

;; AUTHORITY SECTION:
mydomain.com.       63046   IN      NS      dns1.kontent.com.
mydomain.com.       63046   IN      NS      dns2.kontent.com.

您的域伺服器設置為使用 dns1/2.kontent.com 而不是您的配置。更新您購買域名的那些 dns 伺服器的配置或將其切換到您自己的名稱伺服器。

*.branchconcept.de  DNS A-Re­cord   46.38.232.105
branchconcept.de    DNS MX-Re­cord (Prio­ri­tät: 10)    mail.branchconcept.de
*.branchconcept.de  DNS-AAAA-Record 2002:2E26:E869:0:0:0:0:0 

您還應該為主域名添加 A 和 AAAA 記錄。不只是 *.domainname.ext。

有點題外話,但給你一些建議。您使用的 ip 沒有設置反向 ip 指針。建議設置一個,有關它的背景資訊,請參閱此網站

其次,為了減少您的郵件被阻止或標記為垃圾郵件的機會,或者人們偽造您的域名,建議設置一個 spf 記錄,其中列出了允許從您的域下發送電子郵件的 IP 地址。這可以通過名稱伺服器設置中的簡單 TEXT 條目來完成。

text = "v=spf1 ip4:1.2.3.4 ip6:abcd:ef12:34:5678::/128 ~all"

您還需要為您的域名設置一條 A 記錄。現在 www.yourdomain.com 將解析為一個 ip,但 yourdomain.com 不會。使用您的 IP 地址創建一個 A 和 AAAA 記錄,名稱為 @ 或 branchconcept.de。

此外,您的 DNS TTL 設置為 1 天。這意味著對記錄的任何更改都需要一整天才能為客戶完全更新(這可能解釋了為什麼您現在仍然遇到問題,我建議稍微低一點,也許 1 小時?)。

至於您的區域文件,這將是有效的,但是您的域名仍然指向 kontent.com 的 dns 伺服器。

$ORIGIN mydomain.com.
$TTL    1h
@                   IN      SOA     mydomain.com admin.mydomain.com. (2014111401 1d 2h 4w 1h )
mydomain.com.       IN      NS      ns.mydomain.com.
mydomain.com.       IN      A       46.38.124.67
mydomain.com.       IN      AAAA    2002:2E26:E869:0:0:0:0:0 
ns.mydomain.com.    IN      A       46.38.124.67
ns.mydomain.com.    IN      AAAA    2002:2E26:E869:0:0:0:0:0 
mydomain.com.       IN      MX      10 mail.mydomain.com.
mail                IN      A       46.38.124.67
mail                IN      AAAA    2002:2E26:E869:0:0:0:0:0 
*.mydomain.com.     IN      A       46.38.124.67
*.mydomain.com.     IN      AAAA    2002:2E26:E869:0:0:0:0:0 

編輯:再調查一下,您的 SMTP 伺服器似乎不接受連接。確保: - 沒有防火牆阻止埠 25 連接 - 檢查您的後綴配置文件並查找 inet_interfaces。
確保它不僅綁定到 localhost,還綁定到您的 ipv4 和 ipv6 地址。

至於進一步的配置,請驗證您的接收域(後綴配置文件中的 mydestination)和預設情況下您將發送電子郵件的域名。

更新 22-nov-14 我嘗試自己安裝後綴。我所做的是以下內容:

yum install postfix -y

然後我編輯了postfix配置文件:

  • 編輯了 mydestination,添加了我的 .com 域名。(用逗號分隔)
  • 編輯 myorigin,設置為我的 .com 域名。

將 inet_interfaces 更改為我的公共 ip,以便可以從外部訪問它。此時使用 mxtoolbox 的 SMTP 對 ip 起作用。

我添加了以下 DNS 記錄:

mydomain.com   mx   priority 10    mail.mydomain.com
mail.mydomain.com A MY_IP

現在使用 telnet 發送郵件工作正常,但是我無法從另一台伺服器或 gmail 接收電子郵件。查看 sendmail 連接的地址後,我發現它使用的是 mydomain.com 的 A 記錄。因此,在將 mydomain.com 的 A 記錄添加到我的郵件伺服器 ip 後,我能夠接收電子郵件。

由於您的 MX 記錄是正確的並且您的郵件伺服器現在可以訪問,您應該做的最後一件事是將 branchconcept.de 的 A 記錄添加到您的伺服器 ip。那麼它應該有希望工作。

我嘗試測試您的郵件伺服器,但它說沒有已知的 root 使用者,也沒有您網站上列出的電子郵件(使用域 @branchconcept.de)。您可能想檢查您是否設置了使用者。

所以簡而言之,你應該在這一點上做兩件事:

  • 設置你的主域名的A記錄到你的伺服器的ip。
  • 如果尚未完成,請設置使用者名。

如果需要,您可以使用 sendmail 測試/調試來自另一台 linux 伺服器的郵件傳遞。

sendmail -v username@yourdomain.com < message.txt

message.txt 在哪裡

Subject: Testing smtp.
MIME-Version: 1.0
Content-Type: text/plain

Hi there, just testing.

希望這會有所幫助,祝你好運!

引用自:https://serverfault.com/questions/646159