发新话题
打印

[注意] 请测试VRRP补丁和补丁固化功能

本主题由 小漏 于 2008-4-19 09:41 置顶

请测试VRRP补丁和补丁固化功能

VRRP补丁,注意修改文件名
syscall10.zip (2.7 KB)


内核补丁,用来固化补丁的修改。
使用说明,利用压缩包中解压出来的kernel替换系统中的kernel,
然后编写/etc/rc.custom文件
-------------------------------
#!/bin/sh
echo "Hello From Rwayan  Router“
kldload syscall
sysctl dev.em.0.fix_em_multicast=1
sysctl dev.em.1.fix_em_multicast=1
sysctl dev.em.2.fix_em_multicast=1
sysctl dev.em.3.fix_em_multicast=1
-------------------------------
chmod +x /etc/rc.custom

forjunos.part1.rar (8.58 MB)
forjunos.part2.rar (8.58 MB)
forjunos.part3.rar (7.85 MB)
引用:
2008.04.19 netemu编辑
for junos 附件下载可以采用下面的直接连接
http://www.xiaolou.net/netemu/junos/Netemu.cn_vmware_for_junos.rar
http://netemu.cn/bbs/thread-8389-1-1.html

TOP

感谢楼主白忙之中抽出时间来更新,如果能有个英文说明就好了

TOP

能够说说大致怎么做的嘛?
分析

TOP

现在是要等兄弟告诉我成功了,不过VRRP比较复杂,成功的概率比较低,呵呵
我需要知道效果,好尽快改进,我自己也不知道VRRP的补丁能不能管用。


不过那个固化的大家都可以试试看,不错的

TOP

好像就我能试

第一点:在JUNOS 9.0 R2.10 下面,替代kernel后引导不正常

veriexec: cannot update veriexec for /packages/mnt/jcrypto-9.0R2.10/usr/lib/libcrypto.so.3: Operation not supported by device
veriexec: cannot update veriexec for /packages/mnt/jcrypto-9.0R2.10/usr/lib/libepides.so.1: Operation not supported by device
veriexec: cannot update veriexec for /packages/mnt/jcrypto-9.0R2.10/usr/lib/libssl.so.3: Operation not supported by device
veriexec: cannot update veriexec for /packages/mnt/jcrypto-9.0R2.10/usr/libexec/stunnel: Operation not supported by device
veriexec: cannot update veriexec for /packages/mnt/jcrypto-9.0R2.10/modules/ipsec.ko: Operation not supported by device
veriexec: cannot update veriexec for /packages/mnt/jcrypto-9.0R2.10/usr/sbin/kmd: Operation not supported by device
veriexec: cannot update veriexec for /packages/mnt/jcrypto-9.0R2.10/usr/share/help/syslog-modules/jcrypto.help.tgz: Operation not supported by device

第2点:在JUNOS 9.0 R2.10 下面进入单用户模式加载syscall.ko之后,启动过程提示重启:

syscall(3b,3b,3b,4,0) at 0
Xint0x80_syscall() at 0
--- syscall (202, FreeBSD ELF32, __sysctl), eip = 0x8811b88f, esp = 0xbfbed4fc, ebp = 0xbfbed538 ---
Uptime: 4m2s
Automatic reboot in 15 seconds - press a key on the console to abort


第3点:JUNOS 8.5R1.10 下面没有以上问题。可以完成补丁“固化”,但是仍不支持VRRP

已经做了VRRP的2组配置后:

root# run show vrrp summary
VRRP is not running
   

补充:
VRRP协议,其源MAC地址必须为虚拟MAC地址,格式为00-00-5E-00-01-{VRID},VRID为虚拟路由器ID值,16进制格式,所以同一网段中最多有255个VRRP路由器;目的MAC为多播类型的MAC。目的MAC地址为组播01-00-5e-00-00-18

VRRP一定会使用到固定的组播MAC01-00-5e-00-00-18,另外还会用到虚拟的MAC。


感觉用这种方式解决,每个组播MAC都要手动添加的话,不是长久之计,因为使用组播的协议还有很多,比如:PIM、IPv6自动发现等。发现 以下这个老外没有提到使用补丁,仍然可以跑路由协议:http://www.smogey.net/tech/Juniper/Olive/index.htm#junos




(待续)

[ 本帖最后由 apostle100 于 2008-4-27 14:41 编辑 ]

TOP

谢谢,兄弟,VRRP的协议我不是很熟,所以没搞清楚,sorry。。。我再把01-00-5e-00-00-18加进去。再帮忙试试看,谢谢!
看你的解释,源MAC是不重要的,关键是目的MAC ,必须是01-00-5e-00-00-18。


我的补丁是基于汇编代码的所以和8.5高度相关,换了版本的确就不行了。

那个老外的应用没有表明可以使用ospf,不能确定他是否成功


兄弟都用上9.0了,羡慕啊。。。
9.0下面不打补丁的话,ospf是不是正常的?

附件

syscall11.rar (2.55 KB)

2008-5-1 09:57, 下载次数: 18

用法如前。。请帮忙测试,多谢

TOP

老外那个可以跑RIP,已经可以跑组播了吧?(RIPV2默认就是组播)

不打补丁的9.0和不打补丁的8.5..................是一样的

上面这个syscall11.ko的补丁测试后还是一样的效果:

root# run show vrrp summary                  
VRRP is not running   
而且monitor接口看不到任何流量。

在真机olive,同样monitor接口可监测到如下流量:

00:18:44.739349 Out VID [0: 623] IP 10.100.1.2 > 224.0.0.18: VRRPv2-advertisement 20: [ttl=254!] vrid=1 prio=100 authtype=none intvl=1
00:18:44.739455  In VID [0: 626] IP 10.100.1.2 > 224.0.0.18: VRRPv2-advertisement 20: [ttl=253!] vrid=1 prio=100 authtype=none intvl=1
00:18:44.739509  In VID [0: 620] IP 10.100.1.2 > 224.0.0.18: VRRPv2-advertisement 20: [ttl=252!] vrid=1 prio=100 authtype=none intvl=1
00:18:44.740124  In VID [7: 640] IP 10.100.1.1 > 224.0.0.18: VRRPv2-advertisement 20: vrid=1 prio=254 authtype=none intvl=1
00:18:44.740533  In VID [0: 645] IP 10.100.1.1 > 224.0.0.18: VRRPv2-advertisement 20: [ttl=254!] vrid=1 prio=254 authtype=none intvl


从现象分析来看,在e1000网卡情况下,配置VRRP压根没生效;VRRP和OSPF的差别在于,OSPF发出组播,只是使用组播MAC作为目的地址,而VRRP连网卡的源地址都要修改(因为VRRP的虚拟IP也可以接受流量,ARP解析虚拟IP,对应的是虚拟MAC ) ,如果网卡不增加源MAC,可能是导致vrrp跑不起来的原因。

[email=root@R5]root@R5[/email]> show arp  (这是真机olive)
MAC Address       Address         Name                     Interface
00:00:5e:00:01:02 10.100.2.253    10.100.2.253             fxp1.650

[ 本帖最后由 apostle100 于 2008-5-2 01:33 编辑 ]

TOP

老外那个只能跑rip,不信可以试试看
引用:
原帖由 apostle100 于 2008-5-2 01:20 发表
老外那个可以跑RIP,已经可以跑组播了吧?(RIPV2默认就是组播)

不打补丁的9.0和不打补丁的8.5..................是一样的

上面这个syscall11.ko的补丁测试后还是一样的效果:

root# run show vrrp summar ...

TOP

兄弟能不能抓点VRRP的报文给我看看啊,我这块一点都不懂。
引用:
原帖由 apostle100 于 2008-5-2 01:20 发表
老外那个可以跑RIP,已经可以跑组播了吧?(RIPV2默认就是组播)

不打补丁的9.0和不打补丁的8.5..................是一样的

上面这个syscall11.ko的补丁测试后还是一样的效果:

root# run show vrrp summar ...

TOP

好啊。报文格式如下:

[email=lab@R5]lab@R5[/email]> monitor traffic interface fxp2 detail
Listening on fxp2, capture size 96 bytes
15:09:58.032664 Out VID [7: 100] IP (tos 0xc0, ttl 255, id 336, offset 0, flags [none], proto: VRRP (112), length: 40) 10.1.1.2 > 224.0.0.18: VRRPv2-advertisement 20: vrid=100 prio=100 authtype=none intvl=1 addrs: 10.1.1.254
15:10:01.160095 Out VID [7: 100] IP (tos 0xc0, ttl 255, id 337, offset 0, flags [none], proto: VRRP (112), length: 40) 10.1.1.2 > 224.0.0.18: VRRPv2-advertisement 20: vrid=100 prio=100 authtype=none intvl=1 addrs: 10.1.1.254
15:10:04.469258 Out VID [7: 100] IP (tos 0xc0, ttl 255, id 338, offset 0, flags [none], proto: VRRP (112), length: 40) 10.1.1.2 > 224.0.0.18: VRRPv2-advertisement 20: vrid=100 prio=100 authtype=none intvl=1 addrs: 10.1.1.254




配置:

logical-routers {
    r2 {
        interfaces {
            fxp2 {
                unit 100 {
                    vlan-id 100;
                    family inet {
                        address 10.1.1.2/24 {
                            vrrp-group 100 {
                                virtual-address 10.1.1.254;
                                preempt;
                                accept-data;
                            }
                        }
                    }
                }
            }
        }
    }
    r3 {
        interfaces {
            fxp1 {
                unit 100 {
                    vlan-id 100;
                    family inet {
                        address 10.1.1.1/24 {
                            vrrp-group 100 {
                                virtual-address 10.1.1.254;
                                preempt;
                                accept-data;
                            }
                        }
                    }
                }
            }
        }
    }
}

[email=root@R5]root@R5[/email]# run show vrrp summary
Interface   Unit  Group  Type  Address          Int state    VR state
fxp1        100   100    lcl   10.1.1.1         up           backup
                         vip   10.1.1.254
fxp2        100   100    lcl   10.1.1.2         up           master
                         vip   10.1.1.254

[ 本帖最后由 apostle100 于 2008-5-10 22:01 编辑 ]

TOP

版主,你好!我用了你的组播补丁已经可以跑ospf了。先表示万分的感谢!
关于VRRP这一块的话,我也是非常急切的想把它跑起来。这样我可以模拟的网络环境就可以更加真实。vrrp,我知道一些。但编程和操作系统我一点都不熟。附件是vrrp的抓包文件,可以用wireshark或ethernetreal打开。
包格式如下:
Frame 3 (60 bytes on wire, 60 bytes captured)
Ethernet II, Src: IETF-VRRP-virtual-router-VRID_08 (00:00:5e:00:01:08), Dst: 01:00:5e:00:00:12 (01:00:5e:00:00:12)
    Destination: 01:00:5e:00:00:12 (01:00:5e:00:00:12)
        Address: 01:00:5e:00:00:12 (01:00:5e:00:00:12)
        .... ...1 .... .... .... .... = Multicast: This is a MULTICAST frame
        .... ..0. .... .... .... .... = Locally Administrated Address: This is a FACTORY DEFAULT address
    Source: IETF-VRRP-virtual-router-VRID_08 (00:00:5e:00:01:08)
        Address: IETF-VRRP-virtual-router-VRID_08 (00:00:5e:00:01:08)
        .... ...0 .... .... .... .... = Multicast: This is a UNICAST frame
        .... ..0. .... .... .... .... = Locally Administrated Address: This is a FACTORY DEFAULT address
    Type: IP (0x0800)
    Trailer: 000000000000
Internet Protocol, Src: 8.1.1.1 (8.1.1.1), Dst: 224.0.0.18 (224.0.0.18)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 40
    Identification: 056 (5718)
    Flags: 0x00
        0... = Reserved bit: Not set
        .0.. = Don't fragment: Not set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 255
    Protocol: VRRP (0x70)
    Header checksum: 0xbbfb [correct]
        [Good: True]
        [Bad : False]
    Source: 8.1.1.1 (8.1.1.1)
    Destination: 224.0.0.18 (224.0.0.18)
Virtual Router Redundancy Protocol
    Version 2, Packet type 1 (Advertisement)
        0010 .... = VRRP protocol version: 2
        .... 0001 = VRRP packet type: Advertisement (1)
    Virtual Rtr ID: 8
    Priority: 100 (Default priority for a backup VRRP router)
    Count IP Addrs: 1
    Auth Type: No Authentication (0)
    Adver Int: 1
    Checksum: 0x71f1 [correct]
    IP Address: 8.1.1.3 (8.1.1.3)
盼版主早日破解VRRP。先谢谢啦!!!

附件

vrrp_packet.rar (211 Bytes)

2008-6-17 10:20, 下载次数: 6

TOP

版主。你好。不好意思。请问能不能修改一下补丁,使支持的em网卡最大数变为10呢?因为现在vmvare6.0已经可以支持10快网卡了。
而补丁只支持8块。如果可以的话,就万分感谢了!多谢!因为网卡属于稀缺资源,虽然有LR,但网卡总是不嫌多的。多谢了!

TOP

现在
VMware Workstation 6.5 Build 91182 Beta出来了,juniper EX-Series JUNOS 9.1出来了,哪位能在这个环境试试,说不定有意想不到的结果附下载地址http://www.namipan.com/d/jinstal ... cb530668105305d9005
VMware Workstation 6.5 Build 91182 Beta:http://www.onlinedown.net/soft/2062.htm

TOP

发新话题