标签: vlan

  • 上海移动IPTV单线复用

    1. 运营商光猫桥接
      拓朴图:

      这是最简单的一种实现方法,拓扑图是最简化的情况,交换机可以多个串联,还可以使用支持Vlan的交换机。
      pon stick设置

      其中关键的几点:
      连接模式 桥接
      IP模式 IPv4&IPv6
      DHCP Server关闭
      MTU 1500
      启用Vlan 选中
      Vlanid 1101
      LAN端口绑定 LAN1

      其中关键的几点:
      连接模式 桥接
      IP模式 IPv4&IPv6
      MTU 1500
      启用Vlan 选中
      Vlanid 1103
      Openwrt设置
      IPv6 ULA 前缀:设置为空,机顶盒不支持ula并会导致机顶盒ipv6不通,如果不需要机顶盒的ipv6支持也可以不设置为空
      防火墙设置

      网络拓扑
      如果使用的是管理型交换机自己根据需要配置,至于网上提到的dhcp option125我这里没有用到,如果有用到的可以参考网上的贴子。我这里把vlan配置好就能用了。
      openwrt中dhcp option可以这样配置(不必要):
    2. 猫棒+openwrt路由器
      我用的是MA5671A,在猫棒上把互操作兼容模式关闭,这样把所有的Vlan透传到路由器
      网络拓朴

      openwrt上把所有端口放到一个网桥中,把openwrt路由器当成一个交换机然后划分vlan

      重点是其中的1101,1103,50这3个vlan,这是从pon网络传过来的。31,33这两个vlan是在本地创建的,我把局域网和iptv的网段通过vlan分隔了。其它的vlan没有用,我只是把pon网络支持的vlan全配置了。
      防火墙的配置参考上面,IPv6 ULA 前缀也与上面一致。
      拨号的时候绑定vlan 1101

      iptv内网绑定vlan 31,lan绑定vlan 33
      这样做理论上是没有问题的,但是我每次打开机顶盒都要重启路由器,不然就会像看幻灯片一样,抓包发现会有大量丢包,而且vlan 1103的tag标签时不时的会丢掉。vlan标签丢掉是造成丢包的一个原因,是不是所有原因还不清楚。基本上可以确定vlan标签在网桥中透传时出错了。还不确定是个例还是openwrt的通病。
    3. pon stick插到交换机上
      拓朴图

      这种方法我没有试,但可以绕过openwrt用交换机进行vlan透传,避免openwrt造成的丢包问题。

    注意:
    MTU正确设置也是很重要的,ppoe连接上一定要打开mss钳制,连接的mtu也要设置正确。
    vlan说明:1101是pppoe,1103是单拨iptv,50是组播,110是tr069,1102是voip,其中有用的是1101和1103。lan端口绑表表示untag口,否者就是tag口
    我在配置的过程中影响比较大的还是vlan和mtu,这两点没问题就能通。另外机顶盒对ipv6兼容性不是很好也是要注意的地方。
    有线和无线尽量不放在一个vlan或网段中,因为有线网络中的广播以及组播包会干扰无线网络。

    Views: 26

  • asus路由器实现vlan划分(RT-AX68U)

    使用vlanctl命令可以添加tag和untag形式的VLAN,一般untag只添加一个就够了,其它都是tag vlan。要注意的是划分vlan以后原来的iface就转换为二层接口不能配置网络协议了,所有配置都放在vlan上面。
    我这里有一个脚本可以参考

    #!/bin/sh
    
    function create_vlan_untagged {
        local if={1}
        local vlanid={2}
    
        vlanctl --mcast --if-create-name {if}{if}.{vlanid}
        vlanctl --if{if} --rx --tags 0 --set-rxif {if}.{vlanid} --rule-append
        ifconfig {if}.{vlanid} up
    }
    
    function create_vlan_tagged {
        local if={1}
        local vlanid={2}
    
        vlanctl --mcast --if-create-name {if}{if}.{vlanid}
        vlanctl --if{if} --rx --tags 1 --filter-vid {vlanid} 0 --pop-tag --set-rxif{if}.{vlanid} --rule-append
        vlanctl --if{if} --tx --tags 0 --filter-txif {if}.{vlanid} --push-tag --set-vid {vlanid} 0 --rule-append
        ifconfig{if}.${vlanid} up
    }
    create_vlan_untagged eth1 1
    create_vlan_untagged eth3 1
    ip link set eth1.1 up
    ip link set eth3.1 up
    brctl delif br0 eth1 eth3
    brctl addif br0 eth1.1 eth3.1
    
    create_vlan_tagged eth1 5
    create_vlan_tagged eth3 5
    ip link set eth1.5 up
    ip link set eth3.5 up
    brctl addbr br1
    brctl stp br1 on
    brctl addif br1 eth1.5
    brctl addif br1 eth3.5
    ip link set br1 up
    ip addr add 192.168.5.1/24 dev br1
    
    nvram set lan_ifnames="eth1.1 eth2 eth3.1 eth4 eth5 eth6"
    nvram set br0_ifnames="eth1.1 eth2 eth3.1 eth4 eth5 eth6"
    nvram set br1_ifname=br1
    nvram set br1_ifnames="eth1.5 eth3.5"
    nvram set lan1_ifname=br1
    nvram set lan1_ifnames="eth1.5 eth3.5" 
    nvram commit
    

    此脚本可以放在/jffs/scripts/services-start中
    然后在/jffs/scripts/firewall-start中添加

    “`iptables -I FORWARD -i br1 -j ACCEPT“`
    这样就实现了在一根网线上划分多个vlan并配置多个网段
    可以用vlanctl –rule-dump-all列了所有规则,然后用dmesg查看

    Views: 48