我正在嘗試在家中建立個人郵件/日曆伺服器(是的,我聽說這很困難,很麻煩等等,但我仍然想嘗試)。我的 ISP 不提供靜態 IP 位址,因此看起來某種動態網域名稱服務 (DDNS) 是解決方案。
然而,我一直在做研究,我發現至少有一些在線資源解釋了您可以自己進行 DDNS:您需要有一個腳本/程序來定期監視您的 IP 地址,以及地址是否發生變化,然後腳本/應用程序需要更新您用於家庭伺服器的任何網域(我碰巧有一個網域停放在託管提供者處,以應對這種可能性,據我了解,我只需要API 金鑰託管公司,以便以程式設計方式調整必要的網域/IP 記錄...如果我在這方面錯了,請告訴我,並且有一個更簡單的方法)。
事情是這樣的:當您按照我上面描述的方式更新網域記錄時,我了解到可能需要幾個小時才能在整個系統/世界中傳播(所有 DNS 伺服器都必須使用您更新的地址重新填充) )。然而,我一直在關注的幾家付費 DDNS 提供者似乎都在宣傳他們使更改幾乎立即生效的能力(或至少比我的 DIY 方法更快)。真的嗎?有什麼我錯過的嗎?
另外,我還有另一個擔憂:使用 DDNS 提供者時是否存在我可能忽略的安全問題?他們難道無法監控流經他們提供的域名的所有流量嗎?對於哪種方法(付費與 DIY)可能更好,有人有知情的意見嗎?
感謝您的寶貴時間...謝謝!
答案1
我正在嘗試在家中建立個人郵件/日曆伺服器(是的,我聽說這很困難,很麻煩等等,但我仍然想嘗試)。
您在郵件部分可能不會有太多運氣。請參閱@Alex 的回答。
您需要有一個腳本/程式來定期監視您的 IP 位址,如果位址發生變化,則腳本/應用程式需要更新您用於家庭伺服器的任何域名
差不多就是這樣。
我只需要託管公司的 API 金鑰,以便以程式設計方式調整必要的網域/IP 記錄
是的,儘管如果該公司只提供通用的「託管一切」服務,它可能根本沒有任何 DNS 管理 API(專注於 Web 和郵件),並且您可能需要將網域移至其他地方。
事情是這樣的:當您按照我上面描述的方式更新網域記錄時,我了解到可能需要幾個小時才能在整個系統/世界中傳播(所有 DNS 伺服器都必須使用您更新的地址重新填充) )。
不需要。世界其他地方不會保留永久記錄 - 它只是在每個(子)域的“TTL”(生存時間)字段中指示的持續時間內緩存各個查找的結果。
然而,我一直在關注的幾家付費 DDNS 提供者似乎都在宣傳他們使更改幾乎立即生效的能力(或至少比我的 DIY 方法更快)。真的嗎?有什麼我錯過的嗎?
我猜測他們允許在動態域上配置非常低的 TTL(低至幾秒鐘),這意味著它將很快從任何快取中刪除,但代價是 DDNS 提供者本身接收更多請求(更高加載他們的DNS 伺服器和資料庫,並成為向您收取更多費用的藉口)。僅此一點並不是什麼特別的事情,可以透過任何 DIY 方法來實現。
他們難道無法監控流經他們提供的域名的所有流量嗎?
不會。
(除非提供者確實嘗試傳回錯誤數據,一旦新聞網站得知,這將大大縮短公司的 TTL。
也就是說,請注意 API 的工作原理;當然,您不能確定該服務沒有任何漏洞,但如果(例如)API 在未加密的 HTTP 上運行並在顯而易見的情況下傳輸 API 金鑰,那麼這不是您想要依賴的東西。
答案2
如果您沒有靜態 IP,那麼如果您使用 DDNS 解決方案,您應該忘記郵件伺服器,大多數電子郵件伺服器要么拒絕您發送的電子郵件,要么將電子郵件標記為最高垃圾郵件級別,因為所有動態 IP 都在PBL列表。 (您可以在 PS 部分中查看更多詳細信息,為什麼在住宅 IP 上擁有電子郵件伺服器不是一個好主意,但仍然有一種解決方法,即使用中間便宜的 VPS(虛擬專用伺服器))
關於「DDNS 自己」—一個好的網域註冊商透過其API 提供免費IP 更新,您的程式所需要做的就是定期驗證公共IP,如果發生更改,則將新IP 發送給註冊商,註冊商將更新A(AAAA) 記錄。順便說一句,現在大多數路由器已經具備這樣的功能(監視 IP 並向 DDNS 提供者報告)
我讀到可能需要幾個小時才能在整個系統/世界中傳播
這取決於 DNS 提供者,尊敬的註冊商允許將 TTL(告訴其他人 IP 可能更改頻率的時間)設定為等於 5 分鐘。並非所有轉送中間 DNS 伺服器都會遵循此規則以避免高負載,但通常即使它們不遵循網域擁有者 TTL,時間也很少會超過幾個小時。大多數轉發器將按照您在網域 TTL 中設定的方式更新其快取。
使用 DDNS 提供者時是否存在我可能會忽略的安全問題?
上網已經可能有安全問題。將您的伺服器與本地網路隔離,以避免不受歡迎的客人。
對於哪種方法(付費與 DIY)可能更好,有人有知情的意見嗎?
如果您選擇 DDNS,您將浪費您的時間和金錢。如今,您每月只需 3-4 美元即可獲得不錯的 VPS(虛擬專用伺服器)。雖然網站(如果您打算擁有一個)可以直接託管在VPS 上,因為通常它不會佔用太多空間,但如果您預計長時間運行伺服器或預計會有大量電子郵件發送,電子郵件伺服器可能會出現問題。通常,即使不刪除舊電子郵件,20GB 空間也足夠小型企業使用長達 3-5 年。即使您預計會收到大量電子郵件,您也可以使用nginx
該功能將電子郵件流量代理到您的家中。因此,您可以在家中的動態 IP 上託管主要電子郵件伺服器,而 VPS(具有靜態 IP)將代理到您家的傳入/傳出流量。您可以在此類配置中輕鬆使用自己的 VPS,因為無需擔心 DNS 傳播,網域將始終指向 VPS 的靜態 IP。你仍然需要管理向VPS 報告你的家庭IP 更改,這樣VPS 就會知道在哪裡代理流量,但它更容易,只需查詢你的VPS 上的一些URL 並在日誌中解析你的傳入IP 並調整nginx,所以它總是知道你在哪裡。
聚苯乙烯
我可以看到這個主題對超級用戶來說很有趣,所以我會添加更多細節。
PBL清單保存通常是動態IP的IP資料庫,所以PBL 對電子郵件伺服器的操作員有很大幫助。這不是技術問題,也不是ISP 是壞人,不允許動態IP 上的電子郵件伺服器,問題是來自動態IP 的大多數電子郵件流量都來自受感染的計算機,這些計算機會大量發送垃圾郵件或惡意軟體,這些計算機很容易分散式阻斷服務接收伺服器(如果是目標)。一些 ISP 阻止到連接埠 25 的傳出連線以防止惡意軟體的傳播分散式阻斷服務,但有些則不然。實際上,所有公司電子郵件的伺服器都會簡單地丟棄來自以下位址的連線:PBL大幅減少垃圾郵件的清單。
第二個有效的反垃圾郵件解決方案是刪除來自 DNS 中沒有反向 PTR 記錄且與網域的 DNS 記錄不符的 IP 的連線。即使連接來自沒有 PTR 記錄的靜態 IP,它通常要么是嚴重配置錯誤的設置,要么主要來自垃圾郵件團夥運行的伺服器(可能會排除一些大型(但粗心的)提供商,但可以手動添加它們在白名單中)。雖然在VPS上設定反向PTR記錄只需幾分鐘,但如果從ISP獲得的靜態IP和設定PTR的過程通常是PITA(必須致電他們,驗證後提交票證),則情況並非如此您的IP 原始所有者並等待他們的系統管理員的憐憫,他們需要設定反向PTR 記錄,有時需要幾個小時,但有時需要幾天)
另外,這不是關鍵,但是......為了避免電子郵件偽造,大多數電子郵件伺服器所有者使用所謂的SPF(寄件者政策框架),如果 DNS 中的一組授權 IP 位址允許代表網域發送電子郵件,則允許指定最快的政策處理方法。 (可以透過以下方式指定授權伺服器完全合格域名作為 MX 記錄的參考,但它透過 DNS 進行額外的往返以連接伺服器)因此,管理 DNS 中的浮動 IP 並不是一件有趣的事情。
答案3
我的 ISP 不提供靜態 IP 位址,因此看起來某種動態網域名稱服務 (DDNS) 是解決方案。
這是一種解決方案。作為另一個解決方案的範例,HurricaneElectric.net IPv6 隧道提供具有可移動隧道端點的靜態 (IPv6) 位址。誠然,目前 IPv4 會更好地支援一般大眾的這種功能,但如果你能找到一台願意合作的計算機,從技術上講,你也可以使用 IPv4 來做這樣的事情。
您需要有一個腳本/程式來定期監視您的 IP 位址,如果位址發生變化,則腳本/應用程式需要更新您正在使用的任何域名
這聽起來是個技術上可靠的計畫。
我只需要託管公司的 API 金鑰,以便以程式設計方式調整必要的網域/IP 記錄...如果我在這方面錯了,請告訴我,並且有一個更簡單的方法)。
確切的細節取決於網域註冊商選擇如何實現此功能。有些可能使用某種 API 金鑰,而有些則可能依賴 Web 介面進行自動更新。過去,一些 ISP 提供了此類服務,但依靠手動更改來回應請求。因此,這完全取決於為您提供服務的人。
事情是這樣的:當您按照我上面描述的方式更新網域記錄時,我了解到可能需要幾個小時才能在整個系統/世界中傳播(所有 DNS 伺服器都必須使用您更新的地址重新填充) )。
呸騙子。眾所周知,DNS 傳播需要幾分鐘、幾小時或幾天(例如,72 小時)。然而,當人們仔細分析後,他們發現大部分模糊的「傳播」時間只是因為 DNS 託管提供者更新緩慢所致。
在更好的理論上,您應該只需要等待 TTL 值。雖然這個理論有問題…
然而,我一直在關注的幾家付費 DDNS 提供者似乎都在宣傳他們使更改幾乎立即生效的能力(或至少比我的 DIY 方法更快)。真的嗎?有什麼我錯過的嗎?
好吧,現實是這樣的:為了使更新完全生效,您需要讓網路刷新其舊資訊的活動快取。
根據標準,快取 DNS 伺服器可能會在您可以設定的 TTL 值指定的時間長度內依賴其快取。
然而,現實情況是,至少有一些(甚至可能是大多數?)非常大的 ISP 運行自己的快取 DNS 伺服器,而這些伺服器完全忽略 TTL 值。他們這樣做是因為他們覺得如果不那麼頻繁地更新 DNS 緩存,整體效果將是頻寬減少(並可能減少計算時間)。
因此,任何依賴此類 DNS 伺服器的電子郵件伺服器都可能會受到影響,並且在 DNS 伺服器更新之前無法注意到您的更新。在某些情況下,這可能需要一兩天(或三天?)。
然而,這種影響已經變得越來越罕見。在實際操作中,大多數 DNS 伺服器都會在一兩個小時內刷新其快取。
由於某些快取的更新速度不會像其他快取那麼快,因此,網路上的某些地方將使用新位址,而其他地方仍會嘗試使用舊位址。幾個小時之內,大多數計算機就能很好地處理新資訊。 (很多很多可能會在幾分鐘內起作用。)
電子郵件軟體的典型行為是嘗試發送電子郵件。如果失敗,請稍後再試。電子郵件伺服器通常會持續重試(大約每小時一次)數天,然後才會放棄。因此,可能發生的情況是您不會丟失電子郵件,但會稍微延遲。
Alex 的評論「所有動態 IP 都在 PBL 列表中」顯然是錯誤的,因為此資訊是分散的(因此「全部」一詞不準確),但確實有許多動態 IP 都在此類列表中,因此可能意味著某些與電子郵件相關的電腦/設備可能決定不與您合作。
另外,我還有另一個擔憂:使用 DDNS 提供者時是否存在我可能忽略的安全問題?
最令人擔憂的是您的更新是否以安全的方式處理。
他們難道無法監控流經他們提供的域名的所有流量嗎?
不。傳統的典型回應是提供一個或多個 IP 位址。其他回應也是可能的,例如引用另一個 DNS 伺服器或網域名稱(例如,使用 CNAME)或其他資料(例如,協助透過較新的 DNSSec 標準提供安全性)。
有知情者給個意見嗎...
我想指出的是,如果您確實想運行一個嚴格的電子郵件伺服器,您可能需要考慮遵守現代電子郵件標準。這不僅涉及遵守 SMTP 和 DNS 技術規範。許多人使用大型提供者,而那些大型提供者可能會實現他們自己的期望。
例如,我知道幾年前使用 Debian 和 Postgrey 設定了一個電子郵件伺服器。 Postgrey 是一些提供「灰名單」反垃圾郵件處理的軟體。但是,所使用的 Postgrey 版本假定當電子郵件伺服器重試電子郵件時,發送電子郵件伺服器將使用相同的 IP 位址。已知 Office 365 電子郵件伺服器會重試從仍在 IPv6 /64 子網路內的不同 IP 位址傳送電子郵件。波斯特格雷不喜歡這樣。
隨著越來越多的組織轉向 Office 365,這對於使用舊電子郵件伺服器的人來說已經成為越來越大的問題。 Postgrey 軟體的新版本已經發布,但安裝此類軟體的簡單方法是使用該作業系統的官方軟體儲存庫。因此,在實踐中,更新軟體的明智方法是升級作業系統。
還有其他約定,例如 DNS 名稱以“mail”開頭。這可能會導致您的設定被判斷為或多或少值得信賴。這可能會影響設備是否將您視為不合規的垃圾郵件發送者,或視為值得與之通訊的設備。
當然,也許在非常嚴格地談論官方技術規範時,大型組織正在執行一些與包含所使用協議的技術規範的 RFC 文件所要求的最低要求不同的操作。但如果您想與更大的網路社群進行交流,一些重要/大型參與者會強加一些額外的標準。準備好滿足這些標準,或準備好遇到一些麻煩。
我對所有這些標準的確切含義有點模糊,因為它們會隨著時間的推移而改變。
對於舊的電子郵件伺服器需要升級其舊的 Debian 作業系統,也許人們應該更頻繁地升級他們的作業系統。不過,我想說的是,多年來運作良好的軟體設定現在已經被破壞了,因為許多電子郵件地址普遍使用了較新的行為。如果您嘗試執行不尋常的操作,例如在速度較慢的 Internet 供應商上使用動態 DNS,則在此過程中您可能更有可能遇到一些額外的問題。當你聽起來雄心勃勃時,也許你可以投入精力。我只是警告你要做好必要這樣做的準備。
……哪種方法(付費與 DIY)可能更好?
正如其他人指出的那樣,付費會容易得多,而且對大多數人來說相當經濟。大型供應商可能會提供穩定的 IP 位址,您可以將 MX 記錄指向該位址(以便電子郵件到達那裡),並且可能會提供明顯更好的頻寬。
DIY 更適合獲得經驗和了解事物的工作原理,並選擇不完全依賴大公司的實施。對實施進行更多控制還可以讓您更快地進行重大自訂變更。
哪個「更好」取決於您的個人目標,因此我將這樣的結論留給您。
答案4
其他答案已經解釋了DDNS部分。
我要解釋一下為什麼您必須使用單獨的伺服器來傳送電子郵件(因為@Alex 的簡要解釋不完整)。
最重要的是,您需要有效的反向 PTR 記錄來發送電子郵件 - 如果 IP 位址的反向 DNS 記錄與寄件者網域不匹配,許多電子郵件伺服器將檢查它並退回您的郵件。該記錄由 IP 位址的所有者提供 - 例如,由您的 ISP 提供。
現在讓我們想像一下,您已經以某種方式獲得了有效的、動態更新的反向 DNS(哈哈)。您仍然需要讓所有人相信您的網域是合法的,並且您發出的電子郵件不是垃圾郵件。
正如 @Alex 所解釋的,小型郵件託管商喜歡使用 spamhaus 和其他線上黑名單。但我看到那些企業管理員做了很多其他愚蠢的事情(例如阻止所有不是來自 Gmail/Hotmail 的電子郵件)。其實不只是一些「企業管理員」——我看過來源鍛造封鎖來自合法公司電子郵件網域的註冊,因為「我們不知道為什麼,但我們的垃圾郵件過濾器認為您很糟糕」。忽略他們吧——你不可能與天空下的每個人都保持相容。
如今,大型郵件託管商不再依賴 spamhaus 或其他 PBL。他們自己追蹤您的可信度。寄件者信譽(至少大部分)與 IP 相關聯。這是因為垃圾郵件發送者經常受到其託管商的引導,因此他們被迫跳轉 IP。從 Gmail 的角度來看,您最近建立的網域/IP 與常見的垃圾郵件發送者沒有什麼不同。當您開始發送電子郵件時,您的聲譽很低(默認情況下您被視為垃圾郵件發送者!)。您發出的大部分電子郵件都會被標記為垃圾郵件。當有人回覆您的電子郵件或特別將其標記為合法時(透過按下其電子郵件提供者的網路介面中的相應按鈕),對您的信任會略有增加。正如您所看到的,為了提高寄件者的聲譽,您必須多年來在同一 IP 上使用相同網域。使用動態 IP 無法可靠地完成此操作。
一旦您從託管商租用了 VPS,在動態 IP 上保留家庭伺服器將變得容易得多。您將能夠使用該 VPS 作為您自己的 DDNS 伺服器,且 TTL 極低。您甚至可以放棄 DNS 並使用其他方式(例如 HTTP 重定向)來處理家庭設備 IP 的變更。您仍然可以直接透過您的家庭信箱接收電子郵件—當您的家庭 IP 關閉或最近變更時,您可以選擇回退到 VPS。