linux多播路由器,Linux下多播路由的实现

Linux下多播路由的实现

发表于:2007-06-08来源:作者:点击数:

标签:

前言(只是一些废话,不想看的可以略过) ===================================== 多播路由是一个很好的技术,在Internet上实现了对数据的“广播”,不同于广播的是,由于广播风暴的问题,路由器是禁止广播数据跨路由传送的。而多播则很好的解决了这个问题。

前言(只是一些废话,不想看的可以略过)

=====================================

多播路由是一个很好的技术,在Internet上实现了对数据的“广播”,不同于广播的是,由于广播风暴的问题,路由器是禁止广播数据跨路由传送的。而多播则很好的解决了这个问题。现在M$软件如:Netmeeting,WMS就广泛运用了多播这种技术。这里讨论的是怎么样把你的

1 安装透明网关

===============

1.1 在你的机器上安装多块网卡

安装的方法很多,用你最熟悉的方法装就可以了,象

1.2 设定网卡的IP等一系列数据

第一块卡:

修改/etc/sysconfig/network-scripts/ifcfg-eth0,如果没有这个文件,手工创建一个,内容如下:

DEVICE=eth0

BOOTPROTO=static

ONBOOT=yes

IPADDR=10.0.0.1

NETMASK=255.255.255.0

BROADCAST=10.0.0.255

GATEWAY=10.0.0.1

并把文件设为可执行:

#chmod 755 /etc/sysconfig/network-scripts/ifcfg-eth0

第二块卡:

修改/etc/sysconfig/network-scripts/ifcfg-eth1,如果没有这个文件,

手工创建一个,内容如下:

DEVICE=eth1

BOOTPROTO=static

ONBOOT=yes

IPADDR=10.0.1.1

NETMASK=255.255.255.0

BROADCAST=10.0.1.255

GATEWAY=10.0.1.1

并把文件设为可执行:

#chmod 755 /etc/sysconfig/network-scripts/ifcfg-eth1

设定静态路由:

修改/etc/sysconfig/static-routes,如果没有这个文件,手工创建一个,内容如下:

eth0 net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1

eth1 net 10.0.1.0 netmask 255.255.255.0 gw 10.0.1.1

允许IP转发:

修改/etc/sysconfig/network,如果没有这个文件,手工创建一个,内容如下:

NETWORKING="yes"

FORWARD_IPV4="yes"

HOSTNAME="test"

GATEWAY="10.0.0.1"

GATEWAYDEV="eth0"

2 给内核加上多播路由支持

========================

2.1 内核默认是不支持的,你得重新编译内核,加入多播路由的支持。

#cd /usr/src/linux

#make menuconfig

确认选中以下的选项:

Code maturity level options --->

[*] Prompt for development and/or incomplete code/drivers

Networking options --->

[*] IP: multicasting

IP: tunneling

[*] IP: multicast routing

存盘退出

2.2 重编译内核

#make dep

#make clean

#make install

经过长时间的等待后,新的内核将会装上去。

3 安装mrouted-3.8

=================

3.1 mrouted是一个多播路由服务,通过它,可以把Linux作为一个多播路由器来使用。

3.2 编译

#tar -zxpvf mrouted-3.81-linux.tgz

#cd mrouted-3.81/mrouted

#make

运气好的话,你一次就能成功编译。哈~ 不过多数情况是象我一样编译不过去的,这是因为内核版本不同,这时你就得手工改写Makefile和里面相关的.c文件。(不会写Makefile和C语言是玩不转的,呵呵呵)改动比较多,这里就不写出来的。有需要的同志可以与我联系。

#./Install

这时会问你几个安装上的问题,一路回车就可以了。

3.3 修改/etc/mrouted.conf

找到

tunnel 128.4.0.77 128.4.0.8 metric 1 threshold 64 rate_limit 500

把它用#注释掉。

3.4 把mrouted的相关文件拷到相应的目录:

#cp map-mbone /sbin/

#cp mrinfo /sbin/

#cp mrouted /sbin/

#cp mstat /sbin/

#cp mtrace /sbin/

#cp map-mbone.8 /usr/man/man8/

#cp mrinfo.8 /usr/man/man8/

#cp mrouted.8 /usr/man/man8/

#cp mstat.8 /usr/man/man8/

#cp mtrace.8 /usr/man/man8/

4 编写mrouted的启动文件

=======================

4.1 建立/etc/rc.d/mrouted,内容如下:

#!/bin/sh

# A Script to start mrouted and add a ipchains forward

#把eth0加入多播路由表中

route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0

#把eth1加入多播路由表中

route add -net 224.0.0.0 netmask 240.0.0.0 dev eth1

/sbin/mrouted

#把两个网段内的IP加入IP转发列表

/sbin/ipchains -A forward -s 10.0.1.2/24 -j MASQ

/sbin/ipchains -A forward -s 10.0.1.3/24 -j MASQ

……中间省略

/sbin/ipchains -A forward -s 10.0.1.253/24 -j MASQ

/sbin/ipchains -A forward -s 10.0.1.254/24 -j MASQ

/sbin/ipchains -A forward -s 10.0.0.2/24 -j MASQ

/sbin/ipchains -A forward -s 10.0.0.3/24 -j MASQ

……中间省略

/sbin/ipchains -A forward -s 10.0.0.253/24 -j MASQ

/sbin/ipchains -A forward -s 10.0.0.254/24 -j MASQ

并把文件设为可执行:

#chmod 755 /etc/rc.d/mrouted

4.2 修改/etc/rc.d/rc.local,让它开机时自动mrouted,在文件的最后加上:/etc/rc.d/mrouted

这时,多播路由的设置全部完成,这可是双向路由O~

5 windows客户机的设置

=====================

只要在 控制面板->

6 存在的问题

============

多播在一些100M网卡上不能被实现,原因未明。如:

DLink的DTF-530TX Rev A 这一版的网卡就不能实现多播。而同是DLink的DTF-530TX Rev B 这一版的网卡却可以实现多播。因此,安装时要注意这方面的问题。对于10M的PCI网卡,

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值