很多網友都反映用此文方法行不通,現象爲:分佈在各計算機上的路由器能起來,但互聯的端口是Down的,以至於ping 不通。在此特別感謝 flyxj 網友QQ聯繫到我才引起我的高度注視使問題得到解決,不會再給讀者誤導(本人能力是很有限的)。
原因經分析找到了,NET文件中有[localhost]一句,localhost 會被本地的hosts文件解析成127.0.0.1,想畢各位已經明白了吧,分佈在各計算機上的路由器之間的連接是通過UDP=後邊指定的端口通信的,由於127 和192不在同一子網,所以端口自然UP不起來了。
注意:筆者用最新的dynamips 0.2.7RC1和dynagen 0.90 實驗不成功,有錯誤提示,google 了一下說是兩個版本不匹配(暈)。請更新後仍不成功的朋友換本文推薦的版本試一下
dynamips 固然是個好東西,但其對內存苛刻的要求又讓人頭痛,雖說現在的內存比較便宜了,可對於像我這樣的學生一族,又豈能承受的了。筆者01年買的電腦,一直也在升級,到現在才用上了512的內存。
那些有錢人新買來的電腦多是1G內存雙核CPU,居然用來玩卡丁車,內存佔用沒上過500,這自然勾起我節約能源的愛國之心,用他們的電腦分擔幾臺路由器,來完一大網絡的模擬。“要學會花別人的錢”,嘿嘿,“要學會用別人的電腦”更恰當!於是筆者嘗試了一下dynamips的分佈式功能。
我們舍宿四臺電腦,通過四口的傻瓜路由相連。不詳細說了,充份發揮一下拓樸的優勢!
下面以 dynamips for 工大瑞普full version 爲藍本實現如下的拓樸(老版本可能會存在問題)
要再每臺電腦上安裝上winpcap,並按如下結構複製文件。
e:\
┠─dynamips
┃
┣ ios ━ unzip-c3620-i-mz.122-37.bin
┃
┣ dynamips ━┳cygwin1.dll
┃ ┗dynamips-wxp.exe
┣ workingdir //空目錄
┗ 啓動虛擬服務.cmd //內容爲:cd dynamips
dynamips-wxp.exe -H 7200
本次實驗筆者是在PC1上作的,前端程序dynagen要放到PC1上,所以要加入如下目錄和文件:
e:\
┠─dynamips
┃
┣ dynagen ━┳configspec
┃ ┣dynagen.exe
┃ ┣dynagen.ini
┃ ┗library.zip
┣ labini ━━━ test.net //內容見下
┗實驗控制檯.cmd //內容爲:cd dynagen
dynagen.exe ..\labini\test.net
test.net 文件內容:
autostart = false
[192.168.1.101]
port = 7200
udp = 10000
workingdir = ..\workingdir\
`router R1`
p_w_picpath = ..\ios\unzip-c3620-i-mz.122-37.bin
model = 3620
console = 3001
ram = 32
confreg = 0x2142
exec_area = 64
mmap = false
slot0 = NM-1FE-TX
slot1 = NM-4T
s1/1 = R2 s1/0
s1/2 = R4 s1/0
[192.168.1.102]
port = 7200
udp = 10000
workingdir = ..\workingdir\
`router R2`
p_w_picpath = ..\ios\unzip-c3620-i-mz.122-37.bin
model = 3620
console = 3002
ram = 32
confreg = 0x2142
exec_area = 64
mmap = false
slot0 = NM-1FE-TX
slot1 = NM-4T
s1/1 = R3 S1/0
s1/2 = R4 s1/1
[192.168.1.103]
port = 7200
udp = 10000
workingdir = ..\workingdir\
`router R3`
p_w_picpath = ..\ios\unzip-c3620-i-mz.122-37.bin
model = 3620
console = 3003
ram = 32
confreg = 0x2142
exec_area = 64
mmap = false
slot0 = NM-1FE-TX
slot1 = NM-4T
s1/2 = R4 s1/2
[192.168.1.104]
port = 7200
udp = 10000
workingdir = ..\workingdir\
`router R4`
p_w_picpath = ..\ios\unzip-c3620-i-mz.122-37.bin
model = 3620
console = 3004
ram = 32
confreg = 0x2142
exec_area = 64
mmap = false
slot0 = NM-1FE-TX
slot1 = NM-4T
此時在PC1上運行
實驗控制檯.cmd
啓動虛擬服務.cmd
PC2 3 4 上分別運行 啓動虛擬服務.cmd ,這樣就可以實驗了。
總結:
其實原理很簡單,dynagen作爲前端,所以只需要在操作此實驗的pc上有就行了,net文件也應在此pc上。而路由器是運行在各個服務器端的,所以dynamips要在每個PC上都有,ios也要放在服務器端。dynagen會將NET文件中的信息發送給各各服務器端,並實現各路由器之間的連接,有了這個思想就可以用更多的pc搭建更大的拓樸了。
此文章是回憶實驗寫的,有出錯或不明白的請留言(推薦),或至email到:[email][email protected][/email]
作者:Beafuture'blog
地址:[url]http://www.pppei.cn/blog/post/34/[/url]
版權所有。轉載時必須以鏈接形式註明作者和原始出處及本聲明!
0
收藏