找回密码
 加入我们
搜索
      
查看: 3010|回复: 18

[网络] 分享Mikrotik RouterOS自动重命名ether和bridge pppoe网口纠错脚本

[复制链接]
发表于 2024-5-28 10:54 | 显示全部楼层 |阅读模式
时不时会换着平台玩,backup还原不同架构的主机或者虚拟机时候,经常遇到pppoe绑定到了lan-bridge或者,lan-list上有wan-ether。。。
由于有防火墙,会导致无法winbox到。。。

其实除了以下脚本,更简单的办法是放行所有interface上的mac-to-winbox,或者退而求其次,写个脚本,开机放开所有mac-to-winbox的权限,然后几分钟后再禁用所有interface,默认是只自用lan-list的权限,或者"!wan-list"的权限。


以下脚本没有完全测试,而且由于遇到过有两个default-name=ether1,以及ether-net num0的default-name不是ether1的情况。我十分无语。

所以默认以default-name=ether1为pppooe网口,如果检测到有两个default-name=ether1,就以ehter num=0为pppoe网口。

另外会检查wan-list上没有lan interface
lan-list上面没有wan interface

请谨慎使用,目前只是在7.14.3上面使用了。至于检测到只有一个ether的情况还没有测试,虚拟机关机懒得再开了。

脚本最后,倒数第二行,我这边运行了自己的DDNS-update脚本。没需求的可以不用动,有需要的话改下就行。

水平有限,只能写这么啰嗦的脚本了。。。


  1. # 2024-05-28 10:47:06 by RouterOS 7.14.3
  2. #----------SCRIPT INFORMATION---------------------------------------------------
  3. #
  4. # Script:  Mikrotik RouterOS PPPOE-WAN Check
  5. # Version: v4.0
  6. # Created: 06/05/2024
  7. # Updated: 27/05/2023
  8. # Author:  G.D.
  9. #
  10. #----------MODIFY THIS SECTION AS NEEDED----------------------------------------
  11. #
  12. /system script
  13. add dont-require-permissions=no name=WAN_chk_v4 source=":\
  14.     delay 15s;\r\
  15.     \n:log info ":::-The Start-:The pppoeout interface settings Checker."\r\
  16.     \n\r\
  17.     \n:local pppoenm;\r\
  18.     \n:local LanList;\r\
  19.     \n:local WanList;\r\
  20.     \n:local WanNM;\r\
  21.     \n\r\
  22.     \n:set pppoenm "Your_pppoe-out_name";\r\
  23.     \n:set WanNM "Your_WAN_ether1";\r\
  24.     \n:set LanList "Your_LANlist_name";\r\
  25.     \n:set WanList "Your_WANlist_name";\r\
  26.     \n\r\
  27.     \n\r\
  28.     \n##----------------------------------------------------------------------\
  29.     --------------------##\r\
  30.     \n#  !!!! DO NOT CHANGE ANYTHING BELOW THIS LINE, IF YOU ARE NOT SURE WHAT\
  31.     \_YOU ARE DOING !!!!  #\r\
  32.     \n##----------------------------------------------------------------------\
  33.     --------------------##\r\
  34.     \n\r\
  35.     \n\r\
  36.     \n:local pppoeint;\r\
  37.     \n:local BridgeNM;\r\
  38.     \n:local tmms;\r\
  39.     \n:local Ether1NM;\r\
  40.     \n:local EtherNumALl;\r\
  41.     \n:local EachEthNM;\r\
  42.     \n:local EachEthDNM;\r\
  43.     \n\r\
  44.     \n\r\
  45.     \n:local EtherNum;\r\
  46.     \n:local NumEther;\r\
  47.     \n:local EtherTNum;\r\
  48.     \n:local EtherANum;\r\
  49.     \n:local MaxNum;\r\
  50.     \n:local csifnm;\r\
  51.     \n:local Ether1Count;\r\
  52.     \n\r\
  53.     \n:set tmms ([ :pick [/system clock get time ] 0 2 ] . [ :pick [/system cl\
  54.     ock get time ] 3 5 ] . [ :pick [ /system clock get time ] 6 8 ] );\r\
  55.     \n\r\
  56.     \n\r\
  57.     \n:set pppoeint [ /interface pppoe-client get [ find name="\$pppoenm" ] \
  58.     interface ];\r\
  59.     \n:set BridgeNM [ /interface bridge get num=0 name ];\r\
  60.     \n\r\
  61.     \n\r\
  62.     \n:local Minimum; \\\r\
  63.     \n:for Minimum from=0 to=24 step=1 do={ \\\r\
  64.     \n  :do { \\\r\
  65.     \n    /interface ethernet get num="\$Minimum" name;\r\
  66.     \n  :set EtherNum [ :tonum \$Minimum ];\r\
  67.     \n    :set NumEther [ :tonum \$Minimum ];\r\
  68.     \n    :set EtherTNum [ :tonum \$Minimum ];\r\
  69.     \n    :set EtherANum [ :tonum \$Minimum ];\r\
  70.     \n  :set EtherNumALl [ :tonum \$Minimum ];\r\
  71.     \n    :set MaxNum [ :tonum ( \$Minimum+1 ) ];\r\
  72.     \n    } on-error={ \r\
  73.     \n      :if ( [:tonum \$Minimum ]<=0 ) do={\r\
  74.     \n        :log info "::There is at most one ether."\r\
  75.     \n\r\
  76.     \n        :if ( [ :tobool [ /interface find default-name=ether1 ] ]=true )\
  77.     \_do={\r\
  78.     \n          set Ether1NM [ /interface get [find default-name=ether1 ] name\
  79.     ]\r\
  80.     \n          :log info ( "Remove " . \$pppoenm . " from list named " . \
  81.     \$WanList . ".")\r\
  82.     \n          /interface list member remove [ find list="\$WanList" interf\
  83.     ace="\$pppoenm" ]\r\
  84.     \n          :log info ( "Remove " . \$Ether1NM . " from list named " .\
  85.     \_\$WanList . "." )\r\
  86.     \n          /interface list member remove [ find list="\$WanList" interf\
  87.     ace="\$Ether1NM" ]\r\
  88.     \n          :log info ( "Add " . \$Ether1NM . " to bridge named " . \$\
  89.     BridgeNM . "." )\r\
  90.     \n          /interface bridge port add bridge="\$BridgeNM" interface=\$E\
  91.     ther1NM\r\
  92.     \n          :log info ( "Add " . \$Ether1NM . " to list list named " .\
  93.     \_\$LanList . "." )\r\
  94.     \n          /interface list member add list="\$LanList" interface=\$Ethe\
  95.     r1NM\r\
  96.     \n          :log info ( "Disabled " . \$pppoenm . "." )\r\
  97.     \n          /interface pppoe-client set [ find name="\$pppoenm" ] disabl\
  98.     ed=no\r\
  99.     \n      :log warning  "The only ehter has been set as the bridge port...\
  100.     "\r\
  101.     \n      :error "The only ehter has been set as the bridge port..."\r\
  102.     \n        } else={\r\
  103.     \n          :log info "::There is no ethernet interface with default-name\
  104.     =ether1."\r\
  105.     \n      :error "::There is no ethernet interface with default-name=ether1\
  106.     ."\r\
  107.     \n        }\r\
  108.     \n      }\r\
  109.     \n    } \r\
  110.     \n}\r\
  111.     \n\r\
  112.     \n:log info "At least two ethernet interface exist. Check the pppoeout in\
  113.     terface settings...";\r\
  114.     \n:delay 1s;\r\
  115.     \n:log info ( "There are " . \$MaxNum . " ethernet interface in total.\
  116.     " )\r\
  117.     \n\r\
  118.     \n:set Ether1Count 0;\r\
  119.     \n\r\
  120.     \n:for e1 from=0 to=\$EtherANum step=1 do={ \\\r\
  121.     \n  :set EachEthNM [ /interface ethernet get num=\$e1 default-name ];\r\
  122.     \n  :if ( "\$EachEthNM"="ether1" ) do={ \r\
  123.     \n    :set Ether1Count ( \$Ether1Count+1)\r\
  124.     \n  }\r\
  125.     \n}\r\
  126.     \n\r\
  127.     \n\r\
  128.     \n:log info ( "There are " . \$Ether1Count . " ethernet which Default-n\
  129.     ame is ether1 in total." )\r\
  130.     \n:delay 5s;\r\
  131.     \n:if ( \$Ether1Count>1 ) do={\r\
  132.     \n\r\
  133.     \n  :if ( [ :tobool [ /interface find name="\$WanNM" ] ]=false ) do={\r\
  134.     \n    :log info ( "The ether named " . \$WanNM . " not exists, Renm eth\
  135.     er with numbered-0 to " . \$WanNM . "...")\r\
  136.     \n  \r\
  137.     \n    :log info "Reset all ether's mac-addr..."\r\
  138.     \n    :for r from=0 to=\$EtherNumALl step=1 do={\r\
  139.     \n      /interface ethernet reset-mac-address num=\$r;\r\
  140.     \n      :delay 1s;\r\
  141.     \n    }\r\
  142.     \n\r\
  143.     \n    :for mn from=1 to=\$EtherNumALl step=1 do={\r\
  144.     \n      :log info ( "Rename ether numbered-" . \$mn . "'s name to ether\
  145.     " . \$mn . \$tmms . "." )\r\
  146.     \n      :delay 1s;\r\
  147.     \n      /interface ethernet set num=\$mn name=("ether" . \$mn . \$tmms)\
  148.     \r\
  149.     \n    }\r\
  150.     \n\r\
  151.     \n    :log info "::Rename all the ether...";\r\
  152.     \n    :for l from=0 to=\$EtherTNum step=1 do={\r\
  153.     \n    :set EachEthDNM [ /interface ethernet get num=\$l default-name ];\r\
  154.     \n      :delay 1s;\r\
  155.     \n      /interface ethernet set num=\$l name=(\$EachEthDNM . \$l);\r\
  156.     \n    }\r\
  157.     \n  \r\
  158.     \n  \r\
  159.     \n    :log info ( "Rename ether numbered-0's name to " . \$WanNM . "."\
  160.     \_)\r\
  161.     \n    /interface ethernet set num=0 name="\$WanNM";\r\
  162.     \n    :delay 1s;\r\
  163.     \n\r\
  164.     \n    \r\
  165.     \n  } else={\r\
  166.     \n    :log info ( "The ether named " . \$WanNM . " exists, Check ..." \
  167.     )\r\
  168.     \n\r\
  169.     \n    :local wannum;\r\
  170.     \n    :set wannum 1;\r\
  171.     \n    :while (\$wannum>0) do={\r\
  172.     \n      :if ( [ /interface get num=\$EtherNum name ] = "\$WanNM" ) do={\
  173.     \r\
  174.     \n        :log info ( "The ether numbered " . \$EtherNum . " named " .\
  175.     \_\$WanNM );\r\
  176.     \n        :delay 1s;\r\
  177.     \n        :set wannum 0;\r\
  178.     \n      } else={\r\
  179.     \n        :log info ( "The ether numbered " . \$EtherNum . " isn't name\
  180.     d " . \$WanNM );\r\
  181.     \n        :delay 1s;\r\
  182.     \n        :set EtherNum (\$EtherNum-1);\r\
  183.     \n      }\r\
  184.     \n    }\r\
  185.     \n    \r\
  186.     \n    :if ( \$EtherNum>0 ) do={\r\
  187.     \n      :log info ( "The ether numbered-0 isn't Named " . \$WanNM . " o\
  188.     r other interface is else named " . \$WanNM . ".")\r\
  189.     \n      :for R from=0 to=\$EtherNumALl step=1 do={\r\
  190.     \n        :delay 1s;\r\
  191.     \n        :log info ( "Reset ether numbered-" . \$R . "'s mac-addr..."\
  192.     \_)\r\
  193.     \n        /interface ethernet reset-mac-address num=\$R;\r\
  194.     \n        :delay 1s;\r\
  195.     \n        :log info ( "Rename ether numbered-" . \$R . "'s name to " .\
  196.     \_\$tmms )\r\
  197.     \n        /interface ethernet set num=\$R name=("ether" . \$R . \$tmms)\
  198.     \r\
  199.     \n      }\r\
  200.     \n      :log info "::Rename all the ether...";\r\
  201.     \n      :for l from=0 to=\$EtherTNum step=1 do={\r\
  202.     \n      :set EachEthDNM [ /interface ethernet get num=\$l default-name ];\
  203.     \r\
  204.     \n        :delay 1s;\r\
  205.     \n        /interface ethernet set num=\$l name=(\$EachEthDNM . \$l);\r\
  206.     \n      }\r\
  207.     \n    :delay 1s;\r\
  208.     \n      :log info ( "Rename ether numbered-0's name to " . \$WanNM . ".\
  209.     " )\r\
  210.     \n        /interface ethernet set num=0 name="\$WanNM";\r\
  211.     \n        :delay 1s;\r\
  212.     \n    } else={\r\
  213.     \n      :log info ( "The ethernet numbered-0 is Named " . \$WanNM . ".\
  214.     " )\r\
  215.     \n    }\r\
  216.     \n  }\r\
  217.     \n\r\
  218.     \n} else={\r\
  219.     \n  :if ( [ :tobool [ /interface find name="\$WanNM" ] ]=false ) do={\r\
  220.     \n    :log info ( "The ether named " . \$WanNM . " not exists, Renm def\
  221.     ault-ether1 to " . \$WanNM . "...")\r\
  222.     \n  \r\
  223.     \n    :log info "Reset all ether's mac-addr..."\r\
  224.     \n    :for r from=0 to=\$EtherNumALl step=1 do={\r\
  225.     \n      /interface ethernet reset-mac-address num=\$r;\r\
  226.     \n      :delay 1s;\r\
  227.     \n    }\r\
  228.     \n\r\
  229.     \n    :for mn from=0 to=\$EtherNumALl step=1 do={\r\
  230.     \n      :log info ( "Rename ether numbered-" . \$mn . "'s name to ether\
  231.     " . \$mn . \$tmms . "." )\r\
  232.     \n      :delay 1s;\r\
  233.     \n      /interface ethernet set num=\$mn name=("ether" . \$mn . \$tmms)\
  234.     \r\
  235.     \n    }\r\
  236.     \n\r\
  237.     \n    :log info "::Rename all the ether...";\r\
  238.     \n    :for l from=0 to=\$EtherTNum step=1 do={\r\
  239.     \n    :set EachEthDNM [ /interface ethernet get num=\$l default-name ];\r\
  240.     \n      :delay 1s;\r\
  241.     \n      /interface ethernet set num=\$l name=(\$EachEthDNM . \$l);\r\
  242.     \n    }\r\
  243.     \n    :delay 1s;\r\
  244.     \n  \r\
  245.     \n  :log info ( "Rename default-ether1's name to " . \$WanNM . "." )\r\
  246.     \n    /interface ethernet set [ find default-name=ether1 ] name="\$WanNM\
  247.     ";\r\
  248.     \n    :delay 1s;\r\
  249.     \n\r\
  250.     \n  } else={\r\
  251.     \n\r\
  252.     \n    :log info ( "The ether named " . \$WanNM . " exists, Check ..." \
  253.     )\r\
  254.     \n\r\
  255.     \n    :local WanEtherDNM;\r\
  256.     \n    :set WanEtherDNM [ /interface ethernet get [ find name="\$WanNM" ]\
  257.     \_default-name ];\r\
  258.     \n    \r\
  259.     \n    :if ( "\$WanEtherDNM"="ether1" ) do={\r\
  260.     \n    :log info ( \$WanNM . " is bound to interface which default-name is\
  261.     \_ether1 " )\r\
  262.     \n    } else={\r\
  263.     \n      :log info ( "The defaut-ether1 isn't Named " . \$WanNM . " or o\
  264.     ther interface is else named \$WanNM..." )\r\
  265.     \n\r\
  266.     \n      :log info "Reset all ether's mac-addr..."\r\
  267.     \n        :for r from=0 to=\$EtherNumALl step=1 do={\r\
  268.     \n        /interface ethernet reset-mac-address num=\$r;\r\
  269.     \n        :delay 1s;\r\
  270.     \n      }\r\
  271.     \n\r\
  272.     \n      :for mn from=0 to=\$EtherNumALl step=1 do={\r\
  273.     \n        :log info ( "Rename ether numbered-" . \$mn . "'s name to eth\
  274.     er" . \$mn . \$tmms . "." )\r\
  275.     \n        /interface ethernet set num=\$mn name=("ether" . \$mn . \$tmms\
  276.     )\r\
  277.     \n      }\r\
  278.     \n\r\
  279.     \n      :log info "::Rename all the ether...";\r\
  280.     \n      :for l from=0 to=\$EtherTNum step=1 do={\r\
  281.     \n      :set EachEthDNM [ /interface ethernet get num=\$l default-name ];\
  282.     \r\
  283.     \n        :delay 1s;\r\
  284.     \n        /interface ethernet set num=\$l name=(\$EachEthDNM . \$l);\r\
  285.     \n      }\r\
  286.     \n      :delay 1s;\r\
  287.     \n\r\
  288.     \n      :log info ( "Rename default-ether1's name to " . \$WanNM . "."\
  289.     \_)\r\
  290.     \n      /interface ethernet set [ find default-name=ether1 ] name="\$WanN\
  291.     M";\r\
  292.     \n      :delay 1s;\r\
  293.     \n\r\
  294.     \n    }\r\
  295.     \n  }\r\
  296.     \n}\r\
  297.     \n\r\
  298.     \n\r\
  299.     \n:if ( [ :tobool [ /interface list member find list="\$LanList" interfa\
  300.     ce="\$WanNM" ] ]=true ) do={\r\
  301.     \n  :log info ( "Remove ether " . \$WanNM . " from lists " . \$LanList\
  302.     \_)\r\
  303.     \n  /interface list member remove [ find list="\$LanList" interface="\$\
  304.     WanNM" ];\r\
  305.     \n  :delay 1s;\r\
  306.     \n} else={\r\
  307.     \n  :log info ( "Inte-lists " . \$LanList . "'s member does not exist i\
  308.     nterface " . \$WanNM . ".")\r\
  309.     \n}\r\
  310.     \n\r\
  311.     \n\r\
  312.     \n:if ( [ :tobool [ /interface list member find list="\$WanList" interfa\
  313.     ce="\$BridgeNM" ] ]=true ) do={\r\
  314.     \n  :log info ( "Remove interface bridge named " . \$BridgeNM . " from \
  315.     lists named " . \$WanList . "." )\r\
  316.     \n  /interface list member remove [ find list="\$WanList" interface="\$\
  317.     BridgeNM" ];\r\
  318.     \n  :delay 1s;\r\
  319.     \n} else={\r\
  320.     \n  :log info ( "Inter-lists " . \$WanList . "'s member does not exist \
  321.     interface " . \$BridgeNM . "." )\r\
  322.     \n}\r\
  323.     \n\r\
  324.     \n\r\
  325.     \n:if ( [ :tobool [ /interface list member find list="\$WanList" interfa\
  326.     ce~"ether" ] ] =true ) do={\r\
  327.     \n  :log info ( "Remove ether~ from Inter-lists " . \$WanList . "..." \
  328.     )\r\
  329.     \n  /interface list member remove [ find list="\$WanList"  interface~"e\
  330.     ther" ];\r\
  331.     \n  :delay 1s;\r\
  332.     \n} else={\r\
  333.     \n  :log info ( "Inter-lists " .  \$WanList . "'s member does not exist\
  334.     \_interface ether~." )\r\
  335.     \n}\r\
  336.     \n\r\
  337.     \n:log info ( "Check whether all the interface named regex-^ether are in \
  338.     " . \$BridgeNM . "'s port.")\r\
  339.     \n:for L from=1 to=\$NumEther step=1 do={\r\
  340.     \n  :set csifnm [ /interface ethernet get num=\$L name ];\r\
  341.     \n  :if ( "\$csifnm"!="\$WanNM" ) do={\r\
  342.     \n    :if ( [ :tobool [ /interface bridge port find bridge="\$BridgeNM" \
  343.     interface="\$csifnm" ] ]=false ) do={\r\
  344.     \n      :log info ( "The interface " . \$csifnm . " is not in " . \$Br\
  345.     idgeNM . "'s port. Adding...")\r\
  346.     \n      /interface bridge port add bridge="\$BridgeNM" interface="\$csi\
  347.     fnm";\r\
  348.     \n      :delay 3s;\r\
  349.     \n    }\r\
  350.     \n  }\r\
  351.     \n}\r\
  352.     \n\r\
  353.     \n:if ( [ :tobool [ /interface bridge port find bridge="\$BridgeNM" inte\
  354.     rface="\$WanNM" ] ]=true ) do={\r\
  355.     \n  :log info ( "Remove " . \$WanNM . " from " . \$BridgeNM . "'s por\
  356.     t." )\r\
  357.     \n  /interface bridge port remove [ find bridge="\$BridgeNM" interface=\
  358.     "\$WanNM" ];\r\
  359.     \n  :delay 1s;\r\
  360.     \n} else={\r\
  361.     \n  :log info ( \$BridgeNM . "'s port does not exist " . \$WanNM . "."\
  362.     )\r\
  363.     \n}\r\
  364.     \n\r\
  365.     \n:set pppoeint [ /interface pppoe-client get [ find name="\$pppoenm" ] \
  366.     interface ];\r\
  367.     \n\r\
  368.     \n:if ("\$pppoeint"!="\$WanNM") do={\r\
  369.     \n  :log info ( \$pppoenm . " is not bound to " . \$WanNM . "...")\r\
  370.     \n  :log info "::Set pppoe-client WAN-ether"\r\
  371.     \n  /interface pppoe-client set [ find name="\$pppoenm" ] interface="\$\
  372.     WanNM";\r\
  373.     \n\r\
  374.     \n  # :log info ( "Remove all interface named regex-^ether from " . \$Br\
  375.     idgeNM . "'s port.")\r\
  376.     \n  # /interface bridge port remove [ find bridge="\$BridgeNM" interface\
  377.     ~"ether" ];\r\
  378.     \n\r\
  379.     \n  :log info ( "Remove all interface named regex-^ether from list " . \
  380.     \$LanList . "'s member.")\r\
  381.     \n  /interface list member remove [ find list="\$LanList" interface~"et\
  382.     her" ];\r\
  383.     \n\r\
  384.     \n} else={\r\
  385.     \n  :log info ( \$pppoenm . " is bound to " . \$WanNM . "." )\r\
  386.     \n}\r\
  387.     \n\r\
  388.     # \n/system script run [ find name="Your_DDSN_update-Script_Name" ];\r\
  389.     \n\r\
  390.     \n:log info ":::-The End-: The pppoeout interface settings Checker."\r\
  391.     \n"
复制代码
发表于 2024-5-28 11:35 | 显示全部楼层
上个月才换的5009,帮顶
 楼主| 发表于 2024-5-28 11:37 | 显示全部楼层
贫民张大嘴 发表于 2024-5-28 11:35
上个月才换的5009,帮顶

5009绝对值得~
发表于 2024-5-28 14:26 | 显示全部楼层
用过 5009,降级 4011,最后用RB450Gx4兜底。
发表于 2024-5-28 14:30 | 显示全部楼层
准备把rb750gr3换成chr,存一份看会不会用得上
 楼主| 发表于 2024-5-28 14:44 | 显示全部楼层
数不清 发表于 2024-5-28 14:26
用过 5009,降级 4011,最后用RB450Gx4兜底。

我4011性能不够用,CPU 0 1/3 4 动不动就是100%。
防火墙有点臃肿~~~
理论4011和5009处理能力差不多,可能是V7针对64位有优化。
 楼主| 发表于 2024-5-28 14:45 | 显示全部楼层
Oscarice 发表于 2024-5-28 14:30
准备把rb750gr3换成chr,存一份看会不会用得上

存好未运行脚本的back一份再存一份有此脚本和对应开机任务的脚本。。。
发表于 2024-5-28 15:08 | 显示全部楼层
hyes 发表于 2024-5-28 14:44
我4011性能不够用,CPU 0 1/3 4 动不动就是100%。
防火墙有点臃肿~~~
理论4011和5009处理能力差不多,可 ...

平时跑 PT 用RB450Gx4足矣,80+MiB/s下载处理器负载也就 30% 左右,金属外壳微温。
防火墙规则只用了官方默认,未做流控处理,家用千兆带宽PT下载同时并不影响家里人看爱优腾。

5009 带规则性能比 4011 有一定优势,但优势差异并不太大,5009缺点就是发热突出,底部建议垫一个散热金属块来辅助散热。
发表于 2024-5-28 15:33 | 显示全部楼层
顶,希望大佬继续分享ROS相关的更多脚本
发表于 2024-5-28 17:36 | 显示全部楼层
5009用户帮顶
发表于 2024-5-28 17:40 | 显示全部楼层
虽然没有ROS设备,还是先收藏一下,感谢楼主分享
发表于 2024-5-28 19:08 | 显示全部楼层
手动点赞,希望大佬继续分享ROS相关的更多脚本
发表于 2024-5-28 21:38 | 显示全部楼层
数不清 发表于 2024-5-28 15:08
平时跑 PT 用RB450Gx4足矣,80+MiB/s下载处理器负载也就 30% 左右,金属外壳微温。
防火墙规则只用了官方 ...

4011少个2.5G口算是最大遗憾了。。5009发热大概有多大,最近有点想换
发表于 2024-5-28 23:42 | 显示全部楼层
chr想换2116
发表于 2024-5-29 00:43 | 显示全部楼层
我选择export,再import。
发表于 2024-5-29 09:30 | 显示全部楼层
Evalyn 发表于 2024-5-28 21:38
4011少个2.5G口算是最大遗憾了。。5009发热大概有多大,最近有点想换

现在 2.5g 交换机白菜价,4011可以搭配跑单臂路由,这对 ros 来说都不是事。
在广东的夏天,5009 底部垫散热块的情况下摸着烫手,还好系统还能正常运行。
发表于 2024-5-29 10:18 来自手机 | 显示全部楼层
数不清 发表于 2024-5-29 09:30
现在 2.5g 交换机白菜价,4011可以搭配跑单臂路由,这对 ros 来说都不是事。
在广东的夏天,5009 底部垫 ...

2.5G我上联光猫用的,放交换机上不是很方便,内网2.5G和10G扩展倒是打算用sfp电口跑单臂下联交换机
 楼主| 发表于 2024-5-29 14:00 | 显示全部楼层
blanksign 发表于 2024-5-29 00:43
我选择export,再import。

不同机型可能需要改动才会im成功
发表于 2024-5-29 14:51 | 显示全部楼层
hyes 发表于 2024-5-29 14:00
不同机型可能需要改动才会im成功

人工核验,再定点导入,这玩意顺利2分钟就能解决。不顺利,就10分钟。对于看不懂脚本的人来说,分析不出来逻辑。
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

Archiver|手机版|小黑屋|Chiphell ( 沪ICP备12027953号-5 )沪公网备310112100042806 上海市互联网违法与不良信息举报中心

GMT+8, 2025-5-3 20:47 , Processed in 0.012040 second(s), 5 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2007-2024 Chiphell.com All rights reserved.

快速回复 返回顶部 返回列表