ROS加VLAN ADSL多线PCC叠加设置

/ 7评 / 0

我们公司办公室里有两个ADSL共享上网,管理控制不方便再加上带宽利用率也不高,于是决定改用ROS做双线叠加,再加上网上很多人说两块网卡和一台可划VLAN的交换机就可以实现多线叠加,正好公司有多余的设备,正好用上。着手进行设置,设置完成后发现有且只有一条线能拨上号,一开始怀疑是VLAN划分有问题或者是交换机有问题,后来经过测试都没有问题,经baidu和google搜索发现在同一个网卡上划分的VLAN都是使用的那个网卡的MAC地址,电信限制了一个MAC地址只能用于一条ADSL拨号上网,当其中一条线路拨上以后这个MAC就不能再拨其它的帐号了,网上的前辈们说可以用桥来达到改变VLAN的MAC地址的目的,经过多方帮助以及研究,终于将ROS加VLANADSL多线PCC叠加设置成功

现在将处理过程记录在此方便以后查阅,上图麻烦,直接上脚本,而且是万能脚本,也很容易看懂。

1、划分VLAN、添加bridge并绑定多MAC、添加bridge端口

  1. :for i from=1 to=2 do={/interface vlan add arp=enabled comment="" disabled=no\   
  2.  interface=wan mtu=1500 name=("v1".$i) use-service-tag=no vlan-id=("1".$i)}   
  3. :for i from=1 to=2 do={/interface bridge add admin-mac=("00:A2:E0:F1:71:9".$i)\   
  4.  ageing-time=5m arp=enabled auto-mac=no comment="" disabled=no forward-delay=15s\   
  5.  l2mtu=65535 max-message-age=20s mtu=1500 name=("ADSL-".$i)\   
  6.  priority=0x8000 protocol-mode=none transmit-hold-count=6}   
  7. :for i from=1 to=2 do={/interface bridge port add bridge=("ADSL-".$i) comment="" disabled=no\   
  8.  edge=auto external-fdb=auto horizon=none interface=("v1".$i) path-cost=10 point-to-point=auto priority=0x80}  

对以上脚本做一个简单的解释

第一个带冒号的语句是在wan网口上划分VLAN,有几条线就把“to”后面的“2”改为你的实际线数,名称前缀为“VL”。

第二个带冒号的语句是添加桥并按顺序设置MAC,有几个VLAN就添加几个桥,名称前缀为“ADSL-”。

第三个带冒号的语句是将VLAN添加到对应的桥下面,比如VLAN11就添加到第一个桥下面

2、添加PPPOE接口

  1. :for i from=1 to=2 do={/interface pppoe-client add name=("pppoe-out".$i)\   
  2.  interface=("ADSL-".$i) user=我是拨号帐号 password=我是拨号密码 add-default-route=no disabled=no}

这里要注意的是脚本里面的 “user”和“password”这两个的值要手动改一下,因为不可能每条ADSL的帐号和密码都一样,同上,“to”后面的数值可根据实际情况修改,有几条线就改成几,下面的脚本同此

3、设置多线叠加标记及PCC

  1. /ip firewall mangle   
  2. add action=change-mss chain=forward comment="" disabled=no new-mss=1400 protocol=tcp tcp-flags=syn   
  3. :for i from=1 to=2 do= {/ip firewall mangle add action=mark-connection chain=input comment="" disabled=no\   
  4.  in-interface=("pppoe-out".$i) new-connection-mark=("pppoe-out".$i) passthrough=yes}   
  5. :for i from=1 to=2 do= {/ip firewall mangle add action=mark-routing chain=output comment="" connection-mark=("pppoe-out".$i)\   
  6.  disabled=no new-routing-mark=("to_pppoe-out".$i) passthrough=yes}   
  7. :for i from=1 to=2 do= {/ip firewall mangle add action=mark-connection chain=prerouting comment="" disabled=no dst-address-type=!local\   
  8.  new-connection-mark=("pppoe-out".$i) passthrough=yes per-connection-classifier=("both-addresses:2/".($i-1)) src-address=192.168.0.0/24}   
  9. :for i from=1 to=2 do= {/ip firewall mangle add action=mark-routing chain=prerouting comment="" connection-mark=("pppoe-out".$i)\   
  10.  disabled=no new-routing-mark=("to_pppoe-out".$i) passthrough=yes src-address=192.168.0.0/24}  

4、添加路由和设置NAT

  1. :for i from=1 to=2 do= {/ip route add comment=("adsl".$i) disabled=no distance=1 dst-address=0.0.0.0/0\   
  2.  gateway=("pppoe-out".$i) routing-mark=("to_pppoe-out".$i)}   
  3. :for i from=1 to=2 do= {/ip route add check-gateway=ping comment=("adsl".$i) disabled=no distance=10 dst-address=0.0.0.0/0\   
  4.  gateway=("pppoe-out".$i)}   
  5. /ip firewall nat add action=masquerade chain=srcnat comment="NAT" disabled=no out-interface=!lan  

经过以上的设置,我的ROS加VLAN的ADSL多线叠加设置就成功了,以上脚本可以说是做这个设置的万能脚本了,要改的地方非常少。下一步我将整理ADSL多线叠加下的端口映射和回流,想方便了解我的最新动态,请留言并订阅我的博客!

  1. xiao says:

    你好,是什么ROS版本的脚本..都通用吗..看你解释很详细..

  2. admin says:

    :for i from=1 to=2 do= {/ip route add comment=(“adsl”.i) disabled=no distance=1 dst-address=0.0.0.0/0\ gateway=(“pppoe-out”.i) routing-mark=(“to_pppoe-out”.i)}
    :for i from=1 to=2 do= {/ip route add check-gateway=ping comment=(“adsl”.
    i) disabled=no distance=10 dst-address=0.0.0.0/0\
    gateway=(“pppoe-out”.$i)}

    为什么要增加两次这样的路由?

  3. 大城小我 says:

    ros高手呀,说的很详细 😯

  4. ROS太极 says:

    有个问题 。照这样做后。只有拔号一有走流量,别的拔号线都没看到有流量跑动。这是为什么呢?

Leave a Reply to ROS太极 Cancel reply

Your email address will not be published. Required fields are marked *