• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Linux下多播路由的實現

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    前言(只是一些廢話,不想看的可以略過) ===================================== 多播路由是一個很好的技術,在Internet上實現了對數據的“廣播”,不同于廣播的是,由于廣播風暴的問題,路由器是禁止廣播數據跨路由傳送的。而多播則很好的解決了這個問題。

    前言(只是一些廢話,不想看的可以略過)
    =====================================
    多播路由是一個很好的技術,在Internet上實現了對數據的“廣播”,不同于廣播的是,由于廣播風暴的問題,路由器是禁止廣播數據跨路由傳送的。而多播則很好的解決了這個問題?,F在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 <-------你第一塊的IP地址
    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" <----允許IP轉發
    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客戶機的設置
    =====================
    只要在 控制面板->網絡->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.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>