|
- 新手上路
- 0000-00-00
- 275
- 40
-
2007-07-03
|
真难说哦
2007-07-10 04:06
| 只看楼主
树型|
收藏|
小
中
大
1
#
Juniper的Olive安装指南(v0.1) 转贴
Juniper的Olive安装指南(v0.1) ================================================================
0.硬件需求 Intel Pentium II 400以上PC N台 -- 看你所需要的网络规模和结构而定,总之,一台的学习价值是不大的。配置: CPU Pentium II 400以上,越快越好; RAM 至少128M,越大越好; 显卡能亮就行,或者也可以没有,不过你就需要完全从Console/COM来进行安装了; 网卡推荐Intel EtherExpress Pro 100(或其他Intel 82558/82559芯片,Olive只支持Intel 8255x)当然了,作为一台路由器,网卡的数量也是越多越好; 其他网络设备如果你只准备做一个纯Olive/Juniper网络的话,至少需要24口交换机一台。如果想建立和其他网络互联的混合网络,设备就自己看着办吧。
1.准备工作众所周知,Juniper的JunOS是基于FreeBSD开发出来的,所以要安装和运行PC版的JunOS--Olive,当然也得先从FreeBSD下手。首先,你得准备好FreeBSD光盘,从3.0到4.8都可以,当然了,5.1以上版本是肯定不行的--因为5.1以上版本默认文件系统就是UFS2了,Olive肯定不支持 推荐使用3.2版本...因为,经过分析,Olive应该是基于3.3之前版本开发的,因此文件系统和设备兼容性都应该是最好的,当然了4.x也绝对没问题,只不过在后面要多一个小步骤。开始安装FreeBSD, mini安装就可以,多了也一点用都没有。注意一点,分区(Slice)时无论你用任何方法,都必须把/var区分在/dev/wd0s1f(3.3前)或/dev/ad0s1f这个设备上,否则后面的Olive安装步骤将无法继续。 <原因: Olive之后会建立自己的文件系统结构和分区,因此它需要把packages现存放到这个缓存分区>
2.建立Olive安装初始环境 FreeBSD安装完毕之后,用你可以想象的任何方法把Olive安装文件jinstall-5.5R2.3-export-signed.tgz 拷贝到FreeBSD分区,或可以访问到的其他媒体介质上。然后进行如下初始化工作: a.执行命令 # mkdir /var/etc # touch /var/etc/master.passwd # touch /var/etc/inetd.conf # touch /var/etc/group (如果你使用的FreeBSD 3.3以后版本,还需要 # rm /dev/wd0c # ln -s /dev/ad0c /dev/wd0c
b.安装Olive # pkg_add jinstall-5.5R2.3-export-signed.tgz (此处可能会出错,如果无法完成安装,可以强制使用-f)
c.修改/boot/loader.conf 中的 c 改为:c (否则在启动过程中,你将会黑屏,只能从com连接管理,当然如果你没有显卡的话,这样就更合适)
d. # reboot
3.初始化配置Olive 好了,如果你前面的步骤都没有出错,那么当前你应该已经可以看到Olive的提示符了。使用用户:root 密码 空> 登陆系统 ifconfig -a看一下是否正确认出了你的Intel网卡; 运行一个command shell,注意,不同与我们常见的Unix bash/tcsh,这是Olive自己的路由器管理界面: # cli (CLI)# edit interface fxp0 unit 0 family inet 192.168.0.1/24 (CLI)# up (CLI)# edit system (CLI)# set system hostname olive (CLI)# set system login user admin calss super-user (CLI)# set system login user admin authentication plan-text (CLI)# show configuration
4.如果上面的步骤都顺利,可以开始着手安装安装你的Virtual Juniper NetWork中的下一个节点了。
Good Luck!
================================================================Tips拾遗:你可以在Vmware中安装和运行Olive,但是不要奢望它能为你工作,因为如上所述,Olive目前只支持Intel网卡,而Vmware的虚拟网卡型号为PCnet32。我曾经写过一个FreeBSD转换驱动,仿真lnc到fxp,但是在Oliver中不能工作 :_< 看来就只有奢望,vmware那天能够支持本地化网络接口了。另外,在多台机器的环境中安装和规划Olive似乎有点太复杂了,因此偶正在测试使用网络引导和安装的方式实现Olive的自动分发,等下一版文档吧。最后申明,Juniper, JunOS, 和Olive都是Juniper公司的商标和完全知识产权归属,因此在学习过程中也请遵守Juniper的协议,不要任意分发,复制,修改,和反向分析Olive,更不要企图拿它来用于商业用途,并且在安装学习后请在24小时内删除你的Olive拷贝。JNOS8.0 已经能驱动AMD网卡,下面我们尝试vmware5.X下安装.下面将描述4种方法如何在vmware下安装jnos 8.0 驱动网卡.感谢cunshen ,毛小兵,梦天的测试. 照这篇文档安装的junos可以做到:不需要真正的pc,完全可以在vmware上安装可以认出vmware的网卡,以便可以在vmware上做实验使用telnet代替串口线连接junos.
一.使用挂disk的方法
http://wiki.nio.name/software/junos8_on_vmware5.(毛小兵的方法)
二.大家知道vmware下,JNOS 4.4网卡是能驱动起来的,先装4.4,然后升级8.0(梦天的方法)
三.在freebsd下时 ,同时把7.4与8.0上传上去,具体命令如下 cunshen的方法) rm /dev/wd0c ln -s /dev/ad0c /dev/wd0c mkdir ar/etc touch ar/etc/master.passwd ar/etc/inetd.conf ar/etc/group cd /tmp pwd ftp 192.168.0.2 binary get jinstall-7.4R1.7-export-signed.tgz get jinstall-8.0R1.9-export-signed.tgz bye
pkg_add get jinstall-7.4R1.7-export-signed.tgz
reboot
通过那个串口软件 telnet上去 ,系统启动完成后 敲入: request system software add /var/tmp/jinstall-8.0R1.9-export-signed.tgz 就开始升级了 , it's so easy ! 效果演示: root> ... add /var/tmp/jinstall-8.0R1.9-export-signed.tgz NOTICE: Validating configuration against jinstall-8.0R1.9-export-signed.tgz. NOTICE: Use the 'best-effort-load' option to match the checks done at boot time. NOTICE: Use the 'no-validate' option to skip this if desired. Checking compatibility with configuration Initializing... Using jbase-7.4R1.7 Using /var/tmp/jinstall-8.0R1.9-export-signed.tgz Verified jinstall-8.0R1.9-export.tgz signed by PackageProduction_8_0_0 Using /var/validate/tmp/jinstall-signed/jinstall-8.0R1.9-export.tgz Using /var/validate/tmp/jinstall/jbundle-8.0R1.9-export.tgz Checking jbundle requirements on / Using /var/validate/tmp/jbundle/jbase-8.0R1.9.tgz Using /var/validate/tmp/jbundle/jkernel-8.0R1.9.tgz Using /var/validate/tmp/jbundle/jpfe-8.0R1.9.tgz WARNING: hw.product.model='unknown' using jpfe-M40 Using /var/validate/tmp/jbundle/jdocs-8.0R1.9.tgz Using /var/validate/tmp/jbundle/jroute-8.0R1.9.tgz Validating against /config/juniper.conf.gz
Message from syslogd@ at Dec 8 10:53:33 ... dcd[6748]: /build/ryowo-c/7.4R1.7/src/juniper/sbin/dcd/rtsock/rtsock_current.c:579: insist 'iflp_temp != NULL' failed
Message from syslogd@ at Dec 8 10:53:39 ... dcd[6753]: /build/ryowo-c/7.4R1.7/src/juniper/sbin/dcd/rtsock/rtsock_current.c:579: insist 'iflp_temp != NULL' failed
Message from syslogd@ at Dec 8 10:53:44 ... dcd[6819]: /build/ryowo-c/7.4R1.7/src/juniper/sbin/dcd/rtsock/rtsock_current.c:579: insist 'iflp_temp != NULL' failed mgd: commit complete Validation succeeded Installing package '/var/tmp/jinstall-8.0R1.9-export-signed.tgz' ...
Message from syslogd@ at Dec 8 10:53:50 ... dcd[6894]: /build/ryowo-c/7.4R1.7/src/juniper/sbin/dcd/rtsock/rtsock_current.c:579: insist 'iflp_temp != NULL' failed Verified jinstall-8.0R1.9-export.tgz signed by PackageProduction_8_0_0 Adding jinstall...
WARNING: This package will load JUNOS 8.0R1.9 software. WARNING: It will save JUNOS configuration files, and SSH keys WARNING: (if configured), but erase all other files and information WARNING: stored on this machine. It will attempt to preserve dumps WARNING: and log files, but this can not be guaranteed. This is the WARNING: pre-installation stage and all the software is loaded when WARNING: you reboot the system.
Saving the config files ... Installing the bootstrap installer ...
WARNING: A REBOOT IS REQUIRED TO LOAD THIS SOFTWARE CORRECTLY. Use the WARNING: 'request system reboot' command when software installation is WARNING: complete. To abort the installation, do not reboot your system, WARNING: instead use the 'request system software delete jinstall' WARNING: command as soon as this operation completes.
Saving package file in /var/sw/pkg/jinstall-8.0R1.9-export-signed.tgz ... Saving state for rollback ...
root>
root>
root> show version Model: olive JUNOS Base OS boot [7.4R1.7] JUNOS Base OS Software Suite [7.4R1.7] JUNOS Kernel Software Suite [7.4R1.7] JUNOS Packet Forwarding Engine Support (M20/M40) [7.4R1.7] JUNOS Routing Software Suite [7.4R1.7] JUNOS Online Documentation [7.4R1.7]
root>
root>
root>
root>
root>
root> request system reboot Reboot the system ? [yes,no] (no) yes
Shutdown NOW! Reboot consistency check bypassed - jinstall 8.0R1.9 will complete installation upon reboot [pid 7376]
root> *** FINAL System shutdown message from root@ *** System going down IMMEDIATELY [1] 2931 Dec 8 10:55:28 init: syslogd (PID 2511) exited with status=0 Normal Exit Waiting (max 60 seconds) for system process `vnlru' to stop...stopped Waiting (max 60 seconds) for system process `bufdaemon' to stop...stopped Waiting (max 60 seconds) for system process `syncer' to stop...stopped
syncing disks... 4 done Uptime: 4m35s ata0: Spinning down devices. Please wait... ata2: Spinning down devices. Please wait... Rebooting... Console: serial port BIOS drive A: is disk0 BIOS drive C: is disk1 BIOS 638kB/260032kB available memory
FreeBSD/i386 bootstrap loader, Revision 0.8 (builder@yamnahar.juniper.net, Fri Aug 11 15:53:26 GMT 2006) Loading /boot/defaults/loader.conf /boot/installer text=0x242153 data=0x2a158+0x2e226 syms=[0x4+0x39150+0x4+0x43f7a] - Hit [Enter] to boot immediately, or space bar for command prompt. Booting [installer]... Olive CPU Copyright (c) 1996-2001, Juniper Networks, Inc. All rights reserved. Copyright (c) 1992-2004 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. JUNOS 8.0R1.9 #0: 2006-08-11 15:56:28 UTC builder@yamnahar.juniper.net:/build/yamnahar-c/8.0R1.9/obj-i386/sys/compile/MFS Timecounter "i8254" frequency 1193182 Hz Timecounter "TSC" frequency 1750171158 Hz CPU: Intel(R) Pentium(R) M processor 1.73GHz (1750.17-MHz 686-class CPU) Origin = "GenuineIntel" Id = 0x6d8 Stepping = 8 Features=0xfe9fbff real memory = 268435456 (262144K bytes) sio0: gdb debugging port avail memory = 253173760 (247240K bytes) Preloaded elf kernel "installer" at 0xc07bf000. Preloaded md_image "/boot/mdimg" at 0xc07bf0a0. DEVFS: ready for devices md0: Preloaded image 3823616 bytes at 0xc04185b4 md1: Malloc disk Using $PIR table, 9 entries at 0xc00fdf30 npx0: 四.在一台PC上安装好jnos8.0 后 , ghost成镜像文件,制作启动文件,刻录出光盘(优点:以后装方便,不再去搞freebsd 然后又jinstall,一步到位),直接装vmware下.(me 的方法 ^_^)
4种方法均测试通过,登陆olive,随便做个配置,commit看看, 是不是报错啦? 报错如下: root# commit [edit] 'system' Missing mandatory statement: 'root-authentication' error: commit failed: (missing statements)
别急! set system root-authentication plain-text-password //按提示为root设置新密码;it's OK, commit试试,不报错了吧!
欢迎juniper爱好者测试!试用过但有几个问题:
问题1:em0不支持vlan-tagging,所以logical-router也没有意义问题2:似乎在em0上配IP后,要重启VM才生效在 shel下执行 ifconfig em0 down ifconfig em0 up 有时可以避免重新启动!
问题3:不支持Multicast,意味着与组播相关的路由协议都不能正常运行也不能运行使用tunnel可以在一定程度支持组播! [edit interfaces gre] unit 0 { tunnel{ source 192.168.197.249; destination 192.168.197.250; } family inet { address 10.49.2.2/30; } family mpls; }起了2个VM,然后EM1都配置上IP地址,commit了,VM网卡全是桥接,ping通了,要重启。实现是可以实现的,但是因为em不支持VLAN,所以没有办法配置很多个logical在同一台机器上。除非你有多个物理的em接口。如果是真实的em1000,这个是可以支持组播的。但在VM下,好象是无能为力了。只能期待VM再出新的版本,看能不能改进。若有3个物理网卡,那我VM也建立3个虚拟网卡,VM中一一对应物理网卡桥接,那么就可以有3个隔离的网络了,然后再多起几个VM下的JUNOS,不就可以做实验了呀,不过只有3个网段,呵呵。另外,OSPF在广播网中不跑广播模式,跑点到多点非广播或NBMA是完全没有问题的。我这样做,起了4个junos跑OSPF,全部路由都通了。呵呵!可以多起几个Loopback网卡,再把JunOS桥过来啊.没必要那么多物理网卡.有一块和外边通信就可以了看看我做的2个JUNOS在以太上跑OSPF R1: root@R1>show configuration interfaces { em0 { unit 0 { family inet { address 33.33.33.10/24; } } } lo0 { unit 10 { family inet { address 11.1.1.1/32; } } } } protocols { ospf { area 0.0.0.0 { interface em0.0 { interface-type nbma; priority 10; 这条命令需要加上,否则邻居建立不了的 neighbor 33.33.33.1; } interface lo0.0; } } } root@R1>show ospf neighbor Address Interface State ID Pri Dead 33.33.33.1 em0.0 Full 22.2.2.2 128 99 root@R1> show route inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 11.1.1.1/32 *[Direct/0] 00:05:18 > via lo0.10 22.2.2.2/32 *[OSPF/10] 00:02:37, metric 1 > to 33.33.33.1 via em0.0 33.33.33.0/24 *[Direct/0] 00:05:18 > via em0.0 33.33.33.10/32 *[Local/0] 00:05:18 Local via em0.0 224.0.0.5/32 *[OSPF/10] 00:05:18, metric 1 MultiReroot@R1> ping 22.2.2.2 source 11.1.1.1 PING 22.2.2.2 (22.2.2.2): 56 data bytes 64 bytes from 22.2.2.2: icmp_seq=0 ttl=64 time=1.852 ms 64 bytes from 22.2.2.2: icmp_seq=1 ttl=64 time=0.798 ms 64 bytes from 22.2.2.2: icmp_seq=2 ttl=64 time=0.670 ms ^C --- 22.2.2.2 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.670/1.107/1.852/0.530 ms
R2: root@R2> show configuration interfaces { em0 { unit 0 { family inet { address 33.33.33.1/24; } } } lo0 { unit 10 { family inet { address 22.2.2.2/32; } } } } protocols { ospf { area 0.0.0.0 { interface em0.0 { interface-type nbma; neighbor 33.33.33.10; } interface lo0.0; } } } root@R2> show ospf neighbor Address Interface State ID Pri Dead 33.33.33.10 em0.0 Full 11.1.1.1 10 110 root@R2> show route inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 11.1.1.1/32 *[OSPF/10] 00:03:25, metric 1 > to 33.33.33.10 via em0.0 22.2.2.2/32 *[Direct/0] 00:05:31 > via lo0.10 33.33.33.0/24 *[Direct/0] 00:05:31 > via em0.0 33.33.33.1/32 *[Local/0] 00:05:31 Local via em0.0 224.0.0.5/32 *[OSPF/10] 00:05:31, metric 1 MultiRecv root@R2> ping 11.1.1.1 source 22.2.2.2 PING 11.1.1.1 (11.1.1.1): 56 data bytes 64 bytes from 11.1.1.1: icmp_seq=0 ttl=64 time=1.624 ms 64 bytes from 11.1.1.1: icmp_seq=1 ttl=64 time=0.654 ms
|