最新ros脚本详细解释
ROS3.30全套多线负载平衡设置脚本
ROS3.30全套多线负载平衡设置脚本ROS3.30设置脚本如果你是菜鸟,下面的脚本也许会帮了,如果你是高高手,请你多指证,谢谢下面是我花了一整天的时间整理出来的,第一次用ROS3.30,走了很多弯路,还好以前有点2.9的基础,结合在网上找些前辈门的脚本,终于测试一切正常,我自己在我的线路上测试通过,如果到你机器上有问题,请嘴上留情,别骂我,请仔细检查,相信你也一定能行的。
如果有问题实在搞不懂,可以加我QQ307237303(请先自己多钻研一下在加我)# dec/03/2011 20:55:29 by RouterOS 3.30# software id = K6BP-MUXD#/interface ethernetset 0 arp=enabled auto-negotiation=yes cable-settings=default comment="" \disable-running-check=yes disabled=no full-duplex=yes mac-address=\00:03:47:95:C8:66 mtu=1500 name=W AN3 speed=100Mbpsset 1 arp=enabled auto-negotiation=yes cable-settings=default comment="" \disable-running-check=yes disabled=no full-duplex=yes mac-address=\00:03:47:95:C2:FC mtu=1500 name=LAN speed=100Mbpsset 2 arp=enabled auto-negotiation=yes cable-settings=default comment="" \disable-running-check=yes disabled=no full-duplex=yes mac-address=\00:20:ED:1C:B3:90 mtu=1500 name=W AN1 speed=100Mbpsset 3 arp=enabled auto-negotiation=yes cable-settings=default comment="" \disable-running-check=yes disabled=no full-duplex=yes mac-address=\00:20:ED:1C:B3:91 mtu=1500 name=W AN2 speed=100Mbps以上是网卡名称设置/ip pooladd name=PPPOE-IP ranges=10.0.0.5-10.0.0.200以上是PPPOE拔号地址池/portset 0 baud-rate=9600 data-bits=8 flow-control=hardware name=serial0 parity=\none stop-bits=1set 1 baud-rate=9600 data-bits=8 flow-control=hardware name=serial1 parity=\none stop-bits=1以上是导出后不知用处的/ppp profileset default change-tcp-mss=yes comment="" name=default only-one=default \use-compression=default use-encryption=default use-vj-compression=defaultadd change-tcp-mss=default comment="" dns-server=210.21.196.6 local-address=\10.0.0.1 name=PPPOE-1 only-one=yes rate-limit=\"108k/1400k 128k/1600k 90k/1m" remote-address=PPPOE-IP use-compression=\default use-encryption=default use-vj-compression=default wins-server=\221.5.88.88add change-tcp-mss=default comment="" dns-server=210.21.196.6 local-address=\10.0.0.1 name=LOW only-one=yes rate-limit="88k/900k 108k/1100k 90k/1m" \remote-address=PPPOE-IP use-compression=default use-encryption=default \use-vj-compression=default wins-server=221.5.88.88set default-encryption change-tcp-mss=yes comment="" name=default-encryption \ only-one=default use-compression=default use-encryption=yes \use-vj-compression=default以上是PPPOE服务建立/interface pppoe-clientadd ac-name="" add-default-route=no allow=pap,chap,mschap1,mschap2 comment="" \ dial-on-demand=no disabled=no interface=WAN1 max-mru=1480 max-mtu=1480 \ mrru=disabled name=pppoe-out1 password=123 profile=default \service-name="" use-peer-dns=no user=123add ac-name="" add-default-route=no allow=pap,chap,mschap1,mschap2 comment="" \ dial-on-demand=no disabled=no interface=WAN2 max-mru=1480 max-mtu=1480 \ mrru=disabled name=pppoe-out2 password=123456 profile=default \service-name="" use-peer-dns=no user=123add ac-name="" add-default-route=no allow=pap,chap,mschap1,mschap2 comment="" \ dial-on-demand=no disabled=no interface=WAN3 max-mru=1480 max-mtu=1480 \ mrru=disabled name=pppoe-out3 password=3 profile=default service-name="" \ use-peer-dns=no user=3 以上是ADSL拔号上网的建立/queue treeadd burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=0 \ max-limit=12M name=totaldown parent=global-in priority=8/queue typeset default kind=pfifo name=default pfifo-limit=50set ethernet-default kind=pfifo name=ethernet-default pfifo-limit=50set wireless-default kind=sfq name=wireless-default sfq-allot=1514 \sfq-perturb=5set synchronous-default kind=red name=synchronous-default red-avg-packet=1000 \ red-burst=20 red-limit=60 red-max-threshold=50 red-min-threshold=10set hotspot-default kind=sfq name=hotspot-default sfq-allot=1514 sfq-perturb=\ 5add kind=pcq name=PCQ-up pcq-classifier=src-address pcq-limit=50 pcq-rate=\ 1000000 pcq-total-limit=10000 add kind=pcq name=PCQ-down pcq-classifier=dst-address pcq-limit=50 pcq-rate=\ 1000000 pcq-total-limit=10000 add kind=pcq name=80-Down pcq-classifier=dst-address pcq-limit=50 pcq-rate=\ 800000 pcq-total-limit=10000 add kind=pcq name=other_down pcq-classifier=dst-address pcq-limit=50 \ pcq-rate=0 pcq-total-limit=2000 add kind=pcq name=server_down pcq-classifier=dst-address pcq-limit=50 \ pcq-rate=0 pcq-total-limit=2000add kind=pcq name=game-down pcq-classifier=dst-address pcq-limit=50 pcq-rate=\ 400000 pcq-total-limit=10000 set default-small kind=pfifo name=default-small pfifo-limit=10/queue treeadd burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=1M \ max-limit=10M name=otherdown packet-mark=Port_Packet parent=totaldown \ priority=8 queue=defaultadd burst-limit=0 burst-threshold=0 burst-time=0s disabled=no limit-at=1M \ max-limit=12M name=portdown packet-mark=Port_Packet parent=totaldown \priority=1 queue=defaultadd burst-limit=0 burst-threshold=0 burst-time=3s disabled=no limit-at=5M \ max-limit=12M name=80down packet-mark=80_packet parent=totaldown \priority=2 queue=defaultadd burst-limit=0 burst-threshold=0 burst-time=3s disabled=yes limit-at=0 \ max-limit=18M name=totalup packet-mark=PCQ-up parent=global-out priority=\7 queue=default以上是网络优先设置,感觉用处不大,我是3*4M AD/snmpset contact="" enabled=no engine-boots=0 engine-id="" location="" \time-window=15 trap-sink=0.0.0.0 trap-version=1/snmp communityset public address=0.0.0.0/0 authentication-password="" \ authentication-protocol=MD5 encryption-password="" encryption-protocol=\DES name=public read-access=yes security=none write-access=no/system logging actionset memory memory-lines=100 memory-stop-on-full=no name=memory target=memory set disk disk-file-count=2 disk-file-name=log disk-lines-per-file=100 \disk-stop-on-full=no name=disk target=diskset echo name=echo remember=yes target=echoset remote bsd-syslog=no name=remote remote=0.0.0.0:514 src-address=0.0.0.0 \ syslog-facility=daemon syslog-severity=auto target=remote /user groupadd comment="" name=read policy="local,telnet,ssh,reboot,read,test,winbox,pass\word,web,sniff,sensitive,!ftp,!write,!policy"add comment="" name=write policy="local,telnet,ssh,reboot,read,write,test,winb\ox,password,web,sniff,sensitive,!ftp,!policy"add comment="" name=full policy="local,telnet,ssh,ftp,reboot,read,write,policy\ ,test,winbox ,password,web,sniff,sensitive"/interface bridge settingsset use-ip-firewall=no use-ip-firewall-for-pppoe=no use-ip-firewall-for-vlan=\ no/interface ethernet mirrorset/interface l2tp-server serverset authentication=pap,chap,mschap1,mschap2 default-profile=\default-encryption enabled=no max-mru=1460 max-mtu=1460 mrru=disabled/interface ovpn-server serverset auth=sha1,md5 certificate=none cipher=blowfish128,aes128 default-profile=\ default enabled=no keepalive-timeout=60 mac-address=FE:46:57:28:66:CB \max-mtu=1500 mode=ip netmask=24 port=1194 require-client-certificate=no/interface pppoe-server serveradd authentication=pap,chap,mschap1,mschap2 default-profile=PPPOE-1 disabled=\ yes interface=LAN keepalive-timeout=10 max-mru=1480 max-mtu=1480 \max-sessions=0 mrru=disabled one-session-per-host=no service-name=\service1/interface pptp-server serverset authentication=mschap1,mschap2 default-profile=default-encryption \ enabled=no keepalive-timeout=30 max-mru=1460 max-mtu=1460 mrru=disabled /ip accounting set account-local-traffic=no enabled=no threshold=256/ip accounting web-accessset accessible-via-web=no address=0.0.0.0/0以上也是不知的东东/ip addressadd address=192.168.2.1/24 broadcast=192.168.2.255 comment="" disabled=no \ interface=LAN network=192.168.2.0 以上是设置ROS的内网IP/ip dhcp-server configset store-leases-disk=5m/ip dnsset allow-remote-requests=yes cache-max-ttl=1w cache-size=2048KiB \ max-udp-packet-size=512 primary-dns=210.21.196.6 secondary-dns=\221.5.88.88以上是设置DNS,你的可能不一样/ip firewall connection trackingset enabled=yes generic-timeout=10m icmp-timeout=10s tcp-close-timeout=10s \ tcp-close-wait-timeout=10s tcp-established-timeout=1d \tcp-fin-wait-timeout=10s tcp-last-ack-timeout=10s \tcp-syn-received-timeout=5s tcp-syn-sent-timeout=5s tcp-syncookie=no \tcp-time-wait-timeout=10s udp-stream-timeout=3m udp-timeout=10s以上是系统默认值/ip firewall mangleadd action=change-mss chain=postrouting comment="" disabled=yes new-mss=1460 \ protocol=tcp tcp-flags=syn add action=mark-routing chain=prerouting comment="" disabled=yes \ new-routing-mark=add passthrough=no src-address-list=src1add action=mark-connection chain=prerouting comment=1 disabled=yes \ in-interface=LAN new-connection-mark=1 passthrough=yes \per-connection-classifier=src-address-and-port:3/0add action=mark-routing chain=prerouting comment="" connection-mark=1 \ disabled=yes in-interface=LAN new-routing-mark=1 passthrough=noadd action=mark-connection chain=prerouting comment=2 disabled=yes \ in-interface=LAN new-connection-mark=2passthrough=yes \per-connection-classifier=src-address-and-port:3/1add action=mark-routing chain=prerouting comment="" connection-mark=2 \ disabled=yes in-interface=LAN new-routing-mark=2 passthrough=noadd action=mark-connection chain=prerouting comment=3 disabled=yes \ in-interface=LAN new-connection-mark=3 passthrough=yes \per-connection-classifier=src-address-and-port:3/2add action=mark-routing chain=prerouting comment="" connection-mark=3 \ disabled=yes in-interface=LAN new-routing-mark=3 passthrough=noadd action=change-mss chain=forward comment="" disabled=no new-mss=1400 \ protocol=tcp tcp-flags=syn add action=add-src-to-address-list address-list=src1 address-list-timeout=5s \ chain=prerouting comment="" disabled=no dst-port=80 protocol=tcp \src-address-list=!src2add action=add-src-to-address-list address-list=src2 address-list-timeout=3h \ chain=prerouting comment="" disabled=no dst-port=80 protocol=tcp \src-address-list=!src2add action=accept chain=prerouting comment="" disabled=no dst-port=443 \in-interface=LAN protocol=tcpadd action=mark-connection chain=input comment="" disabled=no in-interface=\pppoe-out1 new-connection-mark=1 passthrough=yesadd action=mark-connection chain=input comment="" disabled=no in-interface=\pppoe-out2 new-connection-mark=2 passthrough=yesadd action=mark-connection chain=input comment="" disabled=no in-interface=\pppoe-out3 new-connection-mark=3 passthrough=yesadd action=mark-routing chain=output comment="" connection-mark=1 disabled=no \new-routing-mark=to_1 passthrough=yesadd action=mark-routing chain=output comment="" connection-mark=2 disabled=no \new-routing-mark=to_2 passthrough=yesadd action=mark-routing chain=output comment="" connection-mark=3 disabled=no \new-routing-mark=to_3 passthrough=yesadd action=mark-connection chain=prerouting comment="" disabled=no \dst-address-type=!local new-connection-mark=1 passthrough=yes \per-connection-classifier=both-addresses:3/0 src-address=10.0.0.0/24add action=mark-connection chain=prerouting comment="" disabled=no \dst-address-type=!local new-connection-mark=2 passthrough=yes \per-connection-classifier=both-addresses:3/1 src-address=10.0.0.0/24add action=mark-connection chain=prerouting comment="" disabled=no \dst-address-type=!local new-connection-mark=3 passthrough=yes \per-connection-classifier=both-addresses:3/2 src-address=10.0.0.0/24add action=mark-routing chain=prerouting comment="" connection-mark=1 \disabled=no new-routing-mark=to_1 passthrough=yes src-address=10.0.0.0/24add action=mark-routing chain=prerouting comment="" connection-mark=2 \disabled=no new-routing-mark=to_2 passthrough=yes src-address=10.0.0.0/24add action=mark-routing chain=prerouting comment="" connection-mark=3 \disabled=no new-routing-mark=to_3 passthrough=yes src-address=10.0.0.0/24以上是PPPOE 负载平衡,为both-addresses形式的(好像和PCC一样,不明白,还有就是我没做IP负载平衡,我用不着,做了也删了)add action=mark-connection chain=prerouting comment="" disabled=no dst-port=\8291 in-interface=pppoe-out3 new-connection-mark=in_3 passthrough=yes \protocol=tcpadd action=mark-routing chain=output comment="" connection-mark=in_3 \disabled=no new-routing-mark=3 passthrough=yes以上是指定外网访问ROS的线路和端口,我这样理解,具体也不明白add action=mark-connection chain=prerouting comment=\ "\D3\C5\CF\C8\B6\CB\BF\DA" disabled=no dst-port=443 new-connection-mark=\Port_Conn passthrough=yes protocol=tcpadd action=mark-connection chain=prerouting comment="" disabled=no dst-port=\3724 new-connection-mark=Port_Conn passthrough=yes protocol=tcpadd action=mark-connection chain=prerouting comment="" disabled=no dst-port=\8000 new-connection-mark=Port_Conn passthrough=yes protocol=udpadd action=mark-packet chain=prerouting comment="" connection-mark=Port_Conn \disabled=no new-packet-mark=Port_Packet passthrough=noadd action=mark-connection chain=prerouting comment="web\B6\CB\BF\DA" \disabled=no dst-port=80 new-connection-mark=80_Conn passthrough=yes \protocol=tcpadd action=mark-connection chain=prerouting comment="" disabled=no dst-port=\53 new-connection-mark=80_Conn passthrough=yes protocol=udpadd action=mark-packet chain=prerouting comment="" connection-mark=80_Conn \ disabled=no new-packet-mark=80_packet passthrough=noadd action=mark-connection chain=prerouting comment=\ "\C6\E4\CB\FB\CA\FD\BE\DD" disabled=no new-connection-mark=Other_Conn \passthrough=yesadd action=mark-packet chain=prerouting comment="" connection-mark=Other_Conn \ disabled=no new-packet-mark=Other_Packet passthrough=no以上是端口优先标记,和前面的一起使用,不用就都不要加/ip firewall natadd action=masquerade chain=srcnat comment=10 disabled=no out-interface=\pppoe-out1add action=masquerade chain=srcnat comment=11 disabled=no out-interface=\pppoe-out2add action=masquerade chain=srcnat comment=12 disabled=no out-interface=\pppoe-out3以上是IP伪装,我是三知AD,和2.9的不一样,开始这里按2.9的搞,搞了很久上不了网/ip firewall service-portset ftp disabled=no ports=21set tftp disabled=no ports=69set irc disabled=no ports=6667set h323 disabled=noset sip disabled=no ports=5060,5061set pptp disabled=no/ip neighbor discoveryset WAN3 discover=yesset LAN discover=yesset WAN1 discover=yesset WAN2 discover=yesset pppoe-out1 discover=noset pppoe-out2 discover=noset pppoe-out3 discover=no/ip proxyset always-from-cache=no cache-administrator=webmastercache-hit-dscp=4 \cache-on-disk=no enabled=no max-cache-size=none max-client-connections=\600 max-fresh-time=3d max-server-connections=600 parent-proxy=0.0.0.0 \parent-proxy-port=0 port=8080 serialize-connections=no src-address=\0.0.0.0以上是不知用的东东/ip routeadd check-gateway=ping comment="" disabled=yes distance=1 dst-address=\0.0.0.0/0 gateway=pppoe-out2 routing-mark=2add check-gateway=ping comment="" disabled=yes distance=1 dst-address=\0.0.0.0/0 gateway=pppoe-out3 routing-mark=3add check-gateway=ping comment="" disabled=yes distance=1 dst-address=\0.0.0.0/0 gateway=pppoe-out1add check-gateway=ping comment="" disabled=yes distance=1 dst-address=\0.0.0.0/0 gateway=pppoe-out1 routing-mark=1add check-gateway=ping comment="" disabled=yes distance=2 dst-address=\0.0.0.0/0 gateway=pppoe-out2add comment=WAN1 disabled=no distance=1 dst-address=0.0.0.0/0 gateway=\pppoe-out1 routing-mark=to_1add comment=WAN3 disabled=no distance=1 dst-address=0.0.0.0/0 gateway=\pppoe-out3 routing-mark=to_3add check-gateway=ping comment="" disabled=yes distance=2 dst-address=\0.0.0.0/0 gateway=pppoe-out1add check-gateway=ping comment=WAN2 disabled=no distance=10 dst-address=\0.0.0.0/0 gateway=pppoe-out2add check-gateway=ping comment="" disabled=yes distance=2 dst-address=\0.0.0.0/0 gateway=pppoe-out3add comment=WAN2 disabled=no distance=1 dst-address=0.0.0.0/0 gateway=\pppoe-out2 routing-mark=to_2add check-gateway=ping comment=WAN1 disabled=no distance=10 dst-address=\0.0.0.0/0 gateway=pppoe-out1add check-gateway=ping comment=WAN3 disabled=no distance=10 dst-address=\0.0.0.0/0 gateway=pppoe-out3以上这里就是路由了,看着有点长,设好后其实就只有3*2+1条了,为什么?我这样理解的,3条AD+3条备用+1条默认/ip serviceset telnet address=0.0.0.0/0 disabled=no port=23set ftp address=0.0.0.0/0 disabled=no port=21set www address=0.0.0.0/0 disabled=no port=80set www-ssl address=0.0.0.0/0 certificate=none disabled=yes port=443set api address=0.0.0.0/0 disabled=yes port=8728set winbox address=0.0.0.0/0 disabled=no port=8291/ip socksset connection-idle-timeout=2m enabled=no max-connections=200 port=1080/ip traffic-flowset active-flow-timeout=30m cache-entries=4k enabled=no \inactive-flow-timeout=15s interfaces=all/ip upnpset allow-disable-external-interface=yes enabled=yes show-dummy-rule=yes以上这些也是不知用的东东,也不用管吧/ppp aaaset accounting=yes interim-update=0s use-radius=no/ppp secretadd caller-id="" comment="" disabled=no limit-bytes-in=0 limit-bytes-out=0 \name=ADSC110 password=110110 profile=LOW routes="" service=anyadd caller-id="" comment="" disabled=no limit-bytes-in=0 limit-bytes-out=0 \name=ADSC207 password=207207 profile=default routes="" service=any以上是我拔号上网的用户名和密码,按自己的加,PPPOE服务前面已建立好了set WAN3 queue=ethernet-defaultset LAN queue=ethernet-defaultset WAN1 queue=ethernet-defaultset WAN2 queue=ethernet-defaultset pppoe-out1 queue=defaultset pppoe-out2 queue=defaultset pppoe-out3 queue=default/radius incomingset accept=no port=3799/storeadd comment="" disabled=no disk=primary-master name=web-proxy1 type=web-proxy /system clockset time-zone-name=manual/system clock manualset dst-delta=+00:00 dst-end="jan/01/1970 00:00:00" dst-start=\"jan/01/1970 00:00:00" time-zone=+00:00/system consoleadd disabled=no port=serial0 term=vt102set [ find vcno=1 ] disabled=no term=linuxset [ find vcno=2 ] disabled=no term=linuxset [ find vcno=3 ] disabled=no term=linuxset [ find vcno=4 ] disabled=no term=linuxset [ find vcno=5 ] disabled=no term=linuxset [ find vcno=6 ] disabled=no term=linuxset [ find vcno=7 ] disabled=no term=linuxset [ find vcno=8 ] disabled=no term=linux/system console screenset line-count=25/system hardwareset multi-cpu=yes/system healthset state-after-reboot=enabled/system identityset name=MikroTik/system loggingadd action=memory disabled=no prefix="" topics=infoadd action=memory disabled=no prefix="" topics=erroradd action=memory disabled=no prefix="" topics=warning add action=echo disabled=no prefix="" topics=critical/system noteset note="" show-at-login=yes/system ntp clientset enabled=no mode=broadcast primary-ntp=0.0.0.0 secondary-ntp=0.0.0.0上面的我也没搞明白是什么,也不用去理会/system scheduleradd comment="" disabled=no interval=30s name=getadsl on-event=":global assign\ \r\\n:global new\r\\n:global status\r\\n:global x\r\\n:set x 3\r\(红字3改成你的AD条数)\n:for i from=1 to=\$x do={\r\\n :set status [/interface get [/interface find name=(\"pppoe-out\" . \\$i)] running]\r\\n :if (\$status=true) do={\r\\n :set new [/ip address get [/ip address find dynamic=yes interface=(\\"pppoe-out\" . \$i)] address]\r\\n :set new [:pick \$new 0 ([:len \$new] -3)]\r\\n :set assign [/ip address get [/ip address find dynamic=no interface\=(\"pppoe-out\" . \$i)] address]\r\\n :set assign [:pick \$assign 0 ([:len \$assign] -3)]\r\\n :if (\$assign != \$new) do={ /ip address set [/ip addressfind c\omment=(\"adsl\" . \$i)] address=\$new network=\$new broadcast=\$new\r\\n /ip route set [/ip route find comment=(\"adsl\" . \$i)] gateway\=\$new\r\\n }\r\\n }\r\\n} \r\\n" start-time=startup以上是刷网关的脚本,很重点的哟add comment="" disabled=no interval=5m name=DDNS on-event=":log info \"DDNS: B\ egin\"\r\\n:global ddns-user \"123456\"\r\\n:global ddns-pass \"123456\"\r\\n:global ddns-host \"/doc/143656614.html,\"\r\(将红字改成你的)\n:global ddns-interface \"pppoe-out1\"\r\(这个是用那条线做DDNS)\n:global ddns-ip [ /ip address get [/ip address find interface=\$ddns-int\erface] address ] \r\\n:log info \"DDNS: Sending UPDATE!\"\r\\n:log info [ /tool dns-update name=\$ddns-host address=[:pick \$ddns-ip 0\\_[:find \$ddns-ip \"/\"] ] key-name=\$ddns-user key=\$ddns-pass ]\r\\n:log info \"DDNS: End\"" start-time=startup以上是DDNS,很好用的/system scriptadd name=ADSL policy=\ftp,reboot,read,write,policy,test,winbox,password,sniff,sensit ive source="\:global assign\r\\n:global new\r\\n:global status\r\\n:global x\r\\n:set x 2\r\\n:for i from=1 to=\$x do={\r\\n :set status [/interface get [/interface find name=(\"pppoe-out\" . \\$i)] running]\r\\n :if (\$status=true) do={\r\\n :set new [/ip address get [/ip address find dynamic=yes interface=(\\"pppoe-out\" . \$i)] address]\r\\n :set new [:pick \$new 0 ([:len \$new] -3)]\r\\n :set assign [/ip address get [/ip address find dynamic=no interface\=(\"pppoe-out\" . \$i)] address]\r\\n :set assign [:pick \$assign 0 ([:len \$assign] -3)]\r\\n :if (\$assign != \$new) do={ /ip address set [/ip address find c\omment=(\"adsl\" . \$i)] address=\$new network=\$new broadcast=\$new\r\\n /ip route set [/ip route find comment=(\"adsl\" . \$i)] gateway\=\$new\r\\n }\r\\n }\r\\n} \r\\n"/system upgrade mirrorset check-interval=1d enabled=no primary-server=0.0.0.0 secondary-server=\0.0.0.0 user=""/system watchdogset auto-send-supout=no automatic-supout=yes no-ping-delay=5m watch-address=\ none watchdog-timer=yes /tool bandwidth-serverset allocate-udp-ports-from=2000 authenticate=yes enabled=yes max-sessions=\ 100/tool e-mailset from=<> password="" server=0.0.0.0:25 username=""/tool graphingset page-refresh=300 store-every=5min/tool graphing interfaceadd allow-address=0.0.0.0/0 disabled=no interface=all store-on-disk=yes/tool mac-serveradd disabled=no interface=all/tool mac-server pingset enabled=yes/tool smsset allowed-number="" channel=0 keep-max-sms=0 receive-enabled=no secret="" /tool snifferset file-limit=10 file-name="" filter-address1=0.0.0.0/0:0-65535 \filter-address2=0.0.0.0/0:0-65535 filter-protocol=ip-only filter-stream=\yes interface=all memory-limit=10 only-headers=no streaming-enabled=no \ streaming-server=0.0.0.0/useradd address=0.0.0.0/0 comment="system default user" disabled=no group=full \ name=admin/user aaaset accounting=yes default-group=read interim-update=0s use-radius=no以上的我还是搞不懂的。
ros多线做端口映射脚本
正文开始,脚本在下面。
我做完ROS加VLAN ADSL多线PCC叠加设置设置后不久,网站开发小组的项目经理就找到我向我提出了需求,因为现在他们的测试服务器是放在我们办公室内网的,我们公司其它部门和其它分公司和我们办公室不是一个局域网,网站开发小组的项目经理想让我们公司的所有同事都能访问到测试服务器做用户体验度测试,想让我帮助实现,当时我一口答应下来,也觉得这是个很简单的事情,但是事情往往出人意料。
我一开始的思路是这样的,第一步就是在IP->firewall-> nat下面做基于目标的伪装,也就是映射,第二步就是要做回流让内网的客户端也能通过公网IP 访问到服务器,第三步就是做动态映射的计划任务,定时更新第一步里面的目标地址即ADSL的地址,最后一步就要用到DDNS做一个二级域名的动态解析方便同事记忆和输入。
做完以后发现需求基本满足,就是内网客户端不能通过域名访问到服务器,只能通过内网IP访问,为了精益求精,继续研究,baidu和google 上搜索了无数方法均无效,后来在一个论坛里面看到一个高人的回复内容给了我启发,于是再一次尝试配置居然成功了。
不敢独享,现在将思路和脚本整理分享给更多需要的人。
首先我来分析下出现上述问题的原因,因为我们这里的环境是多线叠加的,我们的每个连接在进行路由之前都会对连接进行标记并路由,不同的标记有可能走不同的路由导致数据没办法顺利到达服务器,其内部数据的具体流向以及转换我也不是很清楚,如有高手路过请不吝赐教。
下面进入正题,其实很简单,我们只要在标记里面把目标地址为我们的外网接口地址的数据直接通过就可以解决这个问题了,有几条线就做几个标记,最后要添加计划任务更新标记里的目标地址为对应的外网接口地址,所以加上这最后两步一共是六步,下面就放出每一步的脚本(我的环境是双线叠加的,所以以下脚本都是适合双线的,改成多线的也很容易)1、做映射,这里以把内网的8890端口映射成9000端口为例。
ros常用指令
ros常用指令
1. `roslaunch`: 用于启动一个ROS节点或一组节点
2. `roscore`: 启动一个ROS主节点(master)和相关节点
3. `rosrun`: 启动一个指定包下的节点
4. `rostopic`: 查看或发布ROS话题(topic)的消息内容
5. `rosnode`: 查看运行中的节点信息
6. `roslaunch pkg_name launch_file_name`: 启动指定包的launch文件
7. `rosparam`: 设置、获取、删除ROS参数
8. `rosservice`: 调用或列出ROS服务(service)
9. `rosmsg`: 查看和显示ROS消息(message)类型
10. `rqt_graph`: 可视化显示ROS节点间的通信图
11. `rviz`: 可视化ROS数据
12. `rosbag`: 记录和回放ROS消息
13. `rosrun rqt_console rqt_console`: 打开ROS消息控制台,显示节点消息输出
这只是部分常用的ROS指令,ROS提供了丰富的指令和工具来帮助开发和调试ROS应用程序。
具体指令可以通过`rosrun` 或`roslaunch` 加上`help` 查看详细用法。
ROS 做PCQ脚本集体[按IP]自动限速 +带宽按端口管理流
ROS 做PCQ脚本集体[按IP]自动限速 +带宽按端口管理流环境:对于带宽紧张的环境那些有 100M光纤或 30台+10M光纤的用户可以省略了,因为对你们来说这个没有必要了我现在做的是基于 ADSL PPPOE的 ROUTER OS 2.9.7 做的但是光纤用户一样适用我现在开始说说步骤第一:当然最前提的是你的 ROUTER OS 软件路由器能工作了 NAT共享上网成功第2步:在所有经过ROUTER OS的数据包+ 上MARK 就像猎人要杀猎物也要先找到目标阿其次 mark connection 那里是点passthrough,而 mark packet 那里是不点这个选项的Mark connection 和 Mark packet 的顺序搞反了官方手册首先 mark connection 然后在 mark packet第3步:在QUEUE菜单里面选择Queue Types 创作PCQ限速的子项这里就决定了你的限制每个IP多少K的速度(2.9系列可以直接用K单位2.8 的不行)这里多说2句关于 PCQ的块大小,官方默认值是每IP 20个链接计算的,理解下面这2张图非常关键第2张关于块的图是举例的网吧的带宽和银行道理一样总带宽不能平均处以IP数量这个公式不合适你可以想想网吧的客人不可能同时全部去下载或者全部去上传网吧的目标追求网络利用最大化这个IP的限制要看你自己的网吧的需要的1般来说每个IP限制下载最高 512K;上传128K已经可以流畅游戏和视频----------------------------------------------------------------------------------------------另外:这个也和你的开关频繁开启和关闭有关系如果设置得不合理网络带宽浪费严重客户也会对你的网吧的网络速度抱怨的!(这可是得不尝失)注意 parent 那里的选择是内网网卡和外网网卡当作总流量的控制点第4步:做好流量监视触发器就像1个条件过滤器注意2 和3 红色数字那里*要选择对你的外网线路*要注意ABOVE是 > 的意思,就是大于多少K的时候启动这个限制,只要模糊数字就可以如果你的带宽是10M,你可以直接设置 10000000*另外1个就是BELOW 当然就是 < 小于的意思,这里很关键的地方就是你刚才设置的每IP限制数了你们看第2张图的2那里,你这个BELOW的数值一定要 < 它不然你在限速的时候客户的机器就会1会快1会慢的,其中的道理你们慢慢体会就会理解第5步:做1个执行这个限制的脚本很简单的就2行,但是注意脚本的名字要和你的在第四张图EVEN里面的一致(如果你想我拷贝那几句命令出来给你,你就不要看了,这么懒的都有的!)做到这里这个PCQ 脚本限速就做好了排除服务器等机器,不受PCQ限制做了PCQ,全部机子都是一样速度,连自己用的主机也慢啊,下电影慢死了,网吧只有一个网段,192.168.0.X,怎么样才能单独分某几个IP出来?以下为设置的例子,超级感谢,能用看我的例子 192.168.0.20 和192.168.0.21不受限制/ ip firewall mangleadd chain=prerouting src-address=192.168.0.252 action=mark-connection \??? new-connection-mark=nopcqlimit passthrough=yes comment="" disabled=noadd chain=prerouting src-address=192.168.0.228 action=mark-connection \??? new-connection-mark=nopcqlimit passthrough=yes comment="" disabled=noadd chain=prerouting connection-mark=nopcqlimit action=accept comment="" \ ??? disabled=no把这个脚本允许下,接这到第一部那里,把顺序拉下调整下,请看下图再发图吧: 怎么保证和按优先级管理流量?怎么保证和按优先级管理流量?概述队列树通常的应用,是用来限定特殊用户,协议和端口等等。
ros智能限速脚本和调试说明
这个是建立静态限速,也就是普通速度限制。1 to 253 改为你内网的IP!注意,不要把你的路由ip加进去了(我的路由是254)。比如 2 to 120! 192.168.1. 这里改为你的IP段! max-limit=500000/500000 是普通限速上传和下载都是500k,注意,这个500k是要除以8的,也就是说实际上传下载速度是 63KB 左右,自己算好修改,还有要注意,前面上传不能大于后面下载,我反复测试过,2个都一样就没问题,否则不成功。
这个是流量监控,我有10M设置是9.8M启发,足够了。不会延时或者怎么的,不建议改得太少。threshold=5000000是少于5M时关闭动态!这个自己掌握好!多试试!
另外注意的是!interface=ether3 把ether3改成你外网的网卡名字!
------------------------------------下面是检查自动限制是否成功------------
threshold=9800000 on-event=PCQON comment="" disabled=no
add name="PCQOFF" interface=ether3 traffic=received trigger=below \
threshold=5000000 on-event=PCQOFF comment="" disabled=no
ros动态限速脚本l
ros动态限速脚本l网吧因客流比较大,所以网络流量变化也很大,单纯的单机限速,会造成大量的带宽被浪费掉.所以我们现在来考虑动态限速.我们简单的分为4个限速阶段,以30M带宽为例.1 不限速2 单机2M限速3 单机1M限速4 单机512K限速一限速策略的创建需要分2步1 建立新的队列类型/queue typeadd name="down_512k" kind=pcq pcq-rate=512000 pcq-limit=50 \pcq-classifier=dst-address pcq-total-limit=2000add name="down_1M" kind=pcq pcq-rate=1000000 pcq-limit=50 \pcq-classifier=dst-address pcq-total-limit=2000add name="down_2M" kind=pcq pcq-rate=2000000 pcq-limit=50 \pcq-classifier=dst-address pcq-total-limit=2000add name="up_512K" kind=pcq pcq-rate=512000 pcq-limit=50 \pcq-classifier=src-address pcq-total-limit=2000add name="up_1M" kind=pcq pcq-rate=1000000 pcq-limit=50 \pcq-classifier=src-address pcq-total-limit=2000add name="up_2M" kind=pcq pcq-rate=2000000 pcq-limit=50 \pcq-classifier=src-address pcq-total-limit=20002 建立新的简单队列简单队列的顺序一定要注意:按照512K在上,2M在下的原则排序(先小后大).因为此队列的执行原则是,先执行最上面的,后面的将被抛弃./ queue simpleadd name="PCQ_512K" dst-address=192.168.0.0/24 interface=Lan parent=none \ direction=both priority=8 queue=down_512k/up_512K limit-at=0/0 \max-limit=0/0 total-queue=default-small disabled=yesadd name="PCQ_1M" dst-address=192.168.0.0/24 interface=Lan parent=none \ direction=both priority=8 queue=up_1M/down_1M limit-at=0/0 max-limit=0/0 \ total-queue=default-small disabled=yesadd name="PCQ_2M" dst-address=192.168.0.0/24 interface=Lan parent=none \ direction=both priority=8 queue=up_2M/up_1M limit-at=0/0 max-limit=0/0 \total-queue=default-small disabled=yes二脚本的制作实际就是简单的允许某策略或不允许某策略,类似在winbox选中某策略,并点叉号或对号.这里操作的是前面建立的简单队列.来达到限速策略的开与关./ systemadd name="off512k" source="/queue sim disable PCQ_512k" \policy=ftp,reboot,read,write,policy,test,winbox,passwordadd name="on512k" source="/queue sim enable PCQ_512k" \policy=ftp,reboot,read,write,policy,test,winbox,passwordadd name="off1m" source="/queue sim disablePCQ_1M" \policy=ftp,reboot,read,write,policy,test,winbox,passwordadd name="on1m" source="/queue sim enable PCQ_1M" \ policy=ftp,reboot,read,write,policy,test,winbox,passwordadd name="off2m" source="/queue sim disable PCQ_2M" \ policy=ftp,reboot,read,write,policy,test,winbox,passwordadd name="on2m" source="/queue sim enable PCQ_2M" \ policy=ftp,reboot,read,write,policy,test,winbox,password三流量监控我们使用ROS自带的工具"通信监控"(tool traffic-monitor)来监视我们的网络流量.当流量达到一定数值,会自动运行前面制作的脚本.请注意:接口一定要选择你的外网网卡.这里的数据可根据实际情况修改,我是以自己30M带宽为例。
rosrun 参数
ROS命令rosrun的使用及参数详解1. 介绍ROS(Robot Operating System)是一个用于构建机器人系统的开源软件框架,它提供了一系列工具、库和规范,用于帮助开发者构建、部署和管理机器人系统。
其中,rosrun是ROS提供的一个非常常用的命令,用于运行ROS软件包中的节点。
本文将详细介绍rosrun命令的使用方法以及常用参数的含义,帮助读者更好地理解和使用ROS系统。
2. rosrun命令的基本用法rosrun命令的基本用法如下:rosrun [软件包名称] [节点名称]其中,[软件包名称]指的是要运行的ROS软件包的名称,[节点名称]指的是要运行的节点的名称。
例如,要运行一个名为my_package的软件包中的名为my_node的节点,可以使用以下命令:rosrun my_package my_node3. rosrun命令的常用参数3.1 -h参数-h参数用于显示rosrun命令的帮助信息,包括命令的使用方法以及可用的参数列表。
使用方法如下:rosrun -h3.2 -p参数-p参数用于在运行节点时,将节点的参数设置为指定的值。
使用方法如下:rosrun [软件包名称] [节点名称] -p [参数名称]:=[参数值]例如,要将一个名为my_node的节点的参数my_param设置为10,可以使用以下命令:rosrun my_package my_node -p my_param:=103.3 -r参数-r参数用于在运行节点时,设置节点的重启策略。
重启策略可以是never、always或unless-stopped。
使用方法如下:rosrun [软件包名称] [节点名称] -r [重启策略]例如,要将一个名为my_node的节点的重启策略设置为always,可以使用以下命令:rosrun my_package my_node -r always3.4 -n参数-n参数用于在运行节点时,设置节点的命名空间。
ROS脚本命令详解
输出到屏幕上,上面就很多例子了。
:if
条件选择
[admin@MikroTik]>:if(1<2) do={:put true}
true
如果条件为真,执行do={}里面的命令
[admin@MikroTik]>:if(1>2) do={:put true} else={:put flase}
:time
执行命令所需的时间
[admin@MikroTik]> :put [:time [:resole ]]
00:00:00.006
执行解析这个域名所需的时间
toip toarray tonum tobool tostr toid totime
00:00:05.003
[admin@MikroTik]> :put (10.0.0.15 + 0.0.10.0)
cannot add ip address to ip address
[admin@MikroTik]> :put (10.0.0.15 + 10)
10.0.0.25
减法
[admin@MikroTik]> :put (15 - 10)
| 或
|| 逻辑或
ROS说明书里的例子:
计算顺序
[admin@MikroTik]> :put (10+1-6*2=11-12=2+(-3)=-1)
false
[admin@MikroTik]> :put (10+1-6*2=11-12=(2+(-3)=-1))
true
逻辑非
ROS 完美限制速度
Source(脚本)
OK-选择要运行的脚本-Run Script
ROS限速的极致应用
一般我们用ros限速只是使用了max-limit,其实ros限速可以更好的运用。比如我们希望
客户打开网页时速度可以快一些,下载时速度可以慢一些。ros2.9就可以实现。
max-limit------我们最常用的地方,最大速度
General-In. Interface all(如果你是拨号的就选择pppoe的、固定IP选择all即可)
Dst. Address:外网IP/32
Dst. Port:要映射的端口
Protocol:tcp(如果映射反恐的就用udp)
Action action:nat
TO Dst.Addresses:你的内网IP
$aaa)]})
脚本名:node_off
脚本内容:(:for aaa from 1 to 254 do={/queue sim dis [find name=(ip_ .
$aaa)]})
scripts(脚本部分)以完成
打开 /tools/traffic monitor
新建:
名:node_18M traffic=received trigger=above on event=node_on
2 to 254是2~254
192.168.0. . $aaa是IP
上两句加起来是192.168.0.2~192.168.0.254
connection-limit=50是线程数这里为50
max-limit=2000000/2000000是上行/下行
使用:
WinBox-System-Scripts-+
ROS脚本语法使用教程
ROS脚本语法使用教程ROS(Robot Operating System)是一个开源的机器人操作系统,为机器人软件开发提供了强大的工具和库。
在ROS中,可以使用Python或C++编写脚本来控制和操作机器人。
本教程将重点介绍ROS脚本语法的使用,包括ROS中常用的数据类型、主要语法结构以及ROS的常用命令和函数。
一、ROS脚本语法基础1.数据类型在ROS中,常用的数据类型包括:(1)String(字符串):用于存储文本信息。
(2)Int(整数):用于存储整数。
(3)Float(浮点数):用于存储浮点数。
(4)Bool(布尔值):用于存储逻辑值,例如True或False。
2.注释在脚本中,可以使用注释来提高代码的可读性。
注释以"#"开头,可以单行或多行使用。
3.变量在ROS脚本中,变量可以用于存储和操作数据。
变量的命名要符合Python的命名规则,一般以字母或下划线开头,可以包含字母、数字和下划线。
4.条件语句条件语句用于根据不同的条件执行不同的代码块。
常用的条件语句包括if、elif和else。
例如:```pythonif condition:code_blockelif condition:code_blockelse:code_block```5.循环语句循环语句用于多次执行相同的代码块。
常用的循环语句有for循环和while循环。
例如:```pythonfor item in iterable:code_blockwhile condition:code_block```6.函数函数是一段可重用的代码块,可以接受参数并返回结果。
在ROS中,可以使用函数来组织代码和实现功能的封装。
例如:```pythondef function_name(arg1, arg2):code_blockreturn result```二、ROS相关语法和命令1.导入必要的ROS库在脚本中,需要导入ROS相关的库才能使用ROS提供的功能。
最全的ROS脚本中文详解
因为下面这个问题我觉得脚本详细解释也许对大家有用处决定把以前网络时候找的资料发上来希望对大家有用处[apple@sgg-gatewy] > :put (([/ip firewall address-list get 0 address ] & 255.255 .255.0) . \/24)202.103.24.0/24这样使用put可以实现把202.103.24.0和/24结合成一个整体但是怎么样把这个新的值202.103.24.0/24赋给一个变量呢,set不能完成,谁有好的建议或者意见我准备做的是通过vpn客户端的访问源地址,自动添加/ip route rule里面的数据现在可以自动把202.103.24.68这样的具体ip自动添加,但是我想根据这个ip然后自动添加一个标准c段[apple@sgg-gatewy] > :environment printGlobal VariablesLocal Variables[apple@sgg-gatewy] > :put (([/ip firewall address-list get 0 address ] &255.255.255.0) . \/24)221.232.119.0/24[apple@sgg-gatewy] > :global testip[apple@sgg-gatewy] > :put $testip[apple@sgg-gatewy] > :set testip 202.103.24.0/24[apple@sgg-gatewy] > :put $testip202.103.24.0/24[apple@sgg-gatewy] > :set testip [:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)]221.232.119.0/24[apple@sgg-gatewy] > :put$testip[apple@sgg-gatewy] > :set testip {[:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)]}[apple@sgg-gatewy] > :put$testip[:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)] [apple@sgg-gatewy] > :set testip ([:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)])221.232.119.0/24[apple@sgg-gatewy] > :put$testip[apple@sgg-gatewy] > :environmentprint Global VariablesLocal Variablestestip=现在的需要解决的是,使用什么方法,或者用别的命令来实现把连接好了的新数字赋给testip这个变量直接脚本里面写dst-address=[:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)]也是无效的的,测试过了的用put,直接输出了,不能完成赋值不用put,不能连接两个字段大家一起思考思考,先表示感谢:foreach i in=[/ip firewall address-list find list=telvpn-stable ] do=[/ip route rule add dst-address=(([/ip firewall address-list get $i address ] & 255.255.255.0) . \/24) table=tel action=lookup disabled=no comment="telvpn add by lcnja`s auto script" src-address=0.0.0.0/0]呵呵,自己搞定了---------------------------------------------------------------------------------------------------------------------------------------------RouterOS2.96脚本详解四种变量global - 定义全局变量, 可以要所有的脚本中调用共享local - 定义本地变量,只能在其所要的脚本下调用,不能被其它脚本共享loop index variables - 定义在for或foreach里的索引号变量monitor variables - 监视变量ROS算术操作- 负号;相减。
rosrun 参数
rosrun 参数摘要:一、引言二、rosrun 命令的作用1.简介2.参数详解三、rosrun 参数的设置1.节点名称2.节点类型3.参数选项四、rosrun 参数的实际应用1.常用场景2.实际案例五、总结正文:一、引言在ROS(机器人操作系统)中,rosrun 命令是一个非常重要的工具,它用于在ROS 系统中运行一个节点。
然而,为了实现不同的功能和需求,rosrun 命令还需要配合一些参数使用。
本文将对rosrun 命令的参数进行详细介绍,帮助用户更好地理解和使用这一工具。
二、rosrun 命令的作用rosrun 命令是ROS 中用于运行一个节点的命令,它的基本语法为:```rosrun <package_name> <node_name>```其中,`<package_name>`表示节点所在的软件包,`<node_name>`表示要运行的节点名称。
在实际使用过程中,为了实现更丰富的功能,rosrun 命令还可以配合一些参数使用。
2.参数详解为了方便用户根据需求调整节点参数,rosrun 命令提供了多个参数,具体如下:- `-r <repository>`:指定节点所在的仓库路径。
- `-p <package>`:指定节点所在的软件包。
- `-m <master>`:指定节点连接的ROS Master 地址。
- `-n <node_name>`:指定要运行的节点名称。
- `--type <type>`:指定节点类型。
- `--package <package>`:指定节点所在的软件包。
- `--executable <executable>`:指定节点可执行文件。
三、rosrun 参数的设置1.节点名称通过`-n`或`--node_name`参数,用户可以指定要运行的节点名称。
ROS使用总结及ROS2知识
ROS使用总结1.什么是ROS?✓ROS是机器人操作系统(Robot Operating System)的英文缩写。
✓ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。
它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。
✓ROS的原型源自斯坦福大学的STanford Artificial Intelligence Robot (STAIR) 和Personal Robotics (PR)项目。
通常这样解释ROS:✓ 1. 通道:ROS提供了一种发布-订阅式的通信框架用以简单、快速地构建分布式计算系。
✓ 2. 工具:ROS提供了大量的工具组合用以配置、启动、自检、调试、可视化、登录、测试、终止分布式计算系统。
✓ 3. 强大的库:ROS提供了广泛的库文件实现以机动性、操作控制、感知为主的机器人功能。
✓ 4. 生态系统:ROS的支持与发展依托着一个强大的社区。
尤其关注兼容性和支持文档,提供了一套“一站式”的方案使得用户得以搜索并学习来自全球开发者数以千计的ROS程序包。
ROS的简单理解:➢ROS不是传统意义上的操作系统,而是一种系统软件框架➢ROS使用面向服务的软件技术,通过网络协议将节点间数据通信解耦。
这样可以轻松集成不同语言不同功能的代码。
➢ROS不是一种编程语言。
➢ROS不仅是一个函数库,除包含客户端外,还包含一个中心服务器、一系列命令工具、图形化界面工具以及编译环境。
2.ROS开发环境搭建安装参考: /cn(1)sudo rosdep init初始化rosdep,rosdep用于检查和安装软件包的依赖(2)rosdep update初始化rosdep,在根目录下保存一些文件,文件夹名为.ros(3)source /opt/ros/kinetic/setup.bash设置ROS_PACKAGE_PATH等环境变量,ROS根据这些环境变量来定位文件setup.bash还定义了一些ros系统的bash函数,如roscd和rosls等.(4)测试ROS是否正确安装roscorerosrun turtlesim turtlesim_noderosrun turtlesim turtle_teleop_key在三个终端分别执行指令3.ROS的重要概念ROS有三个层级的概念,分别是:文件系统级、计算图级和开源社区级。
ROS 的一些解释
ROS 路由器的一些解释routeros防火墙功能非常灵活。
routeros防火墙属于包过滤防火墙,你可以定义一系列的规则过滤掉发往routeros、从routeros发出、通过routeros转发的数据包。
在routeros防火墙中定义了三个防火墙(过滤)链(即input、forward、output),你可以在这三个链当中定义你自己的规则。
input意思是指发往routeros自己的数据(也就是目的ip是routeros接口中的一个ip地址);output意思是指从routeros发出去的数据(也就是数据包源ip是routeros接口中的一个ip地址);forward意思是指通过routeros转发的(比如你内部计算机访问外部网络,数据需要通过你的routeros进行转发出去)。
禁止ping routeros,我们一般需要在input链中添加规则,因为数据包是发给routeros的,数据包的目标ip是routeros 的一个接口ip地址。
(当然如果你硬是要在output里建立一条规则过滤掉icmp信息也能做到ping不通,当你ping的数据包到达routeos时,routeos能接收这个数据包并做出回应,当routeros回应给你的包要发出去的时候会检查output的规则并过滤掉回应你的包。
)在每条链中的每条规则都有目标ip,源ip,进入的接口(in interface),非常灵活的去建立规则。
比如ROS禁止PING,禁止外网ping你routeros,只需要在in interface中选择你连外部网络的接口。
禁止内部ping的话可以选择连你内部网络的接口。
如果禁止所有的ping的话,那么接口选择all。
当然禁止ping 协议要选择icmp,action选择drop或reject。
另外要注意的就是,icmp协议并不是就指的是ping,而是 ping是使用icmp协议中的一种(我们ping 出去发送的数据包icmp协议的类型为8 代码为0,在routeros中写为icmp-options=8:0;而我们对ping做出回应icmp类型为0 代码为0),还有很多东西也属于icmp协议。
ROS软路由全部命令及技巧
ROS全部命令及技巧个人资料请勿外泄ROS菜单含义guanlianinterfaces---网络接口wireless---无线网络bridge---桥接ppp-虚拟拨号ipports--端口queues-限速drivers-设备systemfiles-文件备份/恢复log--系统日志snmp-snmp管理方式users-用户radius-radius管理tools-工具new terminal-命令方式telnet--tlenet连接方式password--修改密码certificate---证书哎,盗版madk supout.rif 制作rif文件manual--说明isdn chanels--一线通方式routing--路由exit--退出sys reset__________________________________ addresses--ip地址routers-路由表pool-地址池arp-帮定ipvrrp-热备份firewall-防火墙socks-代理upnp-自动端口映射traffic flow-网络流量accounting--合计services--服务packing-ros模块neighbors--邻居ros用户dns--proxy-代理dhcp client-dhcp客户端dhcp server - dhcp服务dhcp relay-dhcp转换hospot-热点认证telephony-电话ipsec-ip隧道连接方式web proxy web代理system system system system system system---------------------------------------------identity---ros标示clock-时间resources-系统配置license-注册信息packages--安装包auto upgrade-自动升级logging--日志history--历史日志console---com控制台scripts--脚本scheduler--进程watchdog--监视狗reboot-从起shutdown-关机lcd-小液晶显示ros消息ntp chient--ros时间客户端ntp server---ros时间服务端自动更新ros时间health---ros情况ups-ups电源,可持续电源,就是电瓶。
ROS基本操作说明
RouterOS应用说明主要特征TCP/IP协议组:∙Firewall和NAT–包状态过滤;P2P协议过滤;源和目标NAT;对源MAC、IP地址、端口、IP协议、协议(ICMP、TCP、MSS等)、接口、对内部的数据包和连接作标记、ToS 字节、内容过滤、顺序优先与数据频繁和时间控制、包长度控制...∙路由–静态路由;多线路平衡路由;基于策略的路由(在防火墙中分类); RIP v1 / v2, OSPF v2, BGP v4∙数据流控制–能对每个IP、协议、子网、端口、防火墙标记做流量控制;支持PCQ, RED, SFQ, FIFO 对列; Peer-to-Peer协议限制∙HotSpot– HotSpot认证网关支持RADIUS验证和记录;用户可用即插即用访问网络;流量控制功能;具备防火墙功能;实时信息状态显示;自定义HTML登录页;支持iPass;支持SSL安全验证;支持广告功能。
∙点对点隧道协议–支持PPTP, PPPoE和L2TP访问控制和客户端;支持PAP, CHAP, MSCHAPv1和MSCHAPv2 验证协议;支持RADIUS验证和记录;MPPE加密;PPPoE压缩;数据流控制;具备防火墙功能;支持PPPoE按需拨号。
∙简单隧道– IPIP隧道、EoIP隧道(Ethernet over IP)∙IPsec–支持IP安全加密AH和ESP协议;∙Proxy–支持FTP和HTTP缓存服务器;支持HTTPS代理;支持透明代理;支持SOCKS协议;DNS static entries; 支持独立的缓存驱动器;访问控制列表;支持父系代理。
∙DHCP– DHCP服务器;DHCP接力;DHCP客户端; 多DHCP网络;静态和动态DHCP租约;支持RADIUS。
∙VRRP–高效率的VRRP协议(虚拟路由冗余协议)∙UPnP–支持即插即用∙NTP–网络对时协议服务器和客户端;同步GPS系统∙Monitoring/Accounting– IP传输日志记录;防火墙活动记录;静态HTTP图形资源管理。
ROS脚本语法使用教程
#incorrect /ip route add gateway = 3.3.3.3 #correct /ip route add gateway=3.3.3.3
范围 变量只能在脚本的特定区域使用,这些区域就被称作scope(范围) ,范围决定了变量的可见度。这有两种类型的 范围,全局和局部,一个变量在一个语句块内声明只能在该语句块内访问.
:if ($a = true \
and $b=false) do={ :put “$a $b”; }
:if ($a = true \
# bad comment
and $b=false) do={ :put “$a $b”; }
# comment \
continued – invalid (syntax error)
:put " We have $[ :len [/ip route find] ] routes"; 其他的运算符
Opearator
Description
“[]”
命令替换,可以包含单个命令行
“()”
子表达式或者分组运算符
“$”
替换运算符
“~”
二进制操作符用来匹配扩展的正则表达式的值
Example :put [ :len "my test string"; ]; :put ( "value is " . (4+5)); :global a 5; :put $a; Print all routes which gateway ends with 202 /ip route print where gateway~"^[0-9 \\.]*202"
“||” , “or” logical OR :put (true||false);
ROS全部命令及技巧
在输入脚本内容时不要把两边的()带上,那个是为了区分非脚本字符。
RO映射
ip-firewall-Destination NAT
General-In. Interface all(如果你是拨号的就选择pppoe的、固定IP选择all即可)
Dst. Address:外网IP/32
input:将其屏蔽或者删掉
关于mac地址扫描
/tool mac-scan all
VPN与ppp建立用户
在interfaces--settings-pptp server
Enabled选择 mtu1500 mru:1500
keepalive Timeout:disabledN# D# C
RO端口的屏蔽
ip-firewall-Filer Rules里面选择
forward的意思代表包的转发
firewall rule-General
Dst.Address:要屏蔽的端口
Protocol:tcp
Action:drop(丢弃)
ros限速
2 to 254是2~254
192.168.0. . $aaa是IP
上两句加起来是192.168.0.2~192.168.0.254
connection-limit=50是线程数这里为50
max-limit=2000000/2000000是上行/下行
使用:
WinBox-System-Scripts-+
Tracking:TCP Syn Sent Timeout:50
TCP syn received timeout:30
限线程脚本:
:for aaa from 2 to 254 do={/ip firewall filter add chain=forward src-address=(192.168.0. . $aaa) protocol=tcp connection-limit=50,32 action=drop}
ROS通用脚本命令精典大放送-脚本使用方法
/ip hotspot user add name=user1 password=1 增加用户
一:限速脚本
:for wbsz from 1 to 254 do={/queue simple add name=(wbsz . $wbsz) dst-address=(192.168.0. . $wbsz) limit-at=1024K/1024K max-limit=1024K/1024K}
LOAD NAME=你要设置文件名 恢复备份
/interface print 查看网卡状态
0 X ether1 ether 1500 这个是网卡没有开启
0 R ether1 ether 1500 这个是正常状态
add chain=forward protocol=udp dst-port=4004 action=drop
add chain=forward dst-address=218.108.237.11 action=drop
十九:禁QQ直播
/ ip firewall filter
add chain=forward protocol=udp dst-port=13000-14000 action=drop comment="No QQLive"
/ip service set ssh port=22
七:更变www服务端口号
/ip service set www port=80
八:更变FTP服务端口号
/ip service set ftp port=21
九:增加本ROS管理用户
/user add name=wbsz password=admin group=full
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ห้องสมุดไป่ตู้
比较
[admin@MikroTik]> :put (10.0.2.3<=2.0.3.10)
false
[admin@MikroTik]> :put (100000s>27h)
true
[admin@MikroTik]> :put (60s,1d!=1m,3600s)
[admin@MikroTik]> :put (10.0.0.15 + 10)
10.0.0.25
减法
[admin@MikroTik]> :put (15 - 10)
5
[admin@MikroTik]> :put (10.0.0.15 - 10.0.0.3)
[admin@MikroTik]> :put ((yes && yes) || (yes && no))
true
[admin@MikroTik]> :put ((no || no) && (no || yes))
false
数位与AND, 或OR, 异或XOR
呵呵,自己搞定了
---------------------------------------------------------------------------------------------------------------------------------------------
12
[admin@MikroTik]> :put (10.0.0.15 - 12)
10.0.0.3
[admin@MikroTik]> :put (15h - 2s)
14:59:58
乘法
[admin@MikroTik]> :put (12s * 4)
00:00:48
| 或
|| 逻辑或
ROS说明书里的例子:
计算顺序
[admin@MikroTik]> :put (10+1-6*2=11-12=2+(-3)=-1)
false
[admin@MikroTik]> :put (10+1-6*2=11-12=(2+(-3)=-1))
[apple@sgg-gatewy] > :put $testip
[apple@sgg-gatewy] > :set testip {[:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)]}
因为下面这个问题,我觉得脚本详细解释也许对大家有用处,决定把以前网络时候找的资料发上来,希望对大家有用处
[apple@sgg-gatewy] > :put (([/ip firewall address-list get 0 address ] & 255.255
.255.0) . \/24)
现在的需要解决的是,使用什么方法,或者用别的命令来实现把连接好了的新数字赋给testip这个变量
直接脚本里面写dst-address=[:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)]
也是无效的的,测试过了的
true
逻辑非
[admin@MikroTik]> :put (!true)
false
[admin@MikroTik]> :put (!(2>3))
true
数位取反
[admin@MikroTik]> :put (~255.255.0.0)
221.232.119.0/24
[apple@sgg-gatewy] > :global testip
[apple@sgg-gatewy] > :put $testip
[apple@sgg-gatewy] > :set testip 202.103.24.0/24
[apple@sgg-gatewy] > :put $testip
[admin@MikroTik]> :put (10.16.0.134 & ~255.255.255.0)
0.0.0.134
位移操作
[admin@MikroTik]> :put (~((0.0.0.1 << 7) - 1))
255.255.255.128
1,2,3,4
[admin@MikroTik]> :put ((1 . 3) + 1)
14
[admin@MikroTik]> :set a "It's "
[admin@MikroTik]> :put ($a . OK)
It's OK
ROS脚本保留字
beep execute global list pick time toip typeof
true
[admin@MikroTik]> :put (bridge=routing)
false
[admin@MikroTik]> :put (yes=false)
false
[admin@MikroTik]> :put (true=aye)
false
逻辑与 AND, 逻辑或 OR
连接操作
[admin@MikroTik]> :put (1 . 3)
13
[admin@MikroTik]> :put (1,2 . 3)
1,2,3
[admin@MikroTik]> :put (1 . 3,4)
13,4
[admin@MikroTik]> :put (1,2 . 3,4)
[apple@sgg-gatewy] > :set testip ([:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)])
221.232.119.0/24
[apple@sgg-gatewy] > :put $testip
最新ros脚本详细解释时间:2010-05-24 21:56来源:深圳网吧联盟 作者:admin 点击:130次因为下面这个问题,我觉得 脚本 详细解释也许对大家有用处,决定把以前 网络 时候找的资料发上来,希望对大家有用处 [apple@sgg-gatewy] :put (([/ip firewall address-list get 0 address ] 255.255 .255.0) . \/24) 202.103.24.0/24 这样使用put可以实现把 202.103.24.0 和/24 结合成一个整体 但是怎么样把这个新的值202.103.24.0/24赋给一个变量呢,set不能完成,谁有好的建议或者
delay find if local put toarray tonum while
do for led log resolve tobool tostr
environment foreach len nothing set toid totime
ROS算术操作
- 负号;相减。
! 逻辑非。
/ 相除。
. 连接。两个符串的连接,添加元素到列表
^ 异或(XOR)
~ 取反
* 相剩
& 与(AND)
&& 逻辑与
+ 相加
< 小于
<< 向左位移
<= 小于等于
> 大于
>= 大于等于
>> 向右位移
202.103.24.0/24
[apple@sgg-gatewy] > :set testip [:put (([/ip firewall address-list get 0 address ] & 255.255.255.0) . \/24)]
221.232.119.0/24
[apple@sgg-gatewy] > :environment print
Global Variables
Local Variables
testip=
0.0.255.255
加法
[admin@MikroTik]> :put (3ms + 5s)
00:00:05.003
[admin@MikroTik]> :put (10.0.0.15 + 0.0.10.0)
cannot add ip address to ip address
RouterOS2.96脚本详解
四种变量
global - 定义全局变量, 可以要所有的脚本中调用共享
local - 定义本地变量,只能在其所要的脚本下调用,不能被其它脚本共享
loop index variables - 定义在for或foreach里的索引号变量
monitor variables - 监视变量
202.103.24.0/24
这样使用put可以实现把
202.103.24.0
和/24
结合成一个整体
但是怎么样把这个新的值202.103.24.0/24赋给一个变量呢,set不能完成,谁有好的建议或者意见