作者 主題: [HELP]請問一個真實IP,兩個Domain name,指向到兩個不同的mail  (閱讀 24172 次)

0 會員 與 1 訪客 正在閱讀本文。

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
依照網中人的教學,公司對外的firewall跑Linux,有三片網卡,eth0對外,真實IP例如為:111.111.111.111,需透過ppp0撥接上線,eth1對內,IP:10.10.10.1,eth2為DMZ,IP:10.10.2.1。未來將再加一條1.5M/384k ADSL,真實IP假設為:222.222.222.222,這兩條ADSL將透過一個小HUB連接到上述firewall主機的eth0,ADSL-1(111.111.111.111)已申請Domain name(xxx.com.tw),ADSL-2(222.222.222.222)的Domain name為yyy.com.tw。
DMZ區放了兩台server,一台跑Linux(10.10.2.2),裡面提供web、mail、dns。另一台跑windows(10.10.2.3),僅提供web。公司的想法是,不論訪客是從111.111.111.111還是222.222.222.222連進來80 port,只要是找www.xxx.com.tw:80或xxx.com.tw:80就會去找windows(10.10.2.3),而如果是要去www.yyy.com.tw或yyy.com.tw就會跑去Linux(10.10.2.2),而如果是e-mail,不管是@xxx.com.tw 或 @yyy.com.tw 則都是在Linux(10.10.2.2)那台。
簡單的說,windows那台是原本提供xxx.com.tw的web服務,現在想改用Linux來提供服務,但是原來機器上有很多買來的套裝軟體,所以想繼續提供服務,新的服務就改用Linux跑apache server,但是因為同時有兩個web server還有兩個DNS,所以頭腦轉不過來,不知該怎麼做比較好。
先從對外的那台firewall機器著手,我將版主的ipt_nat修改如下,不知可不可行?

# ------------- giving info ----------
EXT_IF=ppp0
INT_IF=eth1
DMZ_IF=eth2
DMZ_SERVER="10.10.2.2"
TRUSTED_TCP_PORT="22 25 53 110 113 143 220 443 465 993 995"
TRUSTED_UDP_PORT="53"
WEB_TCP_PORT="80"
ALLOWED_ICMP="0 3 3/4 4 11 12 14 16 18"

# ------------- DMZ ------------
echo "Setting up rules for dmz...."
for PORT in $TRUSTED_TCP_PORT; do
iptables -t nat -A PREROUTING -i $EXT_IF -p tcp -d $EXT_IP \
--dport $PORT -j DNAT --to-destination $DMZ_SERVER
done
for PORT in $WEB_TCP_PORT; do
iptables -t nat -A PREROUTING -i $EXT_IF -p tcp -d $EXT_IP \
--dport $PORT -j DNAT --to-destination 10.10.2.2-10.10.2.3:80
done
for PORT in $TRUSTED_UDP_PORT; do
iptables -t nat -A PREROUTING -i $EXT_IF -p udp -d $EXT_IP \
--dport $PORT -j DNAT --to-destination $DMZ_SERVER
done

# ------------- services ------------
echo "Creating services chain...."
iptables -N services
for PORT in $TRUSTED_TCP_PORT; do
iptables -A services -i $EXT_IF -p tcp --dport $PORT -j ACCEPT
done
for PORT in $WEB_TCP_PORT; do
iptables -A services -i $EXT_IF -p tcp --dport $PORT -j ACCEPT
done
for PORT in $TRUSTED_UDP_PORT; do
iptables -A services -i $EXT_IF -p udp --dport $PORT -j ACCEPT
done

不知道還要注意哪些地方?
另外,要讓訪客正確到達該去的web server,是否是從DNS的設定著手?
不知有無範例?懇請各位先進撥冗指教,不勝感激。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17466
    • 檢視個人資料
    • http://www.study-area.org
因為你要求到
"
不論訪客是從111.111.111.111還是222.222.222.222連進來80 port,只要是找www.xxx.com.tw:80或xxx.com.tw:80就會去找windows(10.10.2.3),
"
本想建議用不同的 IP 來轉的,那就不行了。除非還有更多的 IP 可作 alias ...

不過,你或許先將所有 request 轉到 linux 上,然後在改寫 rewite 或 redirect 規則到 windows 上面。

別問我具體步驟,因為我也沒試過。

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
引述: "netman"

本想建議用不同的 IP 來轉的,那就不行了。除非還有更多的 IP 可作 alias ...
不過,你或許先將所有 request 轉到 linux 上,然後在改寫 rewite 或 redirect 規則到 windows 上面。
別問我具體步驟,因為我也沒試過。


那不知道別人都是怎麼做的?
還是別人不曾有這樣的需求
公司是還有 cisco 2621、PIX Firewall
不知有沒有幫助
可是我不懂 cisco的機器
我先試試看
有問題再請教大家
謝謝

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
對了
ipt_nat可以像上面那樣改嗎?
謝謝版主

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17466
    • 檢視個人資料
    • http://www.study-area.org
引述: "zxcvbn101"
對了
ipt_nat可以像上面那樣改嗎?
謝謝版主


不完整,尚不足判斷。若測試可行,看 iptables-save 結果為準。

ZMAN

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 6247
  • 性別: 男
    • 檢視個人資料
    • 魔力門部落格

既然已經買了一台PIX居然不會利用
真是可惜啊
佈線深似海!
網路高如天!

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
引述: "ZMAN"

既然已經買了一台PIX居然不會利用
真是可惜啊


不好意思
可否花您一點時間
如果是您有cisco那兩台router, firewall
配合我所說得環境
您會如何架構您的環境
我不是指如何設定
那是我的責任
但想聽聽您會如何規劃利用這些設備
謝謝您

ZMAN

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 6247
  • 性別: 男
    • 檢視個人資料
    • 魔力門部落格
兩條ADSL進來接WAN整合器作MULTI-PATH和MULTI-HOMING
WAN整合器後面接防火牆
防火牆一邊接DMZ區另一邊接核心交換器
你可以做到你要的需求前提是你會下COMMAND
PIX真的不好設
佈線深似海!
網路高如天!

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
引述: "ZMAN"
兩條ADSL進來接WAN整合器作MULTI-PATH和MULTI-HOMING
WAN整合器後面接防火牆
防火牆一邊接DMZ區另一邊接核心交換器
你可以做到你要的需求前提是你會下COMMAND
PIX真的不好設


不好意思,再請問您一下:
請問您的意思是cisco 2621 router可以做到MULTI-PATH和MULTI-HOMING的功能?不過我看不懂WAN整合器的意思,cisco 2621只有一個input和output,兩條ADSL不就要透過HUB再連到Cisco 2621上?
另外,PIX Firewall一邊接DMZ區另一邊接核心交換器(Cisco Catalyst 4006?)能夠做到我提到的DMZ區同時放兩台Linux、Windows的80 port web server和兩組DNS?
實在是不熟悉Cisco,所以想先確定公司這幾台機器是否有上述的功能,如果答案確定,我就可以著手去找資料和請人來幫忙設定,謝謝您的幫忙。

ZMAN

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 6247
  • 性別: 男
    • 檢視個人資料
    • 魔力門部落格
1.WAN整合器是只可以讓多條WAN協同運作的設備
2.基本上只要觀念正確
    不管是設備或是LINUX都可以做到你想要的
    只在於設備的設定比較容易LINUX比較複雜
    很多原理相同的東西會有名詞不太一樣的問題
佈線深似海!
網路高如天!

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
to netman---web可以了,那mail server....
« 回覆 #10 於: 2003-02-24 17:56 »
請問版主
依您的建議
我的web已經可以依不同的domain name而導到windows 2000 server 和 linux server了
不過如果有兩台mail server那該怎麼辦呢
同樣的問題
舊的是跑 notes,
我新裝了Linux
不過目前處在過渡期
所以不得已還是要保留舊的 notes
新的Linux只能給他另一個domain name了
請問這樣的話
有沒有什麼辦法呢
謝謝指教

引述: "netman"
因為你要求到
"
不論訪客是從111.111.111.111還是222.222.222.222連進來80 port,只要是找www.xxx.com.tw:80或xxx.com.tw:80就會去找windows(10.10.2.3),
"
本想建議用不同的 IP 來轉的,那就不行了。除非還有更多的 IP 可作 alias ...

不過,你或許先將所有 request 轉到 linux 上,然後在改寫 rewite 或 redirect 規則到 windows 上面。

別問我具體步驟,因為我也沒試過。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17466
    • 檢視個人資料
    • http://www.study-area.org
若是指 email ,或許可用 sendmail 的 virtusertable 來做(請到 sendmail.org 找文件)。

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
謝謝版主
« 回覆 #12 於: 2003-02-25 09:40 »
不好意思
Virtusertable is used to do aliases to virtual domains hosted on the same server
我找的結果
Virtusertable 好像跟postfix的virtual map的功能一樣
是multi-domain name on the same server
好像不能像apache一樣將不同的domain name導到不同的機器上去
如果是這樣的話
這就不是我要找的東西了
曾想過將postfix設成mail gateway
不過也只能導到某一台機器
還是沒辦法依不同的domain name導到不同的機器
不知我的理解有沒有錯誤
謝謝版主幫忙

引述: "netman"
若是指 email ,或許可用 sendmail 的 virtusertable 來做(請到 sendmail.org 找文件)。

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
如果找不到合適的程式.
那最簡單的做法可能是自已改程式來用吧.

你可以抓 fwtk 中的 smtp proxy 回來改. 這個  proxy 把 smtp 分成兩個小程式, 一個收一個送.

你只要把信收下後, 依照你的需求送到不同的機器就可以了.

p.s. 印象中, 這種功能 maildrop 好像做的到的樣子. 你可以試試看 maildrop. 如果成功了, 再上來報告一下. :-)

huckly

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 3420
    • 檢視個人資料
    • http://blog.huckly.net
也可以問問 zoob 他是把 postfix 當作 smtp proxy
轉到 內部 exchange
IT doesn't matter

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17466
    • 檢視個人資料
    • http://www.study-area.org
Re: 謝謝版主
« 回覆 #15 於: 2003-02-26 12:52 »
引述: "zxcvbn101"
不好意思
Virtusertable is used to do aliases to virtual domains hosted on the same server
我找的結果
Virtusertable 好像跟postfix的virtual map的功能一樣
是multi-domain name on the same server
好像不能像apache一樣將不同的domain name導到不同的機器上去

如下是在 sendmail.org 找到的范例:
@yourdomain.com      %1@othercompany.com

在:
http://www.sendmail.org/virtual-hosting.html

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
根據大家熱心的解答
我終於找到一些線索
smtp proxy和pop3 proxy
例如
<a href="http://moxy.psychogenic.com/index.html">The Moxy Mail Proxy</a>


好像是我要的
不過還沒有時間去做
pop3 proxy
目前找到如
http://www.vergenet.net/linux/perdition/
http://www.remote.org/jochen/mail/popular/
也還不知能不能做
另外
Netcat好像比較簡單
http://www.atstake.com/research/tools/network_utilities/
例如
Changes to /etc/services
Add the following two lines to /etc/services

smtpproxy  6025/tcp  smtpproxy
pop3proxy  6110/tcp  pop3proxy

Scripting......for smtpproxy
Create a file /usr/local/sbin/smtpproxy reading

#!/bin/sh
 
# This is /usr/local/sbin/smtpproxy
 
#
# Redirect SMTP connection to
#
# Server: SMTP.myISP.com
# Port: 25
#
 
/usr/local/bin/netcat SMTP.myISP.com 25

...for pop3proxy
Create a file /usr/local/sbin/pop3proxy reading

#!/bin/sh
 
# This is /usr/local/sbin/pop3proxy
 
#
# Redirect POP3 connection to
#
# Server: POP3.myISP.com
# Port: 110
#
 
/usr/local/bin/netcat POP3.myISP.com 110

You may need to set owner, group, and access rights as follows

cd /usr/local/sbin
chown root:root smtpproxy pop3proxy
chmod 755 smtpproxy popo3proxy

所以pop3的部分
或許可以改成
if
(e-mail address 的@後面如果=POP3.aaa.com)
then
/usr/local/bin/netcat POP3.aaa.com 110
或是改成內部ip
/usr/local/bin/netcat 192.168.1.1 110
if
(e-mail address 的@後面如果=POP3.bbb.com)
then
/usr/local/bin/netcat POP3.bbb.com 110
或是改成內部ip
/usr/local/bin/netcat 192.168.1.2 110
這樣就可以導了
可是我不會寫shell
^%$&^%&%*~
再來
smtp proxy的部分
好像不能這樣用
因為會有relay的問題
在NAT裡面
如果這樣導
那後面真實的smtp server收到的都會變成內部IP
則都可以relay了
除非
把這台smtp proxy和NAT裡的client分開
不同網域
來避免被人relay
不知這樣子對不對
請大家再給予指正
謝謝版主、twu2、huckly
還有所有人的費心幫忙

zxcvbn101

  • 懷疑的國中生
  • **
  • 文章數: 70
    • 檢視個人資料
剛裝了Moxy Mail Proxy,用tar檔自己編譯會有錯誤,改用他提供的rpm就沒問題,可以指定在任何的port,也可設定relay,把他和Interscan裝在一起,確實可以幫我將信導到我要去的mail server..
不過pop3的部分就麻煩了
現在還沒try到一個可以用的
努力中...