RouterOS配置国内DDNS服务

虽然RouterOS 加入了cloud功能,但最近在配置RB2011的时候发现不好使,更新域名后无法正确解析到我的IP地址,虽然在cloud的public address中显示了正确的公网ip地址,但解析分配的域名时老是错误,在官网论坛也有人反映这个问题,但没有结果所以放弃了cloud。最近发现cloud服务又恢复正常,但考虑到安全起见还是找一个第三方备份DDNS服务。
RouterOS早期的DDNS推荐是changeip是国外网站,使用上有些不方便,所以最近找了下国内的DDNS站点pubyun.com的ddns域名更新,此类更新有所不同,使用的是http协议进行更新,所以需要使用fetch功能更新,首先申请了一个DDNS域名,当然申请的是免费域名,根据网站提供的更新说明做了一个DDNS动态更新的脚本,大致配置如下。
在pubyun.com站点选择DDNS二级域名是f3322.org,申请完成后,需要设置更新密码,这个很关键。
如设置更新密码为:0123456789
如果是windows电脑可以下载客户端更新软件,同时pubyun.com站点在客户端下载页面提供了linux更新方法,使用lynx通过通过http 方式更新,如下:
lynx -mime_header -auth=用户名:密码 “http://members.3322.net/dyndns/update?system=dyndns&hostname=域名”
RouterOS没有提供lynx,但提供了fetch功能,假设我的域名是”xxxx.f332.org”,用户名root,密码0123456789,使用fetch更新脚本如下:
/tool fetch url=”http://members.3322.org/dyndns/update?system=dyndns&hostname=xxxx.f3322.org”  mode=http user=root password=0123456789
注意:上面的url内容包含了?,在terminal的CLI命令行无法执行,需要添加到/system script脚本执行测试
在script先新建脚本内容如下:
:global ddnsnic “pppoe-out1”
:global ddnslastip
:global ddnsip [ /ip address get [/ip address find dynamic=yes interface=$ddnsnic ] address ]
 :if ( [:typeof $ddnslastip]=”nothing” ) do={ :global ddnslastip 0.0.0.0/0 }
 :if ( [:typeof $ddnsip]=”nothing” ) do={
      :log info (“DDNS: No ip address present on ” . $ddnsnic . “, please check.”)
  } else={
      :if ($ddnsip != $ddnslastip) do={
      :log info “DDNS: Sending UPDATE!”
      :log info [ /tool fetch url=”http://members.3322.org/dyndns/update?system=dyndns&hostname=xxxx.f3322.org”  mode=http user=root password=0123456789
      :global ddnslastip $ddnsip
    } else={
     :log info “DDNS: No change”
     }
 }
剩下的操作就是放到/system scheduler计划任务中周期执行

Simple Queue

Simple queue简单队列是IP地址或子网段进行流量限制,IP限流最简单方法就是使用/queue simple。也可以用simple queue建立高级QoS应用,如mangle标记和等级队列。
功能包:system
等级: Level 3
操作路径: /queue simple
在/queue simple创建一个流控配置项目,会分别有三个独立的队列,分别是 global-in, global-out和 global-total. 如果在/queue simple创建一个默认队列规则(无流控限制、queue type为默认),并且该队列没有子队列,即这样的队列实际上没有创建。如果队列只配置了upload/download流控属性,global-total队列可以被忽略。如果仔细观察,当建立一条queue simple规则同时在queue tree可以瞬间看到3条规则的建立,然后被隐藏到后台,即queue simple被建立在queue tree下。
Simple queues是有序对队列即FIFO,每个数据包都必须经过每一个队列处理,直到最后一条队列规则,即如果有1000条队列,匹配的队列规则是排列在第1000条,那么数据包过经过前面999条后,才能到达该规则。 因此Simple queue在出现大量队列规则后,处理效率会降低。
在v6大改动后,simple queue已经具备了和queue tree相同的等级流控功能。在v6前simple queue使用的是FIFO算法,后v6之后FIFO算法已经取消,优化了RouterOS在流控处理性能。
• P2P流量队列
• 计划时间任务执行队列规则
• 优先级队列
• 从 /ip firewall mangle 使用多重包标记
• 双向流控(对上行和下行的带宽限制)
应用举例
下面假设我们想要对网络192.168.0.0/24流量限制为:下行1Mb上行512kb,这里我们需要让服务器192.168.0.1不受流量控制。网络的基本设置如图:
这里我们使用(simple queue)简单队列,首先我们配置RouterOS的IP地址、网关和NAT等基本网络参数:
 [admin@MikroTik] ip address> print
Flags: X – disabled, I – invalid, D – dynamic
 #   ADDRESS            NETWORK         BROADCAST       INTERFACE
 0   192.168.0.254/24    192.168.0.0     192.168.0.255      Local
 1   10.5.8.104/24           10.5.8.0            10.5.8.255             Public
[admin@MikroTik] ip address>
路由配置:
[admin@MikroTik] ip route> print
Flags: X – disabled, A – active, D – dynamic,
C – connect, S – static, r – rip, b – bgp, o – ospf
 #     DST-ADDRESS        G GATEWAY        DISTANCE   INTERFACE
 0 ADC 10.5.8.0/24                                                                   Public
 1 ADC 192.168.0.0/24                                                            Local
 2 A S 0.0.0.0/0                   r 10.5.8.1                                      Public
[admin@MikroTik] ip route>
最后不要忘记在ip firewall nat中配置src-nat的伪装或nat,做地址转换操作。
为网络192.168.0.0/24的所有客户端添加一个限制下载流量为2Mb上传流量1Mb的简单队列规则。
[admin@MikroTik] queue simple> add name=Limit-Local target-address=192.168.0.0/24 max-limit=1000000/2000000
[admin@MikroTik] queue simple> print
Flags: X – disabled, I – invalid, D – dynamic
 0    name=”Limit-Local” target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0
      parent=none priority=8 queue=default/default  limit-at=0/0 max-limit=1000000/2000000 total-queue=default
[admin@MikroTik] queue simple>
max-limit限制了最大可用带宽,从客户的角度看,参数target-addresses定义限制带宽的目标网络或者主机(也可以用逗号分隔开网络段或主机地址)。
这里不想让服务器受到我们添加上面规则的任何流量限制,我们可以通过添加一个没有任何限制的规则(max-limit=0/0代表没有任何限制)并把它移到列表的顶部:
[admin@MikroTik] queue simple> add name=Server target-addresses=192.168.0.1/32
[admin@MikroTik] queue simple> print
Flags: X – disabled, I – invalid, D – dynamic
 0    name=”Limit-Local” target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0
      parent=none priority=8 queue=default/default limit-at=0/0 max-limit=65536/131072 total-queue=default
 1    name=”Server” target-addresses=192.168.0.1/32 dst-address=0.0.0.0/0
      parent=none priority=8 queue=default/default limit-at=0/0 max-limit=0/0       total-queue=default
使用move命令将第二条规则移动到第一条,即从编号1,移动到编号0,用于queue simple中FIFO的优先顺序(注意:v6.0后FIFO算法被取消,所以不存在move命令
[admin@MikroTik] queue simple> move 1 0
[admin@MikroTik] queue simple> print
Flags: X – disabled, I – invalid, D – dynamic
 0    name=”Server” target-addresses=192.168.0.1/32 dst-address=0.0.0.0/0
      parent=none priority=8 queue=default/default
      limit-at=0/0 max-limit=0/0 total-queue=default
 1    name=”Limit-Local” target-addresses=192.168.0.0/24 dst-address=0.0.0.0/0
      parent=none priority=8 queue=default/default
      limit-at=0/0 max-limit=65536/131072 total-queue=default
[admin@MikroTik] queue simple>

RouterOS SOCKS代理服务器

       SOCKS 是基于TCP应用层协议穿透防火墙的代理服务器,即使防火墙阻止了一些应用端口,也能通过SOCKS代理穿透。SOCKS协议是独立于应用层的,因此可以用于WWW、FTP、Telnet等等。
      来至百度解释:Socks不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、 HTTP 层代理不同,Socks代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。它通常绑定在代理服务器的1080端口上。如果您在企业网或校园网上,需要透过防火墙或通过代理服务器访问Internet就可能需要使用SOCKS。
       首先,一个应用层客户端连接到SOCKS代理服务器,这时代理服务器会查看访问列表(access list)是否允许客户端访问远端的应用资源。如果允许,代理服务器将数据包传递给应用服务器,并创建一个应用服务器与客户端的连接。
注意:配置你的应用客户端必须使用SOCKS v4版本
      安全的SOCKS代理应该是通过访问列表和防火墙控制访问外部应用,例如防火墙禁止FTP的TCP/21端口,通过SOCKS代理允许指定客户端IP访问。如果不安全的代理服务器引入网络,可能为垃圾邮件发送者通过路由器发送垃圾邮件提供条件。
属性描述
 connection-idle-timeout (时间; 默认: 2m) – 连接空闲超时时间,即连接空闲后多长时间关闭
 enabled (yes | no; 默认: no) – 是否启用SOCKS代理
 max-connections (整型: 1..500; 默认: 200) – 同时建立最大连接数
 port (整型: 1..65535; 默认: 1080) – SOCKS服务器监听连接的TCP端口
访问列表(Access List)
操作路径: /ip socks access
在SOCKS访问列表中,你能添加访问策略控制访问SOCKS服务器。SOCKS访问列表类似于防火墙列表策略。
属性描述
 action (allow | deny; 默认: allow) – 选择此规则的执行方式。
     allow – 匹配这个规则将允许数据包转发,并进一步处理
     deny –  匹配这个规则将拒绝数据访问
 dst-address (IP address/netmask) – 目标IP地址(对端服务器)
 dst-port (port) – 目标TCP端口
 src-address (IP address/netmask) – 源IP地址(客户端)
 src-port (port) – 源TCP端口
活动连接(Active Connections)
操作路径: /ip socks connections
活动连接列表显示了所有已经建立TCP连接,用于SOCKS代理服务器连接维护
属性描述
 dst-address (只读: IP地址) – 目标IP地址
 rx (只读: 整型) – 接收字节
 src-address (只读: IP地址) – 源IP地址
 tx (只读: 整型) – 发送字节
 type (只读: in | out | unknown) – 连接类型
     in – 向内连接
     out – 向外连接
     unknown – 连接正被发起
事例
查看当前TCP连接列表
[admin@MikroTik] ip socks connections> print
 # SRC-ADDRESS                DST-ADDRESS                TX         RX
 0 192.168.0.2:3242           159.148.147.196:80         4847       2880
 1 192.168.0.2:3243           159.148.147.196:80         3408       2127
 2 192.168.0.2:3246           159.148.95.16:80           10172      25207
 3 192.168.0.2:3248           194.8.18.26:80             474        1629
 4 192.168.0.2:3249           159.148.95.16:80           6477       18695
 5 192.168.0.2:3250           159.148.95.16:80           4137       27568
 6 192.168.0.2:3251           159.148.95.16:80           1712       14296
 7 192.168.0.2:3258           80.91.34.241:80            314        208
 8 192.168.0.2:3259           80.91.34.241:80            934        524
 9 192.168.0.2:3260           80.91.34.241:80            930        524
10 192.168.0.2:3261           80.91.34.241:80            312        158
11 192.168.0.2:3262           80.91.34.241:80            312        158
[admin@MikroTik] ip socks connections>
应用实例
FTP服务通过SOCKS代理服务器
假设一个内网192.168.0.0/24,并做了nat伪装(masqueraded),RouterOS网络接口配置一个公网IP 10.1.0.104/24 和内网网关192.168.0.1/24,互联网中有一台FTP服务器IP地址是10.5.8.8。我们希望让内网客户端IP地址192.168.0.2访问这个FTP服务器
首先,确认nat伪装规则已经配置
[admin@MikroTik] ip firewall nat> print
Flags: X – disabled, I – invalid, D – dynamic
 0   chain=srcnat action=masquerade src-address=192.168.0.0/24
[admin@MikroTik] ip firewall nat>
然后确认访问公网的FTP服务已经被防火墙拒绝,即访问FTP服务是不能直接通过正常应用协议访问:
[admin@MikroTik] ip firewall filter> print
Flags: X – disabled, I – invalid, D – dynamic
 0   chain=forward action=drop src-address=192.168.0.0/24 dst-port=21 protocol=tcp
[admin@MikroTik] ip firewall filter>
这里就需要使用SOCKS代理服务器去访问,首先启用SOCKS服务器:
[admin@MikroTik] ip socks> set enabled=yes
[admin@MikroTik] ip socks> print
                    enabled: yes
                       port: 1080
    connection-idle-timeout: 2m
            max-connections: 200
[admin@MikroTik] ip socks>
接下来配置访问列表,添加客户端IP地址192.168.0.2/32到SOCKS访问列表中,允许数据传输从FTP服务器到客户端(且允许目标端口从1024到65535的所有IP地址),然后拒绝所有:
[admin@MikroTik] ip socks access> add src-address=192.168.0.2 dst-port=21 \
\… action=allow
[admin@MikroTik] ip socks access> add dst-port=1024-65535 action=allow
[admin@MikroTik] ip socks access> add action=deny
[admin@MikroTik] ip socks access> print
Flags: X – disabled
 0   src-address=192.168.0.2 dst-port=21 action=allow
 1   dst-port=1024-65535 action=allow
 2   action=deny
[admin@MikroTik] ip socks access>
这样,SOCKS服务器已经配置完成,查看Connctions中断数据传输和连接情况:
[admin@MikroTik] ip socks connections> print
 # SRC-ADDRESS                DST-ADDRESS         TX         RX
 0 192.168.0.2:1238           10.5.8.8:21                1163       4625
 1 192.168.0.2:1258           10.5.8.8:3423              0          3231744
[admin@MikroTik] ip socks connections>
注意:为了让客户端正确连接SOCKS代理服务器,你必须在客户端应用配置上指定IP地址和端口到你的FTP客户端,在这个实例中IP地址设置为192.168.0.1,TCP端口为1080。

Route路由介绍(非动态路由)

需要功能包:system 
需要等级:Level1 
操作路径:/ip route 
RouterOS路由状态分类有手动和自动两种方式:
• 自动添加路由 是当在一个网卡上添加了IP,会自动创建一个条路由(如PPPoE-Client、PPTP-Client和DHCP-Client等自动添加网关)。
• 静态路由 是用户自定义将IP数据包指定到默认网关的路由,这需要手动指定默认的网关。
当然在使用PPPoE-Client、PPTP-Client和DHCP-Client自动添加路由外,只能手动添加默认的路由规则,即默认路由,除非使用了动态路由协议(RIP 或OSPF)
RouterOS按照网络配置环境分为静态路由、ECMP和策略路由
静态路由
在一个路由器两个IP段中,添加内网静态路由到网络10.1.12.0/24 和默认网关出口路由为0.0.0.0/0,在配置RouterOS默认路由时,命令行添加默认的gateway:
[admin@MikroTik] ip route> add dst-address=10.1.12.0/24 gateway=192.168.0.253
[admin@MikroTik] ip route> add gateway=10.5.8.1
[admin@MikroTik] ip route> print
Flags: X – disabled, A – active, D – dynamic,
C – connect, S – static, r – rip, b – bgp, o – ospf
 #     DST-ADDRESS        G GATEWAY         DISTANCE    INTERFACE
 0 A S 10.1.12.0/24           r 192.168.0.253                             Local
 1 ADC 10.5.8.0/24                                                                     Public
 2 ADC 192.168.0.0/24                                                              Local
 3 A S 0.0.0.0/0                  r 10.5.8.1                                         Public
[admin@MikroTik] ip route>
下面是使用Winbox进入ip route配置静态路由,指定10.1.12.0/24走网关192.168.0.253:
ECMP等价多路径路由 
当接入网络使用同一类型网络,又是多线路接入时,可以采用ECMP负载均衡。最基本的负载均衡“Equal-Cost Multi-Path Routing”即等价多路径路由,但这种方式在普通的路由交换中最常见,是非nat静态路由的一种常见路由负载均衡方式。
注意:Equal-Cost Multi-Path Routing(等价多路径路由)在做nat的负载均衡缺点是每10分钟会重新均衡线路,这样session将会被指定到其他网关,出现访问的源地址改变,目标地址无响应出现频繁掉线情况,所以当基于nat的负载均衡时“Equal-Cost Multi-Path Routing”是不能选择的。
• Equal-Cost Multi-Path Routing的操作,通过在ip route添加多网关的静态路由(格式如:gateway=x.x.x.x,y.y.y.y)路由协议会建立动态的多路路由。
等价路由在路由设备中是最常见的配置,但这个并不能应用到做nat设备的路由器上,因为源地址信息以及被隐藏。
假设路由网络中有两条网关到10.1.12.0/24,一个网关是192.168.0.253,一个是192.168.1.253,我们配置ECMP负载均衡规则:
[admin@MikroTik] ip route> add dst-address=10.1.12.0/24 gateway=192.168.0.253,192.168.1.253
[admin@MikroTik] ip route> print
Flags: X – disabled, A – active, D – dynamic,
C – connect, S – static, r – rip, b – bgp, o – ospf, m – mme,
B – blackhole, U – unreachable, P – prohibit
 #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
 0 A S  0.0.0.0/0                                               10.5.8.1                    1
 1 A S  10.1.12.0/24                                        192.168.0.253        1
                                                                            192.168.1.253
 2 ADC  10.5.8.0/24            10.5.8.2               ether1                     0
 3 ADC  192.168.0.0/24     192.168.0.2        ether2                     0
 4 ADC  192.168.1.0/24     192.168.1.2        ether3                     0
[admin@MikroTik] ip route>
使用winbox配置:
策略路由 
策略路由是RouterOS最灵活的路由配置,需要涉及到ip route、/ip firewall manlge、/ip firewall address-list等多个配置,在策略路由主要实现多条线路路由的控制,如指定源地址策略路由,目标地址策略路由、端口策略路由、地址列表的策略路由,也可以通过多种方式组合使用:
• 通过mangle标记期望的数据(源地址、目标地址和端口),设置一个routing-mark
• 在ip route或ip route rules中配置目标和各种路由协议
• 使用address-list定义地址列表,并进行routing-mark标记
对于RouterOS的nat做负载均衡也属于策略路由种类,最早出现的nat环境下的负载均衡是Nth,Nth采用第N次链接的负载均衡,这样基本实现了不掉线的真正负载均衡,但存在一个弊端就是要求对IP验证的网站会多次要求验证(如银行网银和论坛验证等),这样需要通过策略指定一些IP或者端口走固定的线路。由于Nth的特殊性,将在单独一章进行讲解。
趋于完善的负载均衡策略是PCC(Per connection classified)每次连接分类的负载均衡,这样的策略对每次的链接进行分类保持连续性的负载均衡,弥补了Nth的不足。而且我们可以通过PCC更好的实现多线路的权重路由,即按照比例分配到不同网关的流量。

ARP

每个主机通过IP地址通信,但局域网的设备,通过MAC地址进行数据交换,三层通信建立在二层的基础上,地址解析协议ARP用于OSI第三层与第二层的IP和MAC连接。一个路由器会有一个当前ARP列表,同一子网通信通常是建立为动态ARP列表,但为增强网络稳定性和安全性,可建立静态ARP列表,如防御ARP病毒。

 

需要功能包:system 
需要等级:Level1 
操作路径:/ip arp 
属性描述
address (IP 地址) – 对应的IP地址
interface (名称) – 被分配IP地址的接口名称
mac-address (MAC地址; 默认: 00:00:00:00:00:00) – 相应的MAC地址
注:最大的ARP的条目数为8192,所以在同一广播域内主机数量被限制在8192台。
如果ARP功能在接口上被关闭,例如:使用arp=disabled,来至客户端的ARP请求将不被路由器回应,因此必须添加静态的ARP才行。 例如,通过arp 命令将路由器的IP和MAC地址必须添加到windows工作站中:
C:\> arp -s 10.5.8.254  00-aa-00-62-c6-09
如果在接口上的arp属性设置为reply-only,这时路由器只应答来至静态ARP的请求,即对ARP列表中的静态ARP条目进行匹配。
例如:添加静态的IP与ARP条目
[admin@MikroTik] ip arp> add address=10.10.10.10 interface=ether2 mac-address=06:21:00:56:00:12
[admin@MikroTik] ip arp> print
Flags: X – disabled, I – invalid, H – DHCP, D – dynamic
  #   ADDRESS         MAC-ADDRESS       INTERFACE
  0 D 2.2.2.2              00:30:4F:1B:B3:D9    ether2
  1 D 10.5.7.242       00:A0:24:9D:52:A4    ether1
  2     10.10.10.10     06:21:00:56:00:12     ether2
[admin@MikroTik] ip arp>
如果在一个接口上使用静态ARP记录会使网络更安全,即我们常说的路由器ARP绑定,除了配置静态ARP条目,还必须将该接口上的arp设置为 ‘reply-only’,相关操作在下面的/interface目录中,如果非静态的ARP条目,将无法与路由器进行通信:
[admin@MikroTik] ip arp> /interface ethernet set ether2 arp=reply-only
[admin@MikroTik] ip arp> print
Flags: X – disabled, I – invalid, H – DHCP, D – dynamic
  #   ADDRESS         MAC-ADDRESS       INTERFACE
  0 D 10.5.7.242       00:A0:24:9D:52:A4    ether1
  1     10.10.10.10     06:21:00:56:00:12     ether2
[admin@MikroTik] ip arp>

IP Address配置

基于TCP/IP协议使用IP地址连接其它网络设备,并借助于地址解析协议(ARP)与同一子网的三层设备通信。
需要功能包:system 
需要等级:Level1 
操作路径:/ip address
IP协议就是使用这个地址在主机之间传递信息,这是Internet 能够运行的基础。IP地址的长度为32位,分为4段,每段8位,用十进制数字表示,每段数字范围为0~255,段与段之间用句点隔开。一个完整的IP地址选址需要子网掩码配置,子网掩码区分了不同网段的IP地址。
RouterOS能在一个接口上添加多个IP地址,如果当桥接模式在两个物理接口间被配置,该物理接口上添加IP地址并不是必须的(从RouterOS的2.8版本起),即使在物理接口上配置IP地址,在桥接模式状态下,IP地址将属于桥接口。通过/ip address print detail查看地址归属的接口。
MikroTik RouterOS有下面的地址类型:
• Static – 管理员手动分配IP地址到接口
• Dynamic – DHCP,ppp,ppptp或pppoe等协议连接后,自动分配的IP
属性描述
address (IP地址) – 主机的IP地址,组成X.X.X.X/netmask
broadcast (IP地址; 默认: 255.255.255.255) – 广播IP地址,通过默认IP地址和子网掩码自动计算出的
disabled (yes | no; 默认: no) – 指定那一个地址禁用或启用
interface (名称) – 接口名称
actual-interface (只读: 名称) – 仅适用于逻辑或虚拟接口,像桥(bridges)或隧道(tunnels)
netmask (IP地址; 默认: 0.0.0.0) – 指明网络地址,属于一个IP地址的一部份。
network (IP地址; 默认: 0.0.0.0) – IP地址网段。点对点连接时,网段到远端地址结束。
注:不能在同一台路由器上设置相同网段的不同IP地址,例如:10.0.0.1/24地址分配到ether1接口上,并且10.0.0.132/24地址分配到ether2接口上,这样是非法的,这两个地址属于同一个网段10.0.0.0/24。因为路由器的解释是连接两个或两个以上不同网段的设备。但允许在一个接口上配置相同子网的多个IP地址。
例如:添加IP地址10.10.10.1/24 到ether2接口上:
[admin@MikroTik] ip address> add address=10.10.10.1/24 interface=ether2
[admin@MikroTik] ip address> print
Flags: X – disabled, I – invalid, D – dynamic
  #   ADDRESS            NETWORK         BROADCAST       INTERFACE
  0   2.2.2.1/24             2.2.2.0                  2.2.2.255              ether2
  1   10.5.7.244/24      10.5.7.0               10.5.7.255            ether1
  2   10.10.10.1/24      10.10.10.0           10.10.10.255       ether2
[admin@MikroTik] ip address>
在5.0后IP地址显示参数中,已将Broadcast参数显示去掉。

Cloud服务

RouterOS 6.14开始MikroTik为RouterBOARD设备提供动态域名解析服务。即你的RB设备将自动获得一个域名,能为你经常变更的IP提供动态域名解析,让你知道如何连接自己的RB路由器。

当前Cloud仅提供两种服务:

  • ddns (提供IPv4外部地址的DNS域名解析,IPv6不支持)
  • 时间同步(当NTP无法工作时,实现时间同步,精确到秒,根据UDP数据包延迟)

注意:事实上DDNS服务提供是由cloud服务器实现,所以用户必须调整防火墙策略保证能正常连接到cloud服务器

警告: 如果路由有多个IP地址或网关,精确的IP地址更新可能会出现错误!

 

工作方式:

路由器每1分钟检查一次网关IP地址是否变更

路由器会用15秒等待cloud服务器回应请求

DDNS记录TTL值时间为60秒

Cloud时间更新: 路由器重启后和每个ddns更新周期(也工作在当路由器网关IP变更或强制ddns更新命令)

RouterOS V6基于Atheros交换芯片的802.1Q VLA..

RouterBOARD系列(非CRS系列)采用Atheros交换芯片可以实现802.1Q的VLAN配置,该功能支持采用QCA8337, AR8316, AR8327, AR8227和AR7240交换芯片。这样的配置与RouterOS interface下的Bridge和VLAN配置有别,基于Atheros交换芯片是将二层协议交给交换芯片处理,而基于interface下的bridge和VLAN配置则是将二层协议交由路由器的CPU处理,因此两者在效率和性能上是有差别。一个不占用CPU资源,一个消耗CPU资源。

下面我们以RB2011Ui路由器为例,如何在RouterOS里基于交换芯片配置VLAN的trunk和access,在这个实例中,sfp1接口作为trunk口,上联一台管理交换机,ether1-ether4作为access口
1、VLAN配置
首先将各个接口配置到交换组,即设置sfp1为master-port
/interface ethernet
set name=ether1 master-port=sfp1
set name=ether2 master-port=sfp1
set name=ether3 master-port=sfp1
set name=ether4 master-port=sfp1
设置VLAN模式到各个接口,”vlan-mode=secure”将接口加入VLAN列表, “vlan-header=always-strip”用于access口,即去掉数据帧中的VLAN包头。
“vlan-header=add-if-missing” 对应trunk口,即添加VLAN包头到为标记帧中。
“default-vlan-id” 为进入到access口的VLAN
/interface ethernet switch port
set sfp1 vlan-header=add-if-missing vlan-mode=secure
set ether1 default-vlan-id=2 vlan-header=always-strip vlan-mode=secure
set ether2 default-vlan-id=3 vlan-header=always-strip vlan-mode=secure
set ether3 default-vlan-id=4 vlan-header=always-strip vlan-mode=secure
set ether4 default-vlan-id=5 vlan-header=always-strip vlan-mode=secure
添加VLAN列表条目,即指定包含VLAN ID的数据帧在那些接口通信
/interface ethernet switch vlan
add independent-learning=no ports=sfp1,ether1 switch=switch1 vlan-id=2
add independent-learning=no ports=sfp1,ether2 switch=switch1 vlan-id=3
add independent-learning=no ports=sfp1,ether3 switch=switch1 vlan-id=4
add independent-learning=no ports=sfp1,ether4 switch=switch1 vlan-id=5
2、三层管理IP配置
这里我们将介绍如何配置VLAN的三层管理IP地址,管理IP地址将通过trunk口到达路由器,并指定VLAN ID 3为管理接口
配置交换芯片与CPU连接,在RB2011有两组交换芯片,switch1和switch2,switch1管理sfp1,ether1-ether5,switch2管理ether6-ether10。因此这里需要注意,我们配置的是sfp1和ether1-ether4,所以选择的是switch1_cpu,设置 “vlan-header=leave-as-is” 原因是管理IP数据到CPU保持原有的标记(tag)模式。
/interface ethernet switch port
set switch1_cpu vlan-mode=secure vlan-header=leave-as-is
修改VLAN列表条目,允许VLAN ID 3的数据能在sfp1,ether2和switch1_cpu,首先我们查看VLAN列表配置
[admin@MikroTik-J] /interface ethernet switch vlan> print
Flags: X – disabled, I – invalid
 #   SWITCH                             VLAN-ID    PORTS
 0   switch1                                  2      sfp1
                                                       ether1
 1   switch1                                  3      sfp1
                                                       ether2
 2   switch1                                  4      sfp1
                                                       ether3
 3   switch1                                  5      sfp1
                                                       ether4
找到VLAN id 3的对应序列号为#1,将VLAN id 3的配置加入switch1-cpu,注意这里用set命令是设置,而非把switch1-cpu添加入规则,因此我们的命令是所有的接口都要设置一次ports=sfp1,ether2,switch1-cpu如下,当然这winbox下可以直接通过图像界面添加。
[admin@MikroTik] /interface ethernet switch vlan> set 1 ports=sfp1,ether2,switch1-cpu
[admin@MikroTik-J] /interface ethernet switch vlan> print
Flags: X – disabled, I – invalid
 #   SWITCH                              VLAN-ID    PORTS
 0   switch1                                  2      sfp1
                                                       ether1
 1   switch1                                  3      sfp1
                                                       ether2
                                                       switch1-cpu
 2   switch1                                  4      sfp1
                                                       ether3
 3   switch1                                  5      sfp1
                                                       ether4
以上VLAN交换芯片菜单配置完成后,进入interface vlan菜单,添加三层接口的VLAN,这里需注意master-port从switch-cpu接收所有的数据,因此三层VLAN接口配置必须是master-port,即master-port是sfp1,配置管理IP地址192.168.8.2/24到vlan3接口上。
/interface vlan
add name=vlan3 vlan-id=3 interface=sfp1
/ip address
add address=192.168.8.2/24 interface=vlan3 network=192.168.88.0