RHLinux下ipv4多播路由的配置和测试
一 测试环境
1 网络拓扑
交换机
internet route
eth1 eth0
(不好意思网络拓扑帖不上)
ip地址分配:(linux图形下进行配置)
eth1:202.198.a.b //外网入口
eth0:192.168.0.1 //内网出口
host1:192.168.0.2 //子网内主机
host2:192.168.0.3 //子网内主机
2 对外访问
这里我们采用的是简单的NAT(可参考局域网建设相关内容),使得内网可以访问外网
在/etc/rc.local中加入以下内容
echo "1">;/proc/sys/net/ipv4/ip_forward //开启转发功能
/sbin/modprobe ip_tables //加载相应的内核过滤模块
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -o eth1 -j SNAT --to-source 202.198.a.b
保存文件
chmod +x /etc/rc.local
执行文件/etc/rc.local
测试局域网:
host1上:ping 192.168.0.2
ping 192.168.0.1
ping 202.198..a.254 //route的网关地址 这一步通了说明我们已经配置成功了
我们的网络可以很好的工作了,但是还不知组播,接下来我们让它来为我们的组播工作。
二 配置多播路由
1. 软件需求:
mrouted3.9beta3
ftp://ftp.rge.com//pub/communica ... ed-3.9-beta3.tar.gz
mrouted Linux patch:
ftp://ftp.debian.org/debian/dist ... 3.9-beta3-1.diff.gz
2 内核要求:
linux内核(我的rh9 2.4.20) 改内核不需要重新编译已经满足一下条件
以下几项需要选中
Networking options --->;
IP: multicasting
IP: advanced router
IP: multicast routing
IP: PIM-SM version 1 support
IP: PIM-SM version 2 support
3 安装mrouted:
假设你的文件下载到/tmp目录
cd /usr/src
tar xvzf /tmp/mrouted-3.9-beta3.tar.gz
gunzip /tmp/mrouted_3.9-beta3-1.diff.gz | patch -p0
得到的输出结果
patching file `mrouted-3.9-beta3.orig/Makefile'
patching file `mrouted-3.9-beta3.orig/defs.h'
patching file `mrouted-3.9-beta3.orig/pathnames.h'
patching file `mrouted-3.9-beta3.orig/debian/init.d'
patching file `mrouted-3.9-beta3.orig/debian/changelog'
patching file `mrouted-3.9-beta3.orig/debian/copyright'
patching file `mrouted-3.9-beta3.orig/debian/dirs'
patching file `mrouted-3.9-beta3.orig/debian/control'
patching file `mrouted-3.9-beta3.orig/debian/rules'
patching file `mrouted-3.9-beta3.orig/debian/README.debian'
patching file `mrouted-3.9-beta3.orig/igmp.i'
patching file `mrouted-3.9-beta3.orig/netinet/ip_mroute.h'
patching file `mrouted-3.9-beta3.orig/vers.c'
cd mrouted*
该软件是应用在FreeBSD下,要再我们这里使用需要做一下修改
998: fprintf(stderr, "%02d:%02d:%02d.%03ld %s", thyme->;tm_hour,
999: thyme->;tm_min, thyme->;tm_sec, now.tv_usec / 1000, msg);
修改成:
998: fprintf(stderr, "now: %s",
999: msg);
make
到这里mrouted安装完毕。
4 mroute配置文件
安装完之后,我们创建文件/etc/mrouted.conf,加入以下内容,我们也可以使用默认配置。
phyint eth0 rate_limit 0 igmpv1
phyint eth1 rate_limit 0 igmpv1
在这里你可以加更多的配置信息,上面两句是说明mrouted使用igmpv1在eth0和eth1接口,并且rate limit为0, 现在的linux都支持igmpv1和igmpv2但是我们测试v2是否在这里也能工作。
5 配置静态路由:
route add –net 224.0.0.0 netmask 240.0.0.0 dev eth0
这里的eth0是组播数据的出口,你可以根据自己的情况修改。
启动mrouted
mrouted –c /etc/mrouted.conf –d
可以把它的启动加在/etc/rc.local中。