iT邦幫忙

0

我想請問怎麼架設轉址主機

匿名 2012-02-15 10:45:587258 瀏覽

公司突然提出要求要我架設一台可以將來自中國的ip轉址到特定ip服務,而原本來自台灣的ip轉址到另一個特定ip服務,這對完全門外漢的我,真是搞的一頭霧水,是否有高手可以淺顯易懂的教導一下?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
10
逮丸逮丸
iT邦大師 1 級 ‧ 2012-02-15 23:32:46
最佳解答

架設一台可以將來自中國的ip轉址到特定ip服務,而原本來自台灣的ip轉址到另一個特定ip服務,

如何知IP從何區域來?
GeoIP 是一定要用到的。
可參考本站有關 GeoIP 的相關貼文:
1.用IP得知國家
2.利用 GeoIP 列出某地區的所有IP網段
較正規的是用 GeoIP 所提供的 API 來做下列的相關建置,
而不是用2.找出IP再費力地從頭做起。

從DNS下手
如果你公司不是自架DNS,
這方法就白搭了。
此方法適用自己用Bind9做公司的DNS服務,
利用 GeoDNS BIND patch
讓 patch 過的 Bind 有讀取 GeoIP 的能力,
而可以判斷 IP 是從何區域來,
view 才有依據看要把回應的 IP 為何。
若 DNS 沒透過 GeoIP 而自行列舉IP,
並非智舉。

從apache下手
若web server是windows下IIS之類,
此解可能也是無效。
可利用 GeoIP Apache API 加到apache裡,
利用GeoIP來判斷ip為何區域,
分別在不同的web server,
來做rewrite到另個網址的機制。

從網頁程式下手
這個方案不理想,
是因每個網頁都要有判斷IP所在。
若是動態的網頁,
很容易在程式語言裡,
透過GeoIP提供給各程式的API,
在回應網頁前就做判斷,
而決定是秀出網頁或導到別頁。

如果是靜態網頁的話,
基本上是沒辦法,
但也可以每頁加上javascript的方式達成。
前提是要有第三方提供辨識IP為何區域的服務。
再由javascript來根據回應的資料,
來做是否導到另台機器。
可利用:
MaxMind JavaScript Web Service
Get geographical location (geolocation) by IP address using jQuery
IP Address Geolocation Javascript API : JSON
所提供的例子,從頁面的javascript來達成判斷IP區域,
再用javascript來決定是否轉址。

6
ctipde
iT邦高手 1 級 ‧ 2012-02-15 11:43:53

雖然版主的問題有點模糊 不過就我理解 轉址有兩種
先定義一下資訊:CN-A:大陸原IP CM-B:大陸特定IP TW-A:台灣原IP TW-B:台灣特定IP
1.內部連外部 2.外部連外部
1.當內部電腦連到大陸網頁或服務時,原本是CN-A要改為CN-B請更改內部DNS設定
2.當外部電腦連到大陸網頁或服務時,原本是CN-A要改為CN-B請更改外部DNS設定

匿名 檢舉

謝謝這位高手的指教,因為我完全是新手,所以定義問題上不是太清楚,sorry

4
ganymede
iT邦好手 1 級 ‧ 2012-02-15 12:08:36

使用 BIND9+view 就可以達到你所要的功能, google 關鍵字 bind9 view 就可以找到一堆文件.

匿名 檢舉

謝謝您的建議,我會試看看的。

我要發表回答

立即登入回答