小州 撰寫於文章 <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
進行同步處理。
有否更靈活的方法麼﹖
謝謝﹗
--