linux 多播路由查看,Linux下多播路由的实现Windows系统 -电脑资料
前言(只是一些废话,不想看的可以略过) ===================================== 多播路由是一个很好的技术,在Internet上实现了对数据的“广播”,不同于广播的是,由于广播风暴的问题,路由器是禁止广播数据跨路由传送的,
前言(只是一些废话,不想看的可以略过)
=====================================
多播路由是一个很好的技术,在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
NBOOT=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
NBOOT=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
经过长时间的等待后,新的内核将会装上去,Linux下多播路由的实现Windows系统》(https://www.unjs.com)。
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。容易安装,也很好用。
原文转自:http://www.ltesting.net
linux 多播路由查看,Linux下多播路由的实现Windows系统 -电脑资料相关推荐
- linux篇:查看Linux版本号
一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/version Linux version 2.6 ...
- Linux Shell CentOS 查看Linux 操作系统 相关信息
文章目录 Linux Shell CentOS 查看Linux 操作系统 相关信息 相关阅读 1.代码 2.结果 Linux Shell CentOS 查看Linux 操作系统 相关信息 相关阅读 L ...
- Synergy工具 共享Windows系统电脑Linux系统电脑 鼠标键盘
Synergy工具 共享Windows系统电脑Linux系统电脑 鼠标键盘 相关软件相关文章发表评论 来源:西西整理时间:2014/11/6 15:03:11字体大小:A-A+ 作者:西西点击:24评 ...
- Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行——怎么将Unix/Mac系统下的文件转换到Windows系统下
先交代一下遇到的问题: 本人用的是Windows系统.在学习Triangle Mesh时,想将bunny.ply等经典的PLY文件导入程序中. 但是,文件被读入程序后,所有的内容变成了一行.从而,现成 ...
- 【转载】Windows系统电脑通过命令msinfo32查看系统信息
在Windows操作系统中,可以使用msinfo32的操作命令查看操作系统相关信息,通过msinfo32命令可以查看到系统摘要,包括硬件资源.组件.软件环境等系统信息.其中系统摘要包括冲突/共享.DM ...
- linux系统rc路由配置_Linux下多播路由的实现
Linux下多播路由的实现 前言(只是一些废话,不想看的可以略过) ===================================== 多播路由是一个很好的技术,在Internet上实现了对数 ...
- linux网卡操作命令 ,查看Linux下网卡连接状态(up还是down)?
调整网卡工作模式 mii-tool -v //查看网卡工作模式 mii-tool -F 100baseTx-FD eth0 //将eth0改为100M,全双工工作模式 mii-tool -r eth0 ...
- 【转】如何查看linux版本 如何查看LINUX是多少位
原文网址:http://blog.csdn.net/hongweigg/article/details/7192471 一.如何得知自己正在使用的linux是什么版本呢,下面的几种方法将给你带来答案! ...
- 怎么看linux Java版本,查看linux的java版本信息
查看linux的java版本信息 [2021-02-10 01:02:40] 简介: linux系统查看jdk版本的方法是:可以通过[java -version]命令来查看.具体方法是:1.打开终端 ...
最新文章
- VSEARCH让你免费使用无内存限制的USEARCH
- html复选框位置,html – 对齐复选框和标签
- 自定义封装ajax,复制即可用
- 验证二叉搜索树Python解法
- Spring Boot 2.1 版本变化[翻译]
- python随机奇数_python怎么随机生成奇数
- java获取inputstream_Java:我怎样才能从inputStream获取编码?
- 逆向链表c语言,C语言逆向打印双向链表程序
- Photoshop - RGB 转 CMYK 如何不失真?
- 光耦重要参数与常用设计注意事项
- AVR单片机ATmega16之初识PWM模式
- Index || 测试质量分析指标(定量分析+定性分析:T-RCA缺陷根因分析法)
- pip安装报错: unable to creat process using ‘“‘的解决方法
- 国际金融学试题及参考答案
- 2021年12月电子学会图形化三级编程题解析含答案:跳高比赛
- 二进制 八进制 十进制 十六进制
- 开心消消乐简单消除检测
- 【Linux】环境变量和命令行参数
- 手机百度网页背景颜色设置_手机百度底色怎么变为黑色?
- ST官网获取并生成常用PCB EDA工具的原理图库和封装库方法