作者 主題: 請問NAT可以使用幾個真實IP?  (閱讀 4632 次)

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

chenfm

  • 活潑的大學生
  • ***
  • 文章數: 261
    • 檢視個人資料
請問NAT可以使用幾個真實IP?
« 於: 2005-10-04 17:09 »
各位好:

小弟想請問,一部NAT有兩張網卡,那總共可以使用幾個真實IP?

我目前約有五部Server,都是使用真實IP,不過沒有防火牆,
所以想將其中一部Linux Server設為NAT,並且將所有Server加到NAT裡面,
但是因為我的Server都是使用真實IP,而且有許多服務在上面跑,
所以想請問,我是否可以在一部NAT上設六個IP,如:

eth0    X.X.X.130  NAT
eth0:0 X.X.X.131  WEB
eth0:1 X.X.X.132  FTP
eth0:2 X.X.X.133  ASP
eth0:3 X.X.X.134  ERP
eth1 192.168.0.254

用來做NAT的Server,只有兩張網卡,我希望能做到,
若外部的User想要看WEB的網頁,一樣只要連到 X.X.X.131的網址即可,
透過NAT可將真實IP轉成內部的虛擬IP請問這個作法是否可行?
我之前試了一下,只新增了一個 eth0:0,
就發現網路似乎出了問題,有可能是Routing出了問題;
還是我這個觀念是錯的?

感謝各位。

mmx99

  • 憂鬱的高中生
  • ***
  • 文章數: 194
    • 檢視個人資料
請問NAT可以使用幾個真實IP?
« 回覆 #1 於: 2005-10-04 17:19 »
這樣錯誤吧
在nat裡
把各server的nat mapping做好
利用PREROUTING,POSTROUTING 到wan和到lan對應好
何必在兩張網卡上去做虛擬ip呢
可以將一張網卡對wan一張對lan
在去對應好nat mapping就可以了

還有做eth0:0需擬ip部份
用xwindow做比較不會錯
或是把script複製改srcipt部份比較ok
用command去下有時對應到的nic會錯誤
我就有遇到過...

chenfm

  • 活潑的大學生
  • ***
  • 文章數: 261
    • 檢視個人資料
請問NAT可以使用幾個真實IP?
« 回覆 #2 於: 2005-10-04 19:31 »
您指的是這樣嗎?

iptables -t nat -A PREROUTING -d 211.X.X.131 -i eth0 -p tcp -m tcp --dport 21 -j DNAT --to-destination 192.168.0.1

潛水夫

  • 可愛的小學生
  • *
  • 文章數: 21
    • 檢視個人資料
請問NAT可以使用幾個真實IP?
« 回覆 #3 於: 2005-10-05 16:09 »
這個問題, 不用學長前輩們回答, 小的我來效勞就可以了.

1. NAT基本上就有"簡單防火牆"的功能了, 首先, 建議你將你的Server都"藏"在NAT的後方, 對Server來講, 會"比較"安全一點.
2. NAT可以做到Port Mapping的功能, 所以, 對外, 只需要一個真實的IP, 內部可以依照IP及Port的不同來對應.

以下是建議的做法 :
NAT Server上
eth0 X.X.X.130
eth1 192.168.0.254
加上四條mapping的rule
X.X.X.130:80 192.168.0.A  (WEB Server)
X.X.X.130:21 192.168.0.B  ( FTP Server)
X.X.X.130:??(抱歉, 有點懶) 192.168.0.C  (ASP Server)
X.X.X.130:??(理由同上, sorry) 192.168.0.D  (ERP Server)

基本上, 這樣四台Server都藏在NAT後面了, 同時(可能)也只要一組真實IP.

希望這樣講, 沒有錯.

chenfm

  • 活潑的大學生
  • ***
  • 文章數: 261
    • 檢視個人資料
請問NAT可以使用幾個真實IP?
« 回覆 #4 於: 2005-10-05 16:19 »
引述: "潛水夫"
這個問題, 不用學長前輩們回答, 小的我來效勞就可以了.

1. NAT基本上就有"簡單防火牆"的功能了, 首先, 建議你將你的Server都"藏"在NAT的後方, 對Server來講, 會"比較"安全一點.
2. NAT可以做到Port Mapping的功能, 所以, 對外, 只需要一個真實的IP, 內部可以依照IP及Port的不同來對應.

以下是建議的做法 :
NAT Server上
eth0 X.X.X.130
eth1 192.168.0.254
加上四條mapping的rule
X.X.X.130:80 192.168.0.A  (WEB Server)
X.X.X.130:21 192.168.0.B  ( FTP Server)
X.X.X.130:??(抱歉, 有點懶) 192.168.0.C  (ASP Server)
X.X.X.130:??(理由同上, sorry) 192.168.0.D  (ERP Server)

基本上, 這樣四台Server都藏在NAT後面了, 同時(可能)也只要一組真實IP.

希望這樣講, 沒有錯.


謝謝您的回答,不過這與我想做的有落差,
我的意思是:
Server 群本來就在 NAT 內了,但是我要將 NAT 外部的實體 IP,
對應到內部的虛擬 IP,
例如:

WEB Server 211.X.X.131 對應到 192.168.0.131
FTP Server 211.X.X.132 對應到 192.168.0.132
.
.
.
其它依此類推。

而不是將 NAT 的 Port 轉成內部Server 的 Port

mmx99

  • 憂鬱的高中生
  • ***
  • 文章數: 194
    • 檢視個人資料
請問NAT可以使用幾個真實IP?
« 回覆 #5 於: 2005-10-05 16:50 »
這樣可以
$IPTABLES -t nat -A PREROUTING -i $DMZDEV -d Public IP -j DNAT --to Private IP
$IPTABLES -t nat -A POSTROUTING -d Private IP -o $DMZDEV -j SNAT --to Public IP

這樣即可

潛水夫

  • 可愛的小學生
  • *
  • 文章數: 21
    • 檢視個人資料
請問NAT可以使用幾個真實IP?
« 回覆 #6 於: 2005-10-05 16:52 »
你的不用Port Mapping, 那就直接將送到特定IP的封包, 直接轉給內部某台Server就可以了.
不過, 在用eth0:0這種東西時, 之前碰過一個問題, 應該是我沒有設定好.
就是, 封包出去時, 全部會變成是eth0所設的IP, 而不會套用eth0:0這組IP.

要怎麼下rule, 呵呵呵, 問倒我了, 我不會"創造", 只會抄襲.
這個, 可能就真的需要學長前輩來幫忙了.


小的告退.

chenfm

  • 活潑的大學生
  • ***
  • 文章數: 261
    • 檢視個人資料
請問NAT可以使用幾個真實IP?
« 回覆 #7 於: 2005-10-05 17:01 »
引述: "潛水夫"
你的不用Port Mapping, 那就直接將送到特定IP的封包, 直接轉給內部某台Server就可以了.
不過, 在用eth0:0這種東西時, 之前碰過一個問題, 應該是我沒有設定好.
就是, 封包出去時, 全部會變成是eth0所設的IP, 而不會套用eth0:0這組IP.

要怎麼下rule, 呵呵呵, 問倒我了, 我不會"創造", 只會抄襲.
這個, 可能就真的需要學長前輩來幫忙了.


小的告退.


其實我已經做好了,只是不知道我的想法是否正確,
所以才來請教的。

我還是用之前的作法,讓對外的網卡多綁幾個IP,我設的rule如下:

先指定一個變數: $FTP_IP="211.X.X.131"
$IPTABLES -t nat -A PREROUTING -p tcp -d $FTP_IP --dport 21 -j DNAT --to 192.168.1.1:21

這樣做確定我之前的想法是OK的,因為我RUN到現在還沒出問題,
只是我還想知道,是否還有其它的設定,或是其它的方法。

希望知道的前輩可以幫幫忙。

感謝大家。

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17474
    • 檢視個人資料
    • http://www.study-area.org
請問NAT可以使用幾個真實IP?
« 回覆 #8 於: 2005-10-05 22:17 »
這篇先看看:
http://phorum.study-area.org/viewtopic.php?t=16613&highlight=iptables+alias

或, 用 iptables + alias 來搜一下學園的精畫區?