你必須懂的postfix+amavisd擋廣告順序

就連我都會誤解!
以為只要在postfix的main.cf裡面設定各式各樣的擋廣告方式(包含參考黑名單網站),就可以高枕無憂了,
可是事情並不是我們憨人想得這麼簡單
擋廣告總有順序的.

  1. amavisd 優先
    這部分很重要,有時候很多廣告商,都利用gmail , amazons發送廣告信, amavisd 很容易直接pass, 要解決這問題, 就只能土法煉鋼, 將廣告的網域,email寫到amavisd的黑名單上.
  2. postfix 次要
    若amavisd認定pass , 這邊再怎麼設定都沒用, 因為根本不會跑到這裡來.
    若amavisd沒有認定pass, 也沒認定是廣告(分數不足), 就會跑到這裡來,

我的設定, 就是讓amavisd可以定義黑白名單, 接下來才是設定postfix本身的名單限制
推薦看一下我製作的docker mail server設定
https://github.com/WilliamFromTW/docker-Postfix-AD

啟用postgrey心得

因為postgrey的機制會造成收信延遲, 所以必須設定白名單,與自動白名單,讓常用的郵件不再受限制.
1.白名單可在/etc/postfix/postgrey_whitelist_clients.local 新增
2.自動白名單,以centos 7為例子, 可在 /etc/sysconfig/postgrey 新增, 意指35天內,只要成功三次,就會一直是白名單成員
POSTGREY_OPTS="--delay=60 --auto-whitelist-clients=5 --max-age=35"

tar 備份檔案,成功後刪除原檔案

將特定目錄下的所有檔案壓縮,
原本直接使用bzip2就可以了,直接將檔案壓起來, 但是我遇到nfs掛載,權限設定的限制,因此無法使用.
後來改用tar, 可以成功產生一個新的壓縮檔案, 但是原本檔案卻還在,會變成多餘
爬文發現tar有刪除原檔案的指令, 因此記錄下來

!/bin/sh
cd /u3/backup/exp/`date +'%d'`
for fich in *.dmp; do
tar -jcvf $fich.tar.bz2 --remove-files $fich
done

cetnos 7 + postfix 新增dkim功能

  1. 安裝

rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install -y opendkim

  1. 產生private key與dns的TXT Record

opendkim-genkey -d <domain name>
cp default.* /etc/opendkim/keys
chown -R opendkim:opendkim /etc/opendkim

  1. 修改/etc/opendkim.conf
    確認該設定檔案有以下的設定( KeyFile /etc/opendkim/keys/default.private 要mark起來 )

Mode sv
Socket inet:8891@127.0.0.1
Canonicalization relaxed/simple
Domain <domain name>
#KeyFile /etc/opendkim/keys/default.private
KayTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts

  1. 修改 /etc/opendkim/KayTable

default._domainkey.<domain name> <domain name>:default:/etc/opendkim/keys/default.private

以 test.com 為例子

default._domainkey.test.com test.com:default:/etc/opendkim/keys/default.private

  1. 修改 /etc/opendkim/SigningTable

*@<domain name> default._domainkey.<domain name>

以test.com為例子

*@test.com default._domainkey.test.com

  1. 修改 /etc/opendkim/TrustedHosts

127.0.0.1
<mail host name>
<domain name>

以 test.com 為例子

127.0.0.1
mail.test.com
test.com

  1. 新增以下設定 /etc/postfix/main.cf

smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept

  1. 啟用service

systemctl start opendkim ; systemctl enable opendkim ; systemctl restart postfix

  1. 測試
    • opendkim-testkey -x /etc/opendkim.conf 若無錯誤訊息代表成功
    • 測試網站 https://www.appmaildev.com/

vim 的virsual mode , 如何滑鼠按右鍵就複製

其實我也很不懂vim的v-mode , virsual mode , 反正屎用docker時候, 好多container 需要另外安裝vim ,
安裝結束後, 我就卡關了 XD ,
因為我習慣按滑鼠右鍵, 就把複製的文字貼上去 , 但是常常出現(insert) virsual 錯誤無法貼上
網上找了好久, 找到一種方式, 輸入 set mouse-=a , 就可以解決了

https://gist.github.com/u0d7i/01f78999feff1e2a8361

pve 無法移除自身zfs的vm檔案

查看zfs的狀態

root@pve:/dev/zvol/zdata# zpool status
   pool: zdata
  state: ONLINE
   scan: scrub repaired 0B in 2h35m with 0 errors on Sun Mar  8 02:59:48 2020
 config:
 NAME                                           STATE     READ WRITE CKSUM zdata                                          ONLINE       0     0     0   mirror-0                                     ONLINE       0     0     0     wwn-0xDC_WD10EZEX-08WN4A0_WD-WCC6Y3LRYL6X  ONLINE       0     0     0     wwn-0xDC_WD10EZEX-08WN4A0_WD-WCC6Y2SYFNY2  ONLINE       0     0     0
 errors: No known data errors

查看zfs的檔案

root@pve:/dev/zvol/zdata# zfs list -t volume
 NAME                  USED  AVAIL  REFER  MOUNTPOINT
 zdata/vm-100-disk-0  33.0G   175G    56K  -
 zdata/vm-100-disk-1   683G   142G   683G  -
 zdata/vm-101-disk-0  27.0G   142G  27.0G  -
 zdata/vm-102-disk-0  10.3G   142G  10.3G  -
 zdata/vm-103-disk-0  4.12G   142G  4.12G  -

刪除某個vm, 但是失敗

root@pve:/dev/zvol/zdata# zfs destroy zdata/vm-103-disk-0
 cannot destroy 'zdata/vm-103-disk-0': dataset is busy

停用 multipathd 服務, 然後再刪除看看, 結果成功

root@pve:/dev/zvol/zdata# systemctl stop multipathd.service
 Warning: Stopping multipathd.service, but it can still be activated by:
   multipathd.socket
root@pve:/dev/zvol/zdata# zfs destroy zdata/vm-103-disk-0
root@pve:/dev/zvol/zdata# zfs list -t volume
 NAME                  USED  AVAIL  REFER  MOUNTPOINT
 zdata/vm-100-disk-0  33.0G   179G    56K  -
 zdata/vm-100-disk-1   683G   146G   683G  -
 zdata/vm-101-disk-0  27.0G   146G  27.0G  -
 zdata/vm-102-disk-0  10.3G   146G  10.3G  -
 root@pve:/dev/zvol/zdata# 
1 2 3 ... 7