CentOS 7 postfix dovecot Openwebmail for 加密的 IMAP SMTP

 

CentOS 7:172.20.0.104

Windows 10:172.20.0.102

先設定 DNS Server

主要設定檔 /var/named/chroot/etc/named.conf

zone “vclass.local" {
        type master;
        file “vclass.local.zone";
};

zone “0.20.172.IN-ADDR.ARPA" {
        type master;
        file “172.20.0.zone";
};

正解 /var/named/chroot/var/named/vclass.local.zone

$TTL 86400
@ IN  SOA station.vclass.local. root.station.vclass.local. (
                2017101101      ;serial number
                1H              ;refresh slave
                5M              ;retry refresh
                1W              ;expire zone
                5M              ;cache time-to-live for negative answers
)

@                               IN  NS          station.vclass.local.

vclass.local.                   IN  MX   10 station.vclass.local.

@                                       IN  A           172.20.0.104
station.vclass.local.                   IN  A           172.20.0.104
http://www.vclass.local.                       IN  A           172.20.0.104
mail                                    IN  A           172.20.0.104

反解 /var/named/chroot/var/named/172.20.0.zone

$TTL 86400
@ IN SOA station.vclass.local. root.station.vclass.local. (
                2017101101      ;serial number
                1H              ;refresh slave
                5M              ;retry refresh
                1W              ;expire zone
                5M              ;cache time-to-live for negative answers
)

@                               IN  NS          station.vclass.local.

104.0.20.172.IN-ADDR.ARPA.      IN  PTR         station.vclass.local.

確認名稱解析都正常

image

從 Windows 10 解析也都正常

image

安裝套件 dovecot, postfix

yum install dovecot postfix

image

修改設定檔

/etc/dovecot/conf.d/10-mail.conf

mail_location = mbox:~/mail:INBOX=/var/mail/%u

image

/etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no【禁用純文字認證】

image

/etc/dovecot/dovecot.conf

protocols = pop3 imap【啟動 POP IMAP】

image

/etc/dovecot/conf.d/10-master.conf

service imap-login {
  inet_listener imap {
  }
  inet_listener imaps {
  }
}
service pop3-login {
  inet_listener pop3 {
  }
  inet_listener pop3s {
  }
}
service lmtp {
  unix_listener lmtp {
  }
}
service imap {
}
service pop3 {
}
service auth {
  unix_listener auth-userdb {
  }
  unix_listener /var/spool/postfix/private/auth {
    mode = 0660
    user = postfix
    group = postfix
  }
}
service auth-worker {
}
service dict {
  unix_listener dict {
  }
}

 

image

重新產生 dovecot 憑證

先準備產生憑證的設定檔

/etc/pki/dovecot/dovecot-openssl.cnf

[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no

[ req_dn ]
C=TW

ST=TAIWAN

L=Taipei

#O=Dovecot

OU=IMAP server

CN=mail.vclass.local

emailAddress=alice@vclass.local

[ cert_type ]
nsCertType = server

image

產生 dovecot 憑證

openssl req -new -x509 -nodes -config /etc/pki/dovecot/dovecot-openssl.cnf -out /etc/pki/dovecot/certs/dovecot.pem -keyout /etc/pki/dovecot/private/dovecot.pem -days 3650

chown root:root /etc/pki/dovecot/certs/dovecot.pem /etc/pki/dovecot/private/dovecot.pem

chmod 0600 /etc/pki/dovecot/certs/dovecot.pem /etc/pki/dovecot/private/dovecot.pem

openssl x509 -subject -fingerprint -noout -in /etc/pki/dovecot/certs/dovecot.pem

image

啟動 dovecot

systemctl start dovecot

systemctl enable dovecot

再來換成 postfix

/etc/postfix/main.cf

 

postconf -e “inet_interfaces = all"
postconf -e “myorigin = vclass.local"
postconf -e “mydestination = $myhostname, localhost.$mydomain, localhost, vclass.local, mail.vclass.local"
postconf -e “mynetworks = 172.20.0.0/24″
postconf -e “smtpd_sasl_auth_enable = yes"
# 不開放匿名寄信,for security
# postconf -e “smtpd_sasl_security_options = noanonymous"
postconf -e “smtpd_sasl_type = dovecot"
postconf -e “smtpd_sasl_path = private/auth"
postconf -e “smtpd_recipient_restrictions =  permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination"
postconf -e “smtpd_tls_security_level = may"

postconf -e “smtpd_tls_cert_file = /etc/pki/tls/certs/postfix.pem"
postconf -e “smtpd_tls_key_file = /etc/pki/tls/private/postfix.pem"

image

 

image

/etc/postfix/master.cf

submission inet n       –       n       –       –       smtpd

image

重新產生 postfix 憑證

先準備產生憑證的設定檔

/etc/pki/tls/postfix-openssl.cnf

[ req ]
default_bits = 1024
encrypt_key = yes
distinguished_name = req_dn
x509_extensions = cert_type
prompt = no

[ req_dn ]
C=TW

ST=Taiwan

L=Taipei

#O=Dovecot

OU=SMTP server

CN=mail.vclass.local

emailAddress=alice@vclass.local

[ cert_type ]
nsCertType = server

image

產生 postfix 憑證

openssl req -new -x509 -nodes -config /etc/pki/tls/postfix-openssl.cnf -out /etc/pki/tls/certs/postfix.pem -keyout /etc/pki/tls/private/postfix.pem -days 3650

chown root:root /etc/pki/tls/certs/postfix.pem /etc/pki/tls/private/postfix.pem

chmod 0600 /etc/pki/tls/certs/postfix.pem /etc/pki/tls/private/postfix.pem

openssl x509 -subject -fingerprint -noout -in /etc/pki/tls/certs/postfix.pem

image

重啟服務

systemctl restart postfix

systemctl enable postfix

systemctl start saslauthd

systemctl enable saslauthd

開啟 firewall

firewall-cmd –permanent –add-service=smtp

firewall-cmd –permanent –add-port=587/tcp

firewall-cmd –permanent –add-port=993/tcp

firewall-cmd –permanent –add-port=995/tcp

firewall-cmd –reload

建立測試用的使用者

useradd alice

echo password | passwd alice –stdin

usermod -aG mail alice

useradd bob

echo password | passwd bob –stdin

usermod -aG mail bob &>/dev/null

最後,如果有需要透過 WWW 分享 certificate 的話…

yum -y install httpd

cp /etc/pki/dovecot/certs/dovecot.pem /var/www/html/

chmod 444 /var/www/html/dovecot.pem

systemctl start httpd

systemctl enable httpd

firewall-cmd –permanent –add-service=http

firewall-cmd –reload

先在 Mail Server,使用指令驗證

切換成 alice,以 mutt 登入 imaps

mutt -f imaps://mail.vclass.local

image

image

確認登入的帳號為 alice

image

輸入密碼【password】

image

成功登入

image

驗證 postfix

telnet 172.20.0.104 25

image

打聲招呼

ehlo mail.vclass.local

image

另外開個視窗,產生 base64 encode

perl -MMIME::Base64 -e ‘print encode_base64(“\000alice\000password“);’

image

驗證 SMTP Auth

AUTH PLAIN AGFsaWNlAHBhc3N3b3Jk

image

驗證加密的 SMTP

openssl s_client -starttls smtp -crlf -connect mail.vclass.local:25

image

image

image

Windows 10 內建的郵件

image

Outlook的設定

image

image

image

最後來安裝 Openwebmail

參考文件:https://openwebmail.org/openwebmail/download/centos/el7/00.README.txt

下載 repo

cd /etc/yum.repos.d/

wget ftp://openwebmail.org/pub/openwebmail/el7/openwebmail-el7.repo

檔案 /etc/yum.repos.d/openwebmail-el7.repo

[openwebmail-el7]
name=Open WebMail for EL7
baseurl=ftp://openwebmail.org/pub/openwebmail/el7
enabled=1
gpgcheck=1
gpgkey=ftp://openwebmail.org/pub/openwebmail/RPM-GPG-KEY-openwebmail

直接使用 yum 安裝

yum install openwebmail

初始化

openwebmail-tool –init

修復權限的問題

openwebmail-tool –fix

image

安裝 mod_ssl,走 https 加密連線

yum install mod_ssl

systemctl restart httpd

firewall-cmd –permanent –add-service=https

firewall-cmd –reload

強制進入加密連線,準備的轉址的首頁 /var/www/html/index.html

<html>
<head>
<meta http-equiv="refresh" content="0; url=https://mail.vclass.local/cgi-bin/openwebmail/openwebmail.pl">
</head>
</html>

image

Browser 只需要輸入簡單的網址

image

自動轉向到 Openwebmail 的加密連線

image

image

大功告成!

廣告
張貼在 CentOS 6, CentOS 7, 網路, Linux, RHEL 7, Windows 10 | 發表留言

使用指令 esxcli 將 ESXi 重新開機

 

ESXi 必須要進入 maintenance mode 才能 reboot

image 

ESXi 進入 maintenance mode

esxcli system maintenanceMode set –enable true

ESXi 重新開機

esxcli system shutdown reboot –reason=testing

image

張貼在 虛擬化, View, VMware | 發表留言

vSphere 切換不同 bootbank 開機

 

vSphere 有兩個 bootbank,如果更新失敗,或是安裝 *.vib 有問題的話,可以切換到另一個正常的 bootbank 開機

從 DCUI,【F12】

image

輸入 root 密碼

image

F11 重新開機

image

只有五秒鐘的時間,Shift + R 進入 Recovery mode

image

如果是剛剛升級 vSphere,這個畫面就會是新舊版本的 list

【Y】Roll back

image

選擇【Y】就會 roll back 回去舊版,就是另外一個 bootbank 開機!

張貼在 虛擬化, VMware | 發表留言

用指令查詢 vCenter Server 及 ESXi 的 IP

 

vCenter Server 6.5版【Linux】

作業系統是 VMware 自家的 photon,指令是 ifconfig

image

vSphere 6.5版,啟動 ESX shell 及 SSH,遠端從 vMA 登入,指令是

esxcli network ip interface ipv4 address list

image

張貼在 Bookmark, 網路, 虛擬化, Linux, VMware | 發表留言

ubuntu 16.04 自行建置 APT Server Mirror Site – part 1

 

跟自行建置 CentOS YUM Server 一樣,網路上明明就有現成的 APT Server 可以使用,一則是考量到維護的問題,二是頻寬,三是安全性,還是有可能在企業內部的網路,自行建置 APT Server。

CentOS 6.7 自行建置 YUM Server

YUM Server for RHEL6.0

YUM Server for RHEL 7.0

先 update 到最新的版本

# apt-get update

image

安裝同步用的套件 apt-mirror

# apt-get install apt-mirror

image

編輯設定檔 /etc/apt/mirror.list

# vi /etc/apt/mirror.list

image

image

base_path 是打算放套件的目錄,要確定硬碟空間是否足夠,這次同步用掉了 170GB 左右

記得要先手動建立 /deb 目錄

Mirror的位置,就使用預設值

image

搞定設定檔,就可以第一次同步了

# apt-mirror

image

image

剛剛有提過,大約用掉 170GB 的頻寬+硬碟空間,同步了一天多…

安裝 Apache Web Server,給 client 連線使用

# apt-get install apache2

image

啟動服務

# systemctl start apache2

# systemctl enable apache2

# systemctl status apache2

image

編輯 Apache 設定檔 /etc/apache2/apache2.conf

# vi /etc/apache2/apache2.conf

確認是否開放 Symbolic link 功能,預設是開放,不需要調整

image

建立 Symbolic link,指向同步的目錄 /deb

# ln -s /deb/mirror/archive.ubuntu.com/ubuntu /var/www/html/ubuntu

image

確認一下跟官網內容是否相同?

http://archive.ubuntu.com/ubuntu/ubuntu/

http://localhost/ubuntu/

image

image

換成用 IP address 瀏覽

image

image

修改 APT Server,指向自行建置的 APT Server

# sed -i ‘s/tw\.archive\.ubuntu\.com/172\.20\.0\.103/g’ /etc/apt/sources.list

image

【未完成,待續…】

張貼在 CentOS 6, CentOS 7, 網路, Linux, RHEL 6, RHEL 7, ubuntu | 發表留言

ubuntu 16.04 安裝 Apache Web Server

 

先安裝套件

sudo apt-get install apache2

image

啟動服務

sudo systemctl start apache2

sudo systemctl enable apache2

sudo systemctl status apache2

image

確認 firewall 是否開放?

sudo iptables -t filter -L –n

image

ubuntu 16.04 還是使用 iptables 指令,並不支援 firewall-cmd 指令。

切到 Windows 10,用瀏覽器確認網頁是否正常?

image

客製化首頁

image

image

切換到 Windows 10 瀏覽網頁

image

ubuntu 16.04 雖然還是使用 init,傳統的服務控制方式也依然有效,但是,竟然也支援 systemctl,真是神奇!

傳統的手動啟動/停止服務的方式

sudo /etc/init.d/apache2 start

sudo /etc/init.d/apache2 stop

sudo /etc/init.d/apache2 status

image

控制服務開機後自動啟動,圖形版 bum

sudo apt-get install bum

image

sudo bum

image

控制服務開機後自動啟動,文字版 sysv-rc-conf

sudo apt-get install sysv-rc-conf

image

sudo sysv-rc-conf

image

image

控制服務的傳統方式,可以參考這篇:ubuntu 12.04 LTS desktop 64位元版本 – 安裝 SSH Server

張貼在 Bookmark, CentOS 7, 網路, Linux, RHEL 7, ubuntu | 發表留言

VMware Workstation 12.x + ubuntu 16.04 + NAT 不 work

 

ubuntu 16.04 的網路設定,跟之前的舊版一樣,可以參考這篇:ubuntu 12.04 LTS desktop 64位元版本 – 網路設定

將網卡改名為 eth0,參考這篇:ubuntu 16.04,將網卡改回 eth0

使用 VMware Workstation 12.剛剛安裝完 ubuntu 16.04,網路選擇 NAT,結果卻不通…

image

image

問了一下 Google 大神,發現很多人也有這個問題…

Configuring Ubuntu vmware guest NAT

Ubuntu 16.04 + Workstation 12.5.5 + NAT + Static IP on Guest – am i doing it wrong? –> 這篇是最接近的狀況,可惜還是沒有解決…

VMware Workstation 的 release note 有提到一些 ubuntu 虛擬機的狀況

image

搞了半天依舊是無解,一直到不小心將網路設定,手動指定成 NAT 的網卡

image

ubuntu 的網路竟然就通了,這是甚麼怪魔法…@#$%^%$#@#

image

張貼在 Bookmark, 網路, Linux, ubuntu | 發表留言