linux启用IPV4组播路由转发

linux启用IPV4组播路由转发

最近在研究组播路由转发,按照网上的帖子配置mrouted和smcroute都试过了,编译错误,没办法继续,最后试了一下pimd,并测试成功

一、软件系统

1、系统内核 2.6.18

2、pimd软件  https://github.com/downloads/troglobit/pimd/pimd-2.1.8.tar.bz2

3、两台WindowXP主机A和B,单网卡
     一台Linux主机,双网卡

WindowsXP 主机A  (连接linux eth0 接口)

ip地址  10.10.10.1掩码 255.255.255.0 网关:10.10.10.2

linux主机

eth0   ip地址10.10.10.2 掩码 255.255.255.0 网关:10.10.10.1

eth1     192.168.111.2掩码 255.255.255.0 网关:无

WindowsXP 主机B  (连接linux eth1 接口)

ip地址  192.168.111.2掩码 255.255.255.0 网关:192.168.111.1

二、

1、查看Linux系统是否支持多播:

方法A:  ifconfig出现 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric

方法B: 查看/boot/config-x.x.xx  文件中是否有如下内容

                       CONFIG_IP_MULTICAST=y
                       CONFIG_NET_IPIP=m
                       CONFIG_IP_MROUTE=y

2、如果系统不支持多播,需要编译内核

编译步骤如下: 

运行make menuconfig
进 Networking support -> Networking options ,
里面就有选项:
IP: multicasting 
IP: tunneling
IP: multicast routing 
IP: PIM-SM version 1 support 
IP: PIM-SM version 2 support 
选中这几项,保存退出

make && make modules_install && make install

重启,用新内核启动。

3、启用路由转发 echo 1 >/proc/sys/net/ipv4/ip_forward

4、配置pimd

    将下载的pimd-2.1.8.tar.bz2解压并进入解压目录

  make

 make install

安装完成后执行pimd

/usr/local/sbin/pimd

如果在执行pimd时出错,可以先关闭iptables再执行pimd就不报错了(实际上报错并不影响测试)

5、运行windows xp 主机A上的发送程序

1d2b7d8b4710b9129d25565dc3fdfc0393452263

6、运行windows xp主机B上的接收程序

07106f59252dd42af7d1a108033b5bb5c8eab870

已经收到包了。

--------------------------------------------------------------------------------------------

linux上可以用几个命令查看组播配置

[root@gaodi-linux ~]# route -e
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.111.0   *               255.255.255.0   U         0 0          0 eth1
10.10.10.0      *               255.255.255.0   U         0 0          0 eth0
default         10.10.10.1      0.0.0.0         UG        0 0          0 eth0
[root@gaodi-linux ~]# ip mroute
(10.10.10.1, 224.1.1.1)          Iif: eth0       Oifs: eth1 
[root@gaodi-linux ~]# more /proc/net/ip_mr_vif
Interface      BytesIn  PktsIn  BytesOut PktsOut Flags Local    Remote
 0 eth0       18348036   17362   9784860    9231 00000 020A0A0A 00000000
 1 eth1       113304460  106891  18009400   16990 00000 016FA8C0 00000000
 2 pimreg            0       0         0       0 00004 020A0A0A 00000000
[root@gaodi-linux ~]# more /proc/net/ip_mr_cache 
Group    Origin   Iif     Pkts    Bytes    Wrong Oifs
010101E0 010A0A0A 0      17637 18695220        0  1:1  
FAFFFFEF 010A0A0A 0         30    12393        0
[root@gaodi-linux ~]# 

备注:如果使用虚拟机测试,网卡不能设置为桥接模式,否则不转发组播包。


本文转自gaodi2002 51CTO博客,原文链接:http://blog.51cto.com/gaodi2002/1618055


  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值