~ एंडलेस एट ~ नशे में धुत होकर Vultr से ConoHa में FreeBSD वातावरण का माइग्रेशन ~ SigningTable जिसे वाइल्डकार्ड के साथ नहीं पढ़ा जा सकता ~

10 min

language: ja bn de en es fr hi ko pt ru zh-cn zh-tw

नमस्ते, यह पिछले वाले का सिलसिला है। शीर्षक में 'नशे में धुत' लिखा है, लेकिन अब मैं नशे में नहीं हूँ।

जीमेल तक नहीं पहुँच रहा!

ओह, मैं मुश्किल में पड़ गया।
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 की तरह[ ] में घेरने पर खोला जा सकता है।
अब इसे छिपाने का कोई मतलब नहीं है, लेकिन यह कुछ ऐसा दिखता है।

Image

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 के साथ क्लाइंट-साइड संचार की पुष्टि नहीं हो जाती। फिर मिलेंगे।

Related Posts