小州 撰寫於文章 <3YR1ah$5u8@bbs.cynix.com.tw>...
>※ 引述《tdaniel.bbs@cis.nctu.edu.tw (dan)》之銘言:
>> 假設一個環境:
>> 我有兩個mail server分別在台北(ms1)及高雄(ms2)
>> 各有不同的user。另外有一台dns server = dns1
>> 這三台機器的domain 都叫 abc.com.tw
>> 所以三台主機是ms1.abc.com.tw, ms2.abc.com.tw  dns1.com.tw
>> 這兩台mail server的user 不會重覆(兩地各有各的user)
>> ms1與ms2使用專線相連   ms1再連至internet
>> example:
>>           ms2-----(lease line)-----------ms1---(internet)
>> 我的希望是:
>> 1.這兩台mail 的所有user  的email 都使用 username@abc.com.tw對外
>
>  改兩台的 /etc/sendmail.cf 檔案,加入 DMabc.com.tw 即可。
>  那往後寄出來的信件,其 from 的欄位都是 abc.com.tw 網域。

小州兄果然技高一籌﹗這個方法甚妙﹗

>
>> 2.所有的對外mail最後皆由ms1送出 (ms2 user 的 mail 是由ms2轉給
>>   ms1再轉至internet上。
>
>  修改 ms2 這台主機的 /etc/sendmail.cf 檔案,加入 DSms1.abc.com.tw
>  即可。如此當 ms2.abc.com.tw 處理要寄發的信件時,會連線把信件丟給
>  ms1.abc.com.tw 處理,請它幫忙處理信件的寄發動做。
>
>  另外記得打開讓 ms1.abc.com.tw 可以接受 ms2.abc.com.tw 這台主機
>  代為送信的設定。比方以 sendmail 8.9.x 來說,可以在
>  /etc/mail/relay-domains 檔案內加入: ms2.abc.com.tw
>  並重新啟動 sendmail 程式即可生效。
>
>> 請問,這個問題要怎麼解?
>> 謝謝。
>
>  不過上面有個問題,當有人要回信給 ms2.abc.com.tw 主機上面
>  使用者的話,那會發生問題。
>
>  這個問題,其中可以使用 sendmail 的 Virtual Mail 的設定才解決。
>  比方 ms2.abc.com.tw 主機上有 peter 這個使用者,當有人回信時,
>  收信人會是 peter@ms1.abc.com.tw ,而因為 peter 這個帳號是在
>  ms2.abc.com.tw 主機上而不是在 ms1.abc.com.tw 主機上,所以說
>  在 /etc/mail/virtusertable 這個檔案加上:
>
peter@ms1.abc.com.tw:  peter@ms2.abc.com.tw
>
>  這行敘述加入之後,請執行:
>
>  makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

﹖﹖請教﹕前面那個 virtusertable 不用帶 .db 結尾麼﹖

>
>  以便於產生 /etc/mail/virtusertable.db 檔案給 sendmail 來使用。
>
>  往後只要 ms1.abc.com.tw 主機收到 收信人 的 e-mail 帳號是
peter@ms1.abc.com.tw 名稱時,就會把這封信件轉送到
peter@ms2.abc.com.tw 帳號內,如此 peter 就可以在 ms2.abc.com.tw
>  主機上收到回信。


不過~~ 好像總覺得這樣有點不妥(我昨晚也思考過這樣的方法)﹕
因為﹐原先 ms1 和 ms2 寄出的信件的回郵地址已經改成 @abc.com.tw 了﹐這裡您如
何判斷它屬於 ms1 還是屬於 ms2 呢﹖

以弟愚見﹐virtusertable 中的左邊僅為使用者名稱則足夠了﹐又或者可以用 aliases
來做。不過這樣的情況下﹐ms1 就必須有所有使用者的名稱記錄(包括 ms1 和 ms2)﹐
也就是說﹐當 ms2 那邊的使用者變動後﹐還得要 ms1 進行同步處理。

有否更靈活的方法麼﹖

謝謝﹗


--