方案一:首先,在要用公網ip訪問的服務器上增設在路由器上做了映射的公網IP地址如:202.55.55.55,該服務器至少還有一個內網IP地址:192.168.0.100,然後在路由器上加一條路由,ip route 202.55.55.55 255.255.255.254 192.168.0.100 就可以了,現在就可以在內網用202.55.55.55這個地址訪問內網的192.168.0.100服務器了,至此這個難題就解決了。
http://bbs.net130.com/attachment.php?attachmentid=32606&stc=1
但只適合於有多個固定公網IP的網絡,如果只有一個IP,那再加一台路由器,這個問題就徹底解決了.
方案二:在邊界路器後面再加一台路由器,並在上面將發往被映射的公網地址202.55.55.55的包路由到內網中192.168.0.100服務器,就可以了,也就是說在包還未到達邊界路由器前就被另一台路由器路由到內網的服務器上去了,這樣問題就徹底解決了(即使使用出口IP做的服務器IP也沒有問題),但這樣成本有點高,當然這台額外的路由器可用帶路由功能的防火牆代替,因為現在的網絡中帶路由功能的防火牆還是比較普遍的(我用的就是帶路由功能的天網防火牆),所以實現起來也比較容易、經濟。
http://bbs.net130.com/attachment.php?attachmentid=32605&stc=1
至於用動態IP的也就沒必要做映射了,我們就不討論.(完)
!!!此貼未經本人同意不得轉載!!!
只是這種方法不具備通用性,如果不是固定ip地址的,路由沒法加,因為ip地址每次都是變的,而pppoe撥號之後的,一般接口地址都是32位的,你手工加路由也沒有用,如果你只有一個地址,用的接口地址做的nat,加的路由也是沒用的
你這種方式只適合有固定地址的,而且還是有不止一個地址用別的地址做nat的情況
只是這種方法不具備通用性,如果不是固定ip地址的,路由沒法加,因為ip地址每次都是變的,而pppoe撥號之後的,一般接口地址都是32位的,你手工加路由也沒有用,如果你只有一個地址,用的接口地址做的nat,加的路由也是沒用的
你這種方式只適合有固定地址的,而且還是有不止一個地址用別的地址...
說的好啊!!
不過至少提供了一種方法啊!!
服務器是可以收到包,回包呢?
回包服務器用內網地址做源地址,可是客戶使用公網地址做目的地址,通信的源和目的不對應,我強烈質疑樓主做過試驗,或者路由器上還有額外配置樓主沒說出來。
回包服務器用內網地址做源地址,可是客戶使用公網地址做目的地址,通信的源和目的不對應,我強烈質疑樓主做過試驗,或者路由器上還有額外配置樓主沒說出來。
回包服務器怎麼會用內網地址做源地址呢?它收到的包目標地址是自己的公網地址,自然用自己的公網地址做源地址的,你不用懷疑,我現在的網絡就是這麼用的.
自然?呵呵,哥們太想當然了,沒有這一說,你是第一人了!
還有你這個解決方案是不錯,但不能順口就說啊,考慮充分再說。
不過哥們你倒是提醒了我,服務器上直接不用設置內網地址了,設置一個公網地址,路由器上加路由,指向內網接口即可,不用做靜態映射了。這樣,內網外網都可以用公網地址訪問服務器,但是再也不能用內網地址訪問了。
真是感謝兄弟了,好人!!
兄弟能否抓個包,讓我見識見識新知識
有這個必要嗎?
是啊,抓個包,回應原地址是公網地址的包,截個圖上來啊
你有多少個固定公網IP?如果只有一個的話,只有加第二個路由器才能實現
說別人想當然,怎麼不先想一下自己是否在想當然?
摟主說的那種做法我是這樣用過
A-------------------------B
A在網卡上同時配置內網和公網地址,B上加一條路由指向這個公網地址,下一跳地址寫A的私網地址,這樣的話呢,在B上ping A上配的那個公網地址不通,但是tcp的訪問都是能通的
其實如果是在B的網關路由器上加一條路由,也一樣是icmp redirect,會在B機上形成一個主機路由,跟我說的情況實質是一樣的
摟主說的那種做法我是這樣用過
A-------------------------B
A在網卡上同時配置內網和公網地址,B上加一條路由指向這個公網地址,下一跳地址寫A的私網地址,這樣的話呢,在B上ping A上配的那個公網地址不通,但是tcp的訪問都是能通的
其實如果是在B的網關路由...
「在B上ping A上配的那個公網地址不通,但是tcp的訪問都是能通的」,這兒不懂
和重定向有關係麼?B生成了主機路由,源地址也不會變啊
你要麼解釋,要麼別擱這兒廢話
這樣不行啊,路由器提示外網ip地址衝突!!
我的是2610xm,ios是12.3,我只有一個公網ip,可能是實現不了這個問題了,還有什麼方法能實現
我用C2651XM+C2950的網絡裡,在C2651的內網口上做上兩個IP,一個是202.9.100.x一個是192.168.3.100,不在ROUTER上做訪問限制,他們都可以互訪的啊
我用C2651XM+C2950的網絡裡,在C2651的內網口上做上兩個IP,一個是202.9.100.x一個是192.168.3.100,不在ROUTER上做訪問限制,他們都可以互訪的啊
你還是要有兩個固定IP吧?
2\內部服務器需要雙網卡嗎?還是直接在一塊網卡上設兩個地址?
呵呵,我本人認為樓主的方法可行,我來分析一下,你看有什麼問題,希望可以得到你的指教,本人沒有SNIFFER, 就用大腦把,呵呵
首先假設
1,soure=192.168.0.5 des=202.55.55.55
2,到路由做了NAT,source=202.55.55.50 des=202.55.55.55
3,路由器尋到路由,把包送回裡面,就做了2次NAT,source=192.168.0.5 des=192.168.0.100 (這裡做了2次NAT,不知你同意嗎?)所以回應原地址應該不是公網地址的包
4,包到了內服務器,服務器回包 source=192.168.0.100 des=192.168.0.5
冬瓜頭同意嗎?
2,到路由做了NAT,source=202.55.55.50 des=202.55.55.55
3,路由器尋到路由,把包送回裡面,就做了2次NAT,source=192.168.0.5 des=192....
4,包到了內服務器,服務器回包 source=192.168.0.100 des=192.168.0.5
你錯了,(soure=192.168.0.5 des=202.55.55.55)到達路由器時並沒有做NAT,而是直接被路由到內網服務器的內網地址:192.168.0.100,因為該網卡還有一個公網IP:202.55.55.55,於是該包被接收,去包到達目的IP.而回包呢?(soure=202.55.55.55 des=192.168.0.5 ),回包在返回經過交換機時,就被交換機直接交換到內網的192.168.0.5去了(通過ARP),沒有通過路由器(不知是不是這樣),或者說該回包是經過路由器,也會被路由到內網的192.168.0.5去的,並沒有做NAT,所以回包還是這個(soure=202.55.55.55 des=192.168.0.5 ),這樣的回包才能正常通信,這也許是很多朋友不明白的地方~~~~~~
如果按你說的,
4,包到了內服務器,服務器回包 source=192.168.0.100 des=192.168.0.5
那內網的192.168.0.5會認為這個包是他的回包嗎?該包的源地址都不是自己所發出包的目標地址,自然會被丟棄.那還能通信嗎?所以你這僅僅只是猜測,要聯繫實際環境來分析.
www配置中肯定要把這個公網IP設為監聽啦,如果不設為監聽,內網怎麼可以用這個公網IP來訪問呢?
你所說的那種,只可以用域名訪問,不可以用公網IP訪問.因為cisco的路由器加了靜態NAT後,會把DNS查詢回包中的公網IP換成內網相應的內網IP.實際上還是用內網IP訪問.
有什麼意義????現在不是正在討論如何在內網用公網IP訪問內網服務器嗎?暈~~~~~~
請大家緊扣題子主題討論,無關的將申請版主刪除.................
你認為用IP和用域名訪問是一樣嗎?在CISCO的路由器(較新版本IOS)上如果你加了靜態NAT,你用nslookup查詢一下,看看你的域名解析的地址是不是你的公網IP,絕對不是,而是你的內網IP.
請緊扣主題,解決實際問題!
可是你到說說為什麼用公網ip就不能訪問,此時直接用ip訪問,不會進行dns解析,假設發包地址192.168.0.10,路由器出口地址59.59.59.50,服務器外網地址59.59.59.59,服務器內網地址192.168.0.1
則包源地址192.168.0.10,目的地址59.59.59.59,然後在出口上,進行動態nat轉換,包源地址轉換為59.59.59.50,目的地址59.59.59.59,然後進行靜態nat轉換,包源地址為59.59.59.50,目的地址轉換為192.168.0.1,回復包的過程則是此過程的反過程,請問是這樣子吧。為什麼說不能通信呢?
則包源地址192.168.0.10,目的地址59.59.59.59,然後在出口上,進行動態nat轉換,包源地址轉換為59.59.59.50,目的地址59.59.59....
不是我們說說不能訪問,
而是事實不能訪問,
大家都碰到這個問題了
[ 關閉窗口 ]
