• 2

請教這二個網段的串接? Route?

如圖所示
我的gw166.77.66.1是個可以連internet的網段
192.168.1.100是個私網
但是現在顯然192.168.1.100無法連網路
請教這樣的route要如何設定
才能讓192.168.1.100 這個網段可以連出去呢?
感謝指導
請教這二個網段的串接? Route?
2008-07-21 19:19 發佈
文章關鍵字 網段 ROUTE
route change 0.0.0.0 mask 0.0.0.0 166.77.66.X if 0xppppp metric 10
route change 0.0.0.0 mask 0.0.0.0 192.168.1.1 if 0xqqqqq metric 1
其中166.77.66.X 是你的geteway
if 0xppppp 是你的166.77.66.1的網卡interface 你可以用route print 在最上面有
if oxqqqqq 是你192.168.1.X的網卡interface ,同上
把metric 調高的話優先權就會降低
用這種方式來改變出去的網路優先
問題怪怪的...
你是要192.168.1.100這個IP能出去
還是192.168.1.XX網段都能出去

上頭有L3設備了嗎?
沒有環境的說明嗎?
kuendian wrote:
問題怪怪的...你是...(恕刪)


歹勢 沒有講清楚
這台是alteon 180e負載平衡
本身上面有layr3的設定
因為192.168.1.100是設在if 2上
在下面的real server有2台
卻都出不去連不上網路
這倒是讓我覺得怪的地方
主要我是想讓底下的網段能夠連出去
但是顯然這台alteon不讓我這麼做
我本以為把if2做route在if1上
但是它警告route的動作包含了if 的ip
不讓我這麼做~
我做了NAT也不行!~
實在真是難搞的機器
那張圖是我在公司測試的環境
我可以打http://166.77.66.32
就可以連到192.168.1.2和192.168.1.3這二台real server
現在問題是在這二台real server卻連不出去

你的問題應該不是出在路由身上,路由本身是正確的,而是出在你的系統身上
你的問題應該是系統不願意幫你做forward的動作
內網的封包要出去到internet,當你這台router接到的時候,必需改掉封包表頭,將封包來源改成router的實體ip,那目地不變的情型下,不蜀於host route的目地,就會往default gateway送。
重點就是~你的機器,必需要能幫你"轉送"你才出的去
linux系統的話一般是在/proc/sys/net/ipv4/ip_forward 這隻檔案的值由0改成1,而你使用的這台機器,我就不知道該怎麼改了,也許你可以打電話給賣你的人問問看,要如何開啟forward的功能。

ps一下:當你的內網機器比如192.168.1.2,他要去比如ping 中華的dns168.95.1.1,此時他的封包來源會是192.168.1.2目地會是168.95.1.1,而對192.168.1.2來說,168.95.1.1並不蜀於他自已的網段,因此這個封包會依據192.168.1.2當中的default gateway去送,在你的情形下應該是送往192.168.1.100,一般的機器,如果系統並沒有開啟forward的功能的狀況下,當這台100的機器接到一個來源與目地都與自已無關的封包的情型下,他會直接把封包給丟了(這個可能你可以想想早期hub的運作原理),因此你100的路由表並沒有問題的。
謝謝你的熱心回應
forward我也想過 所以我是有開啟的!!
如果我關掉了 那我打166.77.66.32是連不到這二台的
要開啟才行~~
蝦的是
forward只能填入
local - local network definition for route caching menu
dirbr - Enable/disable forwarding directed broadcasts
我還在研究這二個要如何設定

唉~ 這種過季商品
真的會讓人白費時間
好處大概是更了解網路結構了吧

機器是要設計出來讓使用者更快速解決問題
結果這個卻花了我十天的時間
還在整天搞這個..... 無奈中



流浪不想去淡水 wrote:
你的問題應該不是出在...(恕刪)
forward沒開~還是可以連的到內網哦~這兩個是不一樣的哦
負載平衡器我只用過bigip,不過也是不好設,外網連到內網的動作跟內網連出來是不一樣的
以你的狀況來說,機器上會有個程式在listing外部要求,當他接到來源(客戶的ip),對目地166.77.66.32的80port提出要求的時候,有兩種做法,一種是直接把封包轉送到內部伺服器,轉送的方式應該是更改目地ip位址到192.168.1.2,並且更改來源ip到"192.168.1.100",另一種,則是類似proxy的做法,由你的平衡器像內部機器要求80port服務,在轉送給客戶,像這種做法apache就辦的到,稱為反向代理伺服器(Reverse proxy),用這種做法的情形下,您想想ipforward有沒有開會影響到你內網的服務嗎?

在ps一下,你內部的網站log(不知你是不是使用apache),log中記錄的來源ip,是客戶的實體ip呢,還是是你route的虛擬ip呢?192.168.1.100?

一般直接轉送封包的做法,紀錄到的會是虛擬。
如果是反向代理伺服器的話,就要看設定,基本上要紀錄那一個ip都行,實體客戶的ip或是平衡器的ip任君選擇。
之前使用的bigip有個選項打勾之後,就能紀錄到客戶的實體ip,而不需要動到apache的log設定。這部份可能要在研究看看是怎麼辦到的。
流浪不想去淡水 wrote:
forward沒開~...(恕刪)


在ps一下,你內部的網站log(不知你是不是使用apache),log中記錄的來源ip,是客戶的實體ip呢,還是是你route的虛擬ip呢?192.168.1.100???

是實體的哦

像我的電腦是166.77.66.93
我看server上的log
的確是看到從166.77.66.93來著

您之前有提供 路由是沒問題的
正因為100的封包會掉
我試圖讓192.168.1.100想辦法繞到166.77.66.0/24這個網段出去
但在這機器上似乎達不到
它會警告二個都是interface

另外您是否建議設filter呢?
我的想法是建立filt 掛在指定的port上面 來達到是否轉封包
剛去翻了一下你這台設備的說明書,他的進跟出(實際上應該是兩個port之間的流向)控制,是要分開設定的
有一份關於nat的設定文件件,我參考修改了一些設定,給你參考看看
>> Main# /cfg/slb/filt 10
>> Filter 10 # action nat
>> Filter 10 # nat source
>> Filter 10 # sip 192.168.1.0
>> Filter 10 # smask 255.255.255.0
>> Filter 10 # dip any
>> Filter 10 # ena
>> Filter 10 # adv/proxy d

>> Main# /cfg/slb/filt 20
>> Filter 20 # action nat
>> Filter 20 # nat dest
>> Filter 20 # sip 192.168.1.0
>> Filter 20 # smask 255.255.255.0
>> Filter 20 # dip any
>> Filter 20 # ena
>> Filter 20 # adv/proxy d
>> Filter 20 # apply/save
>> Filter 20 Advanced# /cfg/slb/port 1 (這裡的port改成你內部虛擬網段線路接進來的那個port)
>> SLB port 1# add 10
>> SLB port 1# filt en

>> SLB port 1# /cfg/slb/port 8 (這裡的port改成你實體網路接進來的那個port)
>> SLB port 8# add 20
>> SLB port 8# filt e
>> SLB port 8# /cfg/slb/on
>> Layer 4# apply/save

主要他必需經由filter去控制封包的轉送,所以filter應該是要設的
在來從他文件中所說明的filter針對port去做設定的,所以你內部的機器最好經由hub或switch之後,集合成一條線路進到router裡面,如此設定應該會比較簡單。

至於你所說的,讓192.168.1.100繞到166.77.66.0網段出去是不可行的,以機器來說,你把他的port看成是一張張的網卡,當你設好網卡的時候,他就會新增一條"host route",當封包來到他的機器的時候,他會先看目地封包是誰?如果不是自已的時候,他會在看自已有沒有forword的功能?有的話他才會接封包下來並更改封包來源位 址之後,會在看一次目地位址在不在自已的"host route "當中?如果目地地是並不是自已所擁有的網段,那麼他才會去看default gateway設定在那裡,並把封包往那裡丟,而像你所說的,「試圖讓192.168.1.100想辦法繞到166.77.66.0/24這個網段出去」,那請問當你由192.168.1.100,丟一個封包要去192.168.1.1的時候,請問機器該往那裡送?如果真讓你設上去了他是要往實體網段的那個port丟嗎?那如此一來就不可能到的了192.168.1.1了不是,所以這種設法是不可能達成的,就算達成了,也不會有任何可用的結果。

路由表是用來告訴機器,當他的封包目地地是那裡的時候,該往那裡送。
而forward,則是轉送的功能,像你的網站,客戶明明要求的是166.77.66.32的80port服務,為何經過你的router之後變成192.168.1.1的機器提供了服務呢?因為你的router把封包目地地改成了192.168.1.1,然後丟到內網去請求192.168.1.1去提供頁面,此時192.168.1.1的機器收到來個於一個不認識的ip對自已的連線要求,在服務有開的情形下,他當然就會接受請求,把網頁送出,而像你電腦的ip 166.77.66.93對192.168.1.1來說,他並不知道這個是誰的ip,他只知道這不是他自已所擁有的網段,所以他將回應直接往default gateway丟,而你的router收到之後,會在將來源ip由192.168.1.1改成自已的實體ip166.77.66.32並把封包往回送,你會覺的很奇怪,在這裡router不是已經會將192.168.1.1改成實體ip了嗎?為什麼192.168.1.1卻還是連線不出去呢?其實做法很多種,有一種就是封包的"狀態",在沒有特別設定的情形下,你的router只會去更改"狀態"為"回覆"的封包的表頭,去做傳送,因此當你由192.168.1.1直接往外丟的時候,他所丟的封包"狀態"並不會是"回覆"(RELATED),所以他不會自動的把表頭給改掉好讓他能正確的傳送。這個部份如果你玩過linux的iptables你可能就會有遇過,當我的input預設是drop的時候,為何我的機器還能連線到外面?舉例
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -m state --state RELATED -j ACCEPT
你可以找台linux把上面幾個設定放進去,試試有加最後一行跟沒加最後一行的效果,你會發現如果最後一行沒加的話,你的機器是連不到外面的,實際上是有連到的,但是對方回應給你的封包,被第一行給直接砍了所以你收不到回應,而最後一行他的意思就是如果他的state是"related"的話,就讓他過,如此你才能收到"回應"的封包,而別人沒辦法對你的機器提出"要求"。

以上讓大家參考參考,如果有那些地方說法有錯的話,還請站上的大大提醒教導一下,謝謝。
流浪不想去淡水 wrote:
剛去翻了一下你這台設...(恕刪)


真是太勞駕您

還去翻了手冊 我想您是找到Alteon180e WebOS 9.0那篇的pdf檔
http://nokia1220.myweb.hinet.net/Alteon180e.pdf
那個我有設過
不過可能或許我設錯了
所以裡面還是出不去!~
我明天去公司再來試試將server改到hub上面去!(看來很像static nat的設法)
在那pdf的129頁

另外再請教您一個問題
若是在維護的情況之下
client端如何使用ssh來連線到web server進行維護呢?
對於client而言 只認的到166.77.66.32這個ip
Alteon如何判別該往哪台丟呢?
是否一定要使用vpn
或是還有其他方式呢?
感謝
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?