~ एंडलेस एट ~ नशे में धुत होकर Vultr से ConoHa में FreeBSD वातावरण का माइग्रेशन ~ SigningTable जिसे वाइल्डकार्ड के साथ नहीं पढ़ा जा सकता ~
नमस्ते, यह पिछले वाले का सिलसिला है। शीर्षक में 'नशे में धुत' लिखा है, लेकिन अब मैं नशे में नहीं हूँ।
जीमेल तक नहीं पहुँच रहा!
ओह, मैं मुश्किल में पड़ गया।tail -f /var/log/maillog देखते हुए संघर्ष कर रहा हूँ...
opendkim[1853]: /var/db/dkim/eyes4you.org.private से कुंजी लोड नहीं कर सकता: अनुमति अस्वीकृत
ओह... ऐसा लगता है कि अनुमति की कमी है।
मैं भूल गया था, लेकिनdmarc/dkim के लिए FreeBSD का डिफ़ॉल्ट उपयोगकर्ताmailnull है।
root@localhost:/usr/local/etc # grep -r mailnull
./rc.d/opendmarc:opendmarc_runas=${opendmarc_runas-"mailnull:mailnull"}
./rc.d/milter-opendkim:: ${milteropendkim_uid:="mailnull"}
./rc.d/milter-opendkim:: ${milteropendkim_gid:="mailnull"}
./rc.d/milter-manager:: ${miltermanager_uid="mailnull"}
इसका मतलब है कि opendkim को निजी कुंजी पढ़ने में सक्षम होना चाहिए।
पिछली बार भी मैंनेmail.eyes4you.org औरeyes4you.org के साथ गलती से बनाया था, इसलिए मैं इसे पूरी तरह से नया बनाने का फैसला करता हूँ।
वैसे, पिछली सेटिंग्स भी गलत थीं और ConoHa में पंजीकृत रिकॉर्ड भी गलत थे।
# opendkim-genkey -d eyes4you.org -s mail -D /var/db/dkim/
# cat /var/db/dkim/mail.txt # इसकी सामग्री को TXT रिकॉर्ड में जोड़ें
mail._domainkey IN TXT ( "v=DKIM1; k=rsa; "
"p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFdu/VfVVHqUN84IZh739JVf8NW6HAmMBT3+NBcTmkwOGLQ4ye59wvN83CudtnHPKR9vdtL9kJusaWk6wm0HXtZ64dVkjZxg61vrwPWw25Pe1eAkrs8EkdqnCLfeHtsU2g7dBD+gjbJgOKdAhIocPQYQYio0kyMn8M/MlGP60eQQIDAQAB" ) ; ----- DKIM key mail for eyes4you.org
उसके बाद, मैं अनुमतियाँ प्रदान करता हूँ।
chown mailnull:mailnull /var/db/dkim/mail.private
chmod 600 /var/db/dkim/mail.private
यह सरल है।
इस बार मैंने केवल वाइल्डकार्ड का उपयोग किया।
root@localhost:/usr/local/etc/mail # cat SigningTable
*@eyes4you.org mail._domainkey.eyes4you.org
root@localhost:/usr/local/etc/mail # cat KeyTable
mail._domainkey.eyes4you.org eyes4you.org:mail:/var/db/dkim/mail.private
root@localhost:/usr/local/etc/mail #
अब रीस्टार्ट करें
service milter-opendkim restart
service postfix restart
tail -f /var/log/maillog
इसके साथ, मैं ईमेल भेजता हूँ, लेकिन यह बार-बार जीमेल के स्पैम फ़ोल्डर में चला जाता है...
लॉग देखने पर
Sep 14 10:59:04 localhost opendkim[974]: B855A20079: no signing table match for 'hoge@eyes4you.org'
ऐसा होता है। मुझे याद है कि मैं इसमें फंस गया था और मैंनेhoge@eyes4you.org कोKeyTable में स्पष्ट रूप से लिखा था...
लेकिन मैं वाइल्डकार्ड निर्दिष्ट करना चाहता हूँ।
मैं कुछ साइटों पर गया और यहाँ पहुँचा।
मैंने इसे पहले भी देखा था...
centos6.3 के opendkim में "no signing table match" दिखाता है | CHOICE
यदि आप SigningTable /etc/opendkim/SigningTable का उपयोग कर रहे हैं, तो इसे testserver.com default._domainkey.testserver.com के रूप में कॉन्फ़िगर करें। या, यदि आप SigningTable refile:/etc/opendkim/SigningTable का उपयोग कर रहे हैं, तो इसे *@testserver.com default._domainkey.testserver.com के रूप में कॉन्फ़िगर करें।
तो, इसका मतलब है
root@localhost:/usr/local/etc/mail # cat opendkim.conf
##
## opendkim.conf -- configuration file for OpenDKIM filter
##
## Copyright (c) 2010-2015, The Trusted Domain Project. All rights reserved.
##
Canonicalization simple/simple
Domain eyes4you.org
LogWhy yes
Mode sv
ReportAddress "DKIM Error Postmaster" <postmaster@eyes4you.org>
Selector default
SendReports yes
Socket inet:8891@localhost
SubDomains yes
Syslog Yes
SyslogSuccess yes
UMask 002
InternalHosts /usr/local/etc/mail/TrustedHosts
SigningTable refile:/usr/local/etc/mail/SigningTable # ← यहाँ
KeyTable /usr/local/etc/mail/KeyTable
लॉग देखें
root@localhost:/usr/local/etc/mail # tail -f /var/log/maillog
~~~
Sep 14 12:14:52 localhost opendkim[3772]: 21A8E20293: DKIM-Signature field added (s=mail, d=eyes4you.org)
~~~
यह आ गया है~~~~!!!! मैंने कर दिखाया!
SPF रिकॉर्ड, मुझे डाँट पड़ रही है...
ऐसा लगता है कि यदि IPv6 सक्षम है, तो SPF रिकॉर्ड में भी IPv6 को सक्षम करना आवश्यक था।
पहले मैंने प्रदर्शन संबंधी चिंताओं के कारण इसे पूरी तरह से बंद कर दिया था, लेकिन अब मुझे इसकी परवाह नहीं है, इसलिए मैं इसे पंजीकृत करूँगा।
v=spf1 ip4:यहाँ IPv4 ip6:यहाँ IPv6 -all
वैसे, मैंने हाल ही में सीखा कि जब आप ब्राउज़र से एक्सेस करते हैं, तो लोकलहोस्ट पर IPv6 को http://[यहाँ:IPv6:को]:80 की तरह[ ] में घेरने पर खोला जा सकता है।
अब इसे छिपाने का कोई मतलब नहीं है, लेकिन यह कुछ ऐसा दिखता है।

VPN में WireGuard से कुछ को बाहर करना
OpenAI जैसी सेवाओं को VPN संचार के माध्यम से एक्सेस करने पर समस्या होती है, इसलिए मैं उन्हें VPN संचार के बिना एक्सेस करूँगा।
cd /usr/local/
mkdir sh
cd sh
vim route.sh
और निम्नलिखित दर्ज करें
#!/usr/local/bin/bash
# सूची में डोमेन परिभाषित करें
DOMAINS=("chat.openai.com" )
# डिफ़ॉल्ट गेटवे
GATEWAY="इस मामले में ifconfig के vtnet0 का inet"
# प्रत्येक डोमेन के IP पते प्राप्त करें और रूटिंग जोड़ें
for DOMAIN in "${DOMAINS[@]}"; do
# डोमेन का IP पता प्राप्त करें
IP_ADDRESSES=$(dig +short $DOMAIN | grep [0-9])
# प्रत्येक IP के लिए रूटिंग जोड़ें
for IP in $IP_ADDRESSES; do
route add $IP $GATEWAY
done
done
हालांकि, इस बार IPv6 की भी आवश्यकता है, इसलिए सावधान रहें।
Nginx
Nginx लॉग रोटेशन
मैंने Vultr के FreeBSD का उपयोग करते समय देखा कि डिफ़ॉल्ट लॉग रोटेशन नहीं था और लॉग भर गए थे।
FreeBSD में, इसे/etc/newsyslog.conf में कॉन्फ़िगर किया जा सकता है, इसलिए निम्नलिखित जोड़ें।
/var/log/nginx/access.log root:wheel 640 7 * @T00 Z
/var/log/nginx/error.log root:wheel 640 7 * @T00 Z
फिर मैंconf फ़ाइलों को स्थानांतरित करूँगा। ConoHa Vultr को ब्लॉक कर रहा है, जो परेशानी भरा है, लेकिन मैं इसे वर्तमान मशीन के माध्यम से अग्रेषित करूँगा।
thepassenger:[haturatu]:~/migrate-freebsd$ scp darkstar@vultr-freebsd:/home/darkstar/nginx.tar.gz .
nginx.tar.gz 100% 14KB 167.8KB/s 00:00
thepassenger:[haturatu]:~/migrate-freebsd$ scp nginx.tar.gz root@conoha-freebsd:/root/
nginx.tar.gz 100% 14KB 129.1KB/s 00:00
डिफ़ॉल्ट/usr/local/etc/nginx को हटाएँ औरmv के साथ पूरा करें।
बैकएंड WireGuard के आंतरिक IP की ओर इशारा कर रहा है, इसलिए क्लाइंट साइड पर WireGuard सर्वर को ConoHa की ओर इंगित करना पर्याप्त है।
हालांकि, इस बार NS को ConoHa बनाने की योजना है, जो वास्तव में परेशानी भरा है। 10 से अधिक डोमेन होने की कठिनाई सामने आती है...
अच्छी बात यह है कि ConoHa ने DNS रिकॉर्ड बदलने के लिए एक API जारी किया है, इसलिए मैं इस काम के पूरा होने के बाद एक ऐसा टूल बनाना चाहता हूँ जो एक साथ DNS बदल सके।
ज़ोन फ़ाइल आयात करें|ConoHa दस्तावेज़ साइट
और फिर, मैं किसी तरह स्थिर रूप से होस्ट की गई चीज़ों और ईमेल निर्देशिका को अपनी होस्ट मशीन के माध्यम से ConoHa की ओर भेजता हूँ... और यह हो गया!
अंत में, fail2ban के लिए, मैं इसे तब तक रोकूँगा जब तक WireGuard के साथ क्लाइंट-साइड संचार की पुष्टि नहीं हो जाती। फिर मिलेंगे।