~ এন্ডলেস এইট ~ মাতাল অবস্থায় Vultr থেকে ConoHa-তে FreeBSD পরিবেশ স্থানান্তর করা ~ ওয়াইল্ডকার্ড দিয়ে পড়া যাচ্ছে না এমন SigningTable ~

9 min

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

হ্যালো, এটি আগেরটির ধারাবাহিকতা। শিরোনামটি 'মাতাল' হলেও আমি আর মাতাল নই।

জিমেইলে পৌঁছাচ্ছে না!

আহ, আমি সমস্যায় পড়েছি।
tail -f /var/log/maillog দেখতে দেখতে লড়াই করছি...

opendkim[1853]: can’t load key from /var/db/dkim/eyes4you.org.private: Permission denied

ওহ... মনে হচ্ছে অনুমতির অভাব।
আমি ভুলে গিয়েছিলাম যে FreeBSD-এর dmarc/dkim-এর ডিফল্ট ব্যবহারকারী হল 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)
~~~

এটা এসেছে~~~~!!!! আমি পেরেছি!

এসপিএফ রেকর্ড, এটি আমাকে সমস্যায় ফেলছে...

মনে হচ্ছে, যদি IPv6 সক্রিয় থাকে, তাহলে SPF রেকর্ডেও IPv6 সক্রিয় করতে হবে।
আগে আমি পারফরম্যান্সের উদ্বেগের কারণে এটি সম্পূর্ণরূপে বন্ধ করে দিয়েছিলাম, কিন্তু এখন আমি আর চিন্তা করছি না, তাই আমি এটি নিবন্ধন করব।

v=spf1 ip4:এখানে IPv4 ip6:এখানে IPv6 -all

উল্লেখ্য, আমি সম্প্রতি জানতে পেরেছি যে ব্রাউজার থেকে লোকালহোস্টে IPv6 অ্যাক্সেস করার সময়, এটি http://[এখানে:IPv6:দিন]:80 এর মতো [ ] দিয়ে ঘিরে খুলতে পারে।
এটি লুকানোর আর কোন মানে নেই, তবে এটি দেখতে এমন।

Image

ভিপিএন-এর মাধ্যমে কিছু ওয়্যারগার্ডের বাইরে রাখা

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"

# প্রতিটি ডোমেনের আইপি ঠিকানা পান এবং রাউটিং যোগ করুন
for DOMAIN in "${DOMAINS[@]}"; do
  # ডোমেনের আইপি ঠিকানা পান
  IP_ADDRESSES=$(dig +short $DOMAIN | grep [0-9])

  # প্রতিটি আইপি-এর জন্য রাউটিং যোগ করুন
  for IP in $IP_ADDRESSES; do
    route add $IP $GATEWAY
  done
done

তবে, এইবার IPv6-ও প্রয়োজন, তাই সতর্ক থাকুন।

এনজিনক্স

এনজিনক্স লগ রোটেট

আমি 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 দিয়ে সম্পন্ন করুন।
ব্যাকএন্ডটি ওয়্যারগার্ডের অভ্যন্তরীণ আইপি-এর দিকে নির্দেশিত, তাই ক্লায়েন্ট সাইডে ওয়্যারগার্ড সার্ভারকে ConoHa-এর দিকে নির্দেশ করলেই হবে।
তবে, এইবার আমি NS কে ConoHa-তে সেট করার পরিকল্পনা করছি, যা সত্যিই বিরক্তিকর। 10টিরও বেশি ডোমেন থাকার কষ্ট এখন দেখা যাচ্ছে...
আশ্চর্যজনকভাবে, ConoHa DNS রেকর্ড পরিবর্তনের জন্য একটি API প্রকাশ করেছে, তাই এই কাজ শেষ হওয়ার পরে আমি একটি টুল তৈরি করতে চাই যা একসাথে DNS পরিবর্তন করতে পারে।
জোন ফাইল ইম্পোর্ট | ConoHa ডকুমেন্টেশন সাইট

এর পরে, আমি স্থিরভাবে হোস্ট করা ফাইলগুলি এবং ইমেল ডিরেক্টরিগুলি আমার হোস্ট মেশিনের মাধ্যমে ConoHa-তে পাঠাব... এবং শেষ!
অবশেষে, fail2ban এর জন্য, আমি WireGuard-এর সাথে ক্লায়েন্ট-সাইড যোগাযোগ নিশ্চিত করার পরেই এটি করব। তাহলে, আবার দেখা হবে।

Related Posts