分享
 
 
 

Linux下多播路由的实现

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

前言

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

多播路由是一个很好的技术,在Internet上实现了对数据的“广播”,不

同于广播的是,由于广播风暴的问题,路由器是禁止广播数据跨路由传送的。

而多播则很好的解决了这个问题。现在M$软件如:Netmeeting,WMS就广泛运

用了多播这种技术。这里讨论的是怎么样把你的Linux架设成一个多播路由器

(一般的网关、路由器是不支持多播数据包通过的)。并不是讨论编写这方面

的应用程序。

本来想把Multicast-Howto译出来的,但看看了,里面全是专业性的废话,

对真正想做这个的人来说,帮助不大,所以还是省点力气吧。再说,可能是因

为mrouted的版本跟不上Linux的内核的发展,在2.2-X上成功编译的人可能不

多,因此也就没有人写这东西了。

1 安装透明网关

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

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

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

我这里用的是直接修改配置文件的方法:(看来这家伙是个受虐狂)

修改/etc/conf.modules文件,加入网卡:

alias eth0 ne2k-pci

options ne io=0x300 irq=0x3

alias eth1 ne2k-pci

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作为一个多播路由器

来使用。下载:

ftp.parcftp.xerox.com/pub/net-research/ipmulti/

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客户机的设置

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

只要在 控制面板-网络-TCP/IP的属性-网关 中,把多播服务器的IP加

上即可。如:

WIN98客户机,IP为10.0.1.2,网关则为10.0.1.1

WIN98客户机,IP为10.0.0.2,网关则为10.0.0.1

设置完成后,就可在客户机启动多播应用程序。实现多播数据的跨路由传

送。

6 存在的问题

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

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

DLink的DTF-530TX Rev A 这一版的网卡就不能实现多播。而同是DLink的

DTF-530TX Rev B 这一版的网卡却可以实现多播。因此,安装时要注意这

方面的问题。

对于10M的PCI网卡,兼容性最好的是Realtek 8029。容易安装,也很好用。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有