unbound和mail服務的部署和簡單應用
1、服務的介紹
Unbound是一個快取DNS解析器。 ofollow,noindex">unbound官網
它使用根區域的內建權威名稱伺服器列表 (。),所謂的根提示。在收到DNS查詢時,它會詢問 答案的根名稱伺服器,幾乎在所有情況下都會收到 授權給頂級域名(TLD)權威名稱伺服器。它 然後會詢問名稱伺服器的答案。它將以遞迴方式進行 直到找到答案或沒有答案(NXDOMAIN)。 出於效能和效率的原因,答案被快取為cer- 時間(答案的生存時間或TTL)。第二個查詢 然後將從快取中回答相同的名稱。不受約束也可以 DNSSEC驗證。 相傳他的開發者是一位牙醫,不知是否為真。
postfix這是 Wietse Venema開發的 郵件伺服器
postfix是Wietse Venema想要為使用最廣泛的提供替代品的一個嘗試。在Internet世界中,大部分的電子郵件都是通過sendmail來投遞的,大約有100萬用戶使用sendmail,每天投遞上億封郵件。這真是一個讓人吃驚的數字。Postfix試圖更快、更容易管理、更安全,同時還與sendmail保持足夠的相容性。 來自百度文獻
2、環境介紹
server端: [root@100 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.1 (Maipo) [root@100 ~]# hostname 100.hzy.com [root@100 ~]# ip a |grep inet inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 192.168.137.100/24 brd 192.168.137.255 scope global eno16777736 inet6 fe80::20c:29ff:feac:5681/64 scope link client端: [root@200 ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.1 (Maipo) [root@200 ~]# hostname 200.hzy.com [root@200 ~]# ip a |grep inet inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 192.168.137.200/24 brd 192.168.137.255 scope global eno16777736 inet6 fe80::20c:29ff:febb:c0b0/64 scope link
3、安裝和部署unbound服務
安裝 yum install -y unbound [root@100 ~]# rpm -ql unbound |grep etc /etc/sysconfig/unbound /etc/tmpfiles.d/unbound.conf /etc/unbound/conf.d /etc/unbound/conf.d/example.com.conf /etc/unbound/keys.d /etc/unbound/keys.d/example.com.key /etc/unbound/local.d /etc/unbound/local.d/block-example.com.conf /etc/unbound/unbound.conf 找到unbound.conf修改其配置 server: verbosity: 1 statistics-interval: 0 statistics-cumulative: no extended-statistics: yes num-threads: 2 #執行緒數 interface: 0.0.0.0 #可以是本地個任意埠ip interface-automatic: no #自動選擇埠 port: 53 #埠53相應資料包 access-control: 0.0.0.0/0 allow #相應來自所有網段的資料包 chroot: "" #虛擬目錄 username: "unbound" #指定的系統使用者安裝預設建立 directory: "/etc/unbound" #配置檔案所在的目錄 log-time-ascii: yes #日誌的同步時間戳 pidfile: "/var/run/unbound/unbound.pid" #這個服務的系統pid值 harden-glue: yes# harden-dnssec-stripped: yes harden-below-nxdomain: yes harden-referral-path: yes use-caps-for-id: no unwanted-reply-threshold: 10000000 prefetch: yes prefetch-key: yes rrset-roundrobin: yes minimal-responses: yes dlv-anchor-file: "/etc/unbound/dlv.isc.org.key" trusted-keys-file: /etc/unbound/keys.d/*.key auto-trust-anchor-file: "/var/lib/unbound/root.key" val-clean-additional: yes val-permissive-mode: no val-log-level: 1 include: /etc/unbound/local.d/*.conf #讀取的解析檔案路徑 remote-control: #dns的控制設定 control-enable: yes server-key-file: "/etc/unbound/unbound_server.key" server-cert-file: "/etc/unbound/unbound_server.pem" control-key-file: "/etc/unbound/unbound_control.key" control-cert-file: "/etc/unbound/unbound_control.pem" # Stub and Forward zones include: /etc/unbound/conf.d/*.conf 他的解析檔案在 include: /etc/unbound/local.d/*.conf [root@100 ~]# cat /etc/unbound/local.d/aa.conf local-zone: "hzy.com." static#設定靜態的域 ##這一行是dns的預設引數設定可以不寫 local-data: "hzy.com. NS 100.hzy.com." #指定這個域裡的dns伺服器 local-data: "hzy.com. MX 5 100.hzy.com." #指定這個域裡的mail伺服器 local-data: "mail.hzy.com. IN A 192.168.137.100" local-data: "200.hzy.com. IN A 192.168.137.200" local-data: "www.hzy.com. IN A 192.168.137.200" local-data: "ftp.hzy.com. IN A 192.168.137.200" local-data-ptr: "192.168.137.200 200.hzy.com" local-data-ptr: "192.168.137.200 www.hzy.com" [root@100 ~]# firewall-cmd --add-port=53/tcp --permanent [root@100 ~]# firewall-cmd --reload 測試 [root@200 ~]# nslookup mail.hzy.com Server:192.168.137.100 Address:192.168.137.100#53 Name:mail.hzy.com Address: 192.168.137.100 [root@200 ~]# nslookup www.hzy.com Server:192.168.137.100 Address:192.168.137.100#53 Name:www.hzy.com Address: 192.168.137.200
4、配置postfix服務並使用dovecot收件服務測試
安裝 [root@100 ~]# yum install -y dovecot postfix ##在redhat系統中預設postfix是安裝的 編輯/etc/postfix/main.cf [root@100 ~]# grep -v "#" /etc/postfix/main.cf |grep -v "^$" queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix mail_owner = postfix myhostname = 100.hzy.com mydomain = hzy.com myorigin = hzy.com inet_interfaces = all inet_protocols = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain unknown_local_recipient_reject_code = 550 mynetworks = 0.0.0.0/0 alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases home_mailbox = Maildir/ smtpd_banner = $myhostname ESMTP $mail_name debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.10.1/samples readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES message_size_limit = 10485760 mailbox_size_limit = 1073741824 smtpd_sasl_type = dovecot smtpd_sasl_path = private/auth smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_sasl_local_domain = $myhostname smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject 引數 作用 myhostname 郵局系統的主機名 mydomain 郵局系統的域名 myorigin 從本機發出郵件的域名名稱 inet_interfaces 監聽的網絡卡介面 mydestination 可接收郵件的主機名或域名 mynetworks 設定可轉發哪些主機的郵件 relay_domains 設定可轉發哪些網域的郵件 具體引數設定參考的是# [centos7搭建postfix郵件伺服器](https://www.cnblogs.com/operationhome/p/9056870.html) 編輯/etc/dovecot/dovecot.conf 將監聽的型別改成* [root@100 ~]# grep -v '#' /etc/dovecot/dovecot.conf |grep -v "^$" listen = * dict { } !include conf.d/*.conf !include_try local.conf 編輯/etc/dovecot/conf.d/10-auth.conf [root@100 ~]# grep -v '#' /etc/dovecot/conf.d/10-auth.conf |grep -v "^$" disable_plaintext_auth = no ##開啟明碼文字認證 auth_mechanisms = plain login !include auth-system.conf.ext 編輯/etc/dovecot/conf.d/10-mail.conf 找到並修改mail_location = maildir:~/Maildir 編輯/etc/dovecot/conf.d/10-master.conf 89# unix_listener auth-userdb { 90#mode = 0666 91#user = 92#group = 93 #} 94 unix_listener /var/spool/postfix/private/auth { 95 mode = 0666 96 user = postfix 97 group = postfix 98 } 編輯/etc/dovecot/conf.d/10-ssl.conf 因為沒有設定ssl加密,所以ssl的值修改為 ssl = no [root@100 ~]# systemctl enable dovecot ln -s '/usr/lib/systemd/system/dovecot.service' '/etc/systemd/system/multi-user.target.wants/dovecot.service' [root@100 ~]# systemctl start dovecot.service
5、使用Foxmail測試
使用系統使用者:建議使用非登入系統使用者 [root@100 ~]# id bob uid=1001(bob) gid=1001(bob) 組=1001(bob) [root@100 ~]# id goudan uid=1002(goudan) gid=1002(goudan) 組=1002(goudan)

image.png

image.png

image.png

image.png
---END---