postfix遠端寄信

這個版面主要討論 debian 在 server 端的應用問題, server 種類繁多..舉凡 Web Server 、 File Server、 DHCP Server..等等。

版主: 阿信

postfix遠端寄信

文章andrechen » 週日 3月 23, 2003 1:01 am

參照阿信兄之前解說的方法與鳥哥的linux私房菜-postfix 的設定技巧與安裝
http://linux.vbird.org/linux_server/0390postfix.php

目前進度如下(我測試過3、4次,應該沒什麼問題)

Postfix 遠端寄信方法

一、使用 postfix+sasl2 認證(採用 pam 認證方式),目前僅在 debian 3.0 testing 成功

1.安裝 postfix-tls sasl2-bin libsasl2-digestmd5-plain libsasl2-modules-plain

※libsasl2-digestmd5-plain 應該可以不用安裝,outlook express 是採用 plain 的方式認證,我移除掉後還是可以寄信
※注意:若在 stable 時安裝了 postfix 與 postfix-tls,系統內會多出 sasl-bin、libsasl-modules-plain、libsasl-gssapi-mit、libsasl-digestmd5-des、libkrb53、libsasl7

2.設定saslauthd

編輯/etc/default/saslauthd

START=yes
MECHANISMS=pam

3.新增 /etc/postfix/sasl/smtpd.conf

加入 pwcheck_method: saslauthd

4.將 /var/run/saslauthd 的 目錄 owner 修改一下

chown postfix:postfix /var/run/saslauthd

5.修改 /etc/postfix/main.cf 加入以下字串(加在最後面或是像我是加在 mynetworks 之後)

smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous

6.修改/etc/postfix/master.cf

找到
smtp inet n - - - - smtpd

修改成
smtp inet n - n - - smtpd

7.重新啟動 saslauthd 和 postfix

/etc/init.d/saslauthd restart
/etc/init.d/postfix restart

二、使用 pop-before-smtp,debian 3.0 stable 與 testing 都可以

1.安裝 pop-before-smtp 套件

2.修改 /etc/postfix/main.cf
在 mynetworks 後加入 hash:/var/lib/pop-before-smtp/hosts
例如 mynetworks = 127.0.0.0/8, 192.168.0.0/16, bash:/var/lib/pop-before-smtp/hosts

新增
smtpd_recipient_restrictions = permit_mynetworks,reject_non_fqdn_recipient,check_client_access hash:/var/lib/pop-before-smtp/hosts,check_relay_domains

3.重新啟動 postfix
/etc/init.d/postfix restart

目前碰到的問題是 postfix+sasl2 認證在 debian 3.0 stable 上還是不行,mail.err 會顯示 no sasl,一定要安裝 sasl 1.5 後,postfix 才能正常啟動,但是這樣就會造成認證失敗,mail.err 訊息顯示找不到 sasldb 檔。

但是升級到 testing 後,就可以將 sasl-bin、libsasl-modules-plain、libsasl-gssapi-mit、libsasl-digestmd5-des、libkrb53 等安裝 postfix-tls 時系統自行安裝的檔案移除,而且 stable 系統預設無法移除的 libsasl7 也可以移除。然後重新啟動 saslauthd 和 postfix,認證就可以成功了。

前前後後摸了幾個月了,還是無法在 debian 3.0 stable 下成功使用 postfix + sasl2 認證,真的快認輸了,有誰能給一個方向?
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

re:postfix遠端寄信

文章阿信 » 週日 3月 23, 2003 9:14 am

Perfect!!!

感謝andre兄無私的貢獻。

關於最後的問題,小弟解釋一下,因為stable中的postfix-tls是用libsasl7(也就是sasl1)來編譯的。

如果說抓source 回來自己編譯且搭配sasl2是可以work的。

andre兄在stable中是否全部都是用debian port tree呢?如果是的話,那就沒錯了。

testing目前還是用postfix-tls + sasl2呢。

之前的mailing list有很多討論是跟postfix + sasl2 in testing相關,而目前我看到的結果都是在master.cf中,要指定postfix不能chroot,也就是andre兄所寫的。

小弟會在測試看看chroot的情況。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

Re: postfix遠端寄信

文章阿信 » 週日 3月 23, 2003 9:19 am

andrechen 寫:參照阿信兄之前解說的方法與鳥哥的linux私房菜-postfix 的設定技巧與安裝
http://linux.vbird.org/linux_server/0390postfix.php

目前進度如下(我測試過3、4次,應該沒什麼問題)

Postfix 遠端寄信方法

一、使用 postfix+sasl2 認證(採用 pam 認證方式),目前僅在 debian 3.0 testing 成功

1.安裝 postfix-tls sasl2-bin libsasl2-digestmd5-plain libsasl2-modules-plain

※libsasl2-digestmd5-plain 應該可以不用安裝,outlook express 是採用 plain 的方式認證,我移除掉後還是可以寄信
※注意:若在 stable 時安裝了 postfix 與 postfix-tls,系統內會多出 sasl-bin、libsasl-modules-plain、libsasl-gssapi-mit、libsasl-digestmd5-des、libkrb53、libsasl7

2.設定saslauthd

編輯/etc/default/saslauthd

START=yes
MECHANISMS=pam



能否請andre兄順便將/etc/pam.d/smtp也順便post出來呢?
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:postfix遠端寄信

文章andrechen » 週日 3月 23, 2003 2:55 pm

關於 /etc/pam.d/smtp

如果像我是採用 pam 的方式,是不需要的,我砍掉 /etc/pam.d/smtp 後重新啟動 saslauthd、postfix,一樣可以認證成功。
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

re:postfix遠端寄信

文章阿信 » 週日 3月 23, 2003 3:25 pm

???

pam的方式應該是會利用系統/etc/pam.d/smtp中的設定才是。

怎麼會不需要呢?
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:postfix遠端寄信

文章andrechen » 週日 3月 23, 2003 3:27 pm

master.cf 中 chroot 如果沒有修改,在我的測試中就會認證失敗。基本上只要照我的設定應該就可以了,網路上討論中的東西我一開始都有設定,成功後一項一項測試過,而且另外重新裝了一個 debian 檢查過。

另外阿信兄提到自己編譯就可以成功,我也想過。不過我放棄 redhat 跟 mandrake 就是因為 debian 比較方便,而且可以透過網路安裝套件,debian 又會自己檢查相依性,所以我都是用 apt-get 或 aptitude 來安裝套件。用 debian 快半年了,也只碰到這個問題。

不過說實話是我比較懶,印象中我只在早期用 slackware 和 redhat 時有編譯過,而且現在連 kernel 都模組化了,我都是直接用,算算應該有一、兩年沒編譯過了,連安裝 mplayer 跟 gnome 2 我都是用 apt-get。

所以我在想除了自己編譯外,在不變動的情況下,有沒有其他的方法?
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

我也不清楚

文章andrechen » 週日 3月 23, 2003 3:32 pm

阿信 寫:???

pam的方式應該是會利用系統/etc/pam.d/smtp中的設定才是。

怎麼會不需要呢?


我也不清楚,在我重裝的 debian 就沒有設定 /etc/pam.d/smtp,可以認證成功。我認為 debian 跟其他的 linux 不同,有許多小地方跟我之前用的 trustix 都不一樣。
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

Re: 我也不清楚

文章阿信 » 週日 3月 23, 2003 3:48 pm

andrechen 寫:
阿信 寫:???

pam的方式應該是會利用系統/etc/pam.d/smtp中的設定才是。

怎麼會不需要呢?


我也不清楚,在我重裝的 debian 就沒有設定 /etc/pam.d/smtp,可以認證成功。我認為 debian 跟其他的 linux 不同,有許多小地方跟我之前用的 trustix 都不一樣。


這...不太可能吧??

mailing list上提到的都有另外設定/etc/pam.d/smtp的檔案,不曉得andre兄如何成功的。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:postfix遠端寄信

文章阿信 » 週日 3月 23, 2003 3:50 pm

andrechen 寫:master.cf 中 chroot 如果沒有修改,在我的測試中就會認證失敗。基本上只要照我的設定應該就可以了,網路上討論中的東西我一開始都有設定,成功後一項一項測試過,而且另外重新裝了一個 debian 檢查過。

另外阿信兄提到自己編譯就可以成功,我也想過。不過我放棄 redhat 跟 mandrake 就是因為 debian 比較方便,而且可以透過網路安裝套件,debian 又會自己檢查相依性,所以我都是用 apt-get 或 aptitude 來安裝套件。用 debian 快半年了,也只碰到這個問題。

不過說實話是我比較懶,印象中我只在早期用 slackware 和 redhat 時有編譯過,而且現在連 kernel 都模組化了,我都是直接用,算算應該有一、兩年沒編譯過了,連安裝 mplayer 跟 gnome 2 我都是用 apt-get。

所以我在想除了自己編譯外,在不變動的情況下,有沒有其他的方法?


在不變動的情況下,除了抓別人編譯好的之外,可真的是沒有呢。

畢竟library就使用的不一樣了,所以無法達成也是確定的。

或許andre兄要google看看有無testing的postfix是用sasl1來編譯的了。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:postfix遠端寄信

文章andrechen » 週日 3月 23, 2003 4:38 pm

關於 /etc/pam.d/smtp 的問題,我真的沒什麼概念,我也看到鳥哥的linux私房菜-postfix 的設定技巧與安裝
http://linux.vbird.org/linux_server/0390postfix.php
中有提到這個問題,一開始我也有設。

畢竟我不是科班出身,原本是痛恨 windows 當機頻頻,剛好又看到 linux,對於 linux 的穩定真的是非常喜歡,我的 trustix 用了快兩年,debian 使用了快半年,沒當過機。

我是採用「試誤法」一個項目一個項目去測試,只是列出我的結果,其他的問題就有待各位大大去發掘與解決了。

最後阿信兄所說抓別人編譯好的,若是我抓 postfix source 下來在 debian 3.0 stable 中編譯成 deb,這樣可以支援 sasl2 嗎?
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

re:postfix遠端寄信

文章阿信 » 週日 3月 23, 2003 6:16 pm

沒關係...andre兄已經很辛苦測試了,要記個大功才是呢。

小弟過幾天會測試看看andre兄的方法,順便check pam的問題。

最後,如果在stable中抓source的話,要注意library的問題,在postfix的./configure過程可以指定sasl的路徑,如果stable將sasl1移除掉,然後抓postfix source回來編譯且enable sasl2的話,理論上會成功的。

祝成功....:-)
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:postfix遠端寄信

文章andrechen » 週日 3月 23, 2003 7:34 pm

嗯...看來就只有自己編譯 deb 一途了,這陣子有空的話再試試看。

謝謝阿信兄的解說和幫忙...^_^
andrechen
可愛的小學生
可愛的小學生
 
文章: 79
註冊時間: 週三 11月 27, 2002 2:08 pm

re:postfix遠端寄信

文章yuzan » 週四 4月 10, 2003 11:35 pm

阿信 寫:Perfect!!!
關於最後的問題,小弟解釋一下,因為stable中的postfix-tls是用libsasl7(也就是sasl1)來編譯的。

如果說抓source 回來自己編譯且搭配sasl2是可以work的。


請問一下,您說的抓 source 是指 tarball 還是 .deb package 的 source 啊?
如果是後者,可以教一下要如何做嗎?

:-o
yuzan
可愛的小學生
可愛的小學生
 
文章: 2
註冊時間: 週四 4月 10, 2003 11:27 pm

re:postfix遠端寄信

文章阿信 » 週五 4月 11, 2003 12:04 am

都可以,但要小心的是debian上的package是經過patch的。

deb的source 如何製成.deb。

請用dpkg-buildpackage。
頭像
阿信
版面大總管
版面大總管
 
文章: 4756
註冊時間: 週二 9月 03, 2002 11:58 pm
來自: 台灣 - 嘉義

re:postfix遠端寄信

文章訪客 » 週六 9月 20, 2003 11:37 pm

>2.修改 /etc/postfix/main.cf
>在 mynetworks 後加入 hash:/var/lib/pop-before-smtp/hosts
這裡應該是寫錯了

>例如 mynetworks = 127.0.0.0/8, 192.168.0.0/16, hash:/var/lib/pop-before-smtp/hosts


> 二、使用 pop-before-smtp,debian 3.0 stable 與 testing 都可
之前曾經嘗試過使用 pop-before-smtp 但是一直沒有成功,最近又從新試試看,不過還是沒有辦法,有人可以提供一下經驗嗎?或是我要如何除錯來找出到底是哪裡出問題?

我是使用 Debian testing,且更新為最新的套件。
以前可以暫時先設定 mynetworls=0.0.0.0/0 來開啟所有寄信位置,不過現在這樣設定, postfix 好像已經不接受了~
訪客
 

下一頁

回到 debian server

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron