RouterOS基础安装配置

安装

光盘安装

载入光盘,按"A"全选按"I"进行安装,然后提示不否用旧的配置,按"N"全新安装,警告时按"Y"确定

安装完后重启进入系统!

配置

命令行用"admin"登陆,

查看网卡信息

interface print
显示修改网卡1名称信息LAN与网卡2名称信息WAN

/interface
set ether1 name=lan;set ether2 name=wan
修改LAN网卡的IP地址(进入IP目录的地址目录)

/ip address
add address=192.168.2.1/24 interface=lan
按TAB查看相关命令!

设置完成后,再使用winbox界面进行相关设置!

winbox配置

设置接口

先设置各接口的信息
多lan口用网桥把所有lna接口全合并一个网桥内
然后在IP-地址设定网桥的IP段

设置DHCP

先设定IP池,注意网关不要加入到池内如:192.168.1.4-192.168.1.254
使用向导模设置DHCP这样简单一点

设置外网

  1. 在IP-地址内设置外网的IP地址信息:ip为外网给的IP,广播设为网关或是当前IP段的/24(如:192.168.1.0/24)
  2. 设置ip-路由-添加新路由 目标地址0.0.0.0/0 网关设置为外网给的IP网关
  3. 设置ip-防火墙-NAT 添加 srcnat 动作 masquerade
  4. 测试,点工具-ping,测试是否通外网

设置NAT端口转发

在IP-NAT里添加dsnat 目标IP为外网的IP,协议6(TCP) 目标端口号:80或其它
设置动作DST-NAT 至地址 内网服务器地址IP 端口内网服务器端口
关于NAT回流官方说明
回流要求服务器发出的数据必须要经过路由才生效,可以在服务器上设置静态路由,把同网段的下一跳转到路由的IP上去
这里如果有域名建议使用DNS解决

设置可上网与不可上网的规则

规则的顺序是允许,然后再禁上网的

  1. 添加所有允许的规则 FORWARD -动作accept (其它设置请按自己的要求设置)
  2. 添加DNS协议的规则 FORWARD -动作accept 协议17(udp) 目标端口53 (注意如果不添加DNS协议允许,内网用户则无法查询DNS来解释域名,也就无法得到IP,域名也用不了!)
  3. 添加禁上网的规则 FORWARD -动作drop 接入口:内网接口如:lan1或是bridge1
  4. 关于drop后网络连接图标显示无网络时应添加"www.msftconnecttest.com"为允许.如果还是不行应添加www.msftconnect.com为允许

多线路时,设置外网访问题路由

  1. 添加防火墙 标记器 指定OUTPUT 指定源IP地址(路由器) 目标地址:(!内网地址) 协议tcp 端口 22 动作mark routing到新的路由中。同理其它端口也一样

关于数据标记的注意事项

  1. INPUT——进来的数据包应用此规则链中的策略

  2. OUTPUT——外出的数据包应用此规则链中的策略

  3. FORWARD——转发数据包时应用此规则链中的策略

  4. PREROUTING——对数据包作路由选择前应用此链中的规则(记住!所有的数据包进来的时侯都先由这个链处理)(一般标记用这个标记)

  5. POSTROUTING——对数据包作路由选择后应用此链中的规则(所有的数据包出来的时侯都先由这个链处理)

  6. filter表——三个链:INPUT、FORWARD、OUTPUT 作用:过滤数据包 内核模块:iptables_filter.

  7. Nat表——三个链:PREROUTING、POSTROUTING、OUTPUT作用:用于网络地址转换(IP、端口) 内核模块:iptable_nat

  8. Mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD 作用:修改数据包的服务类型、TTL、并且可以配置路由实现QOS内核模块:iptable_mangle(别看这个表这么麻烦,咱们设置策略时几乎都不会用到它)

  9. Raw表——两个链:OUTPUT、PREROUTING 作用:决定数据包是否被状态跟踪机制处理 内核模块:iptable_raw(这个是REHL4没有的,不过不用怕,用的不多)

关于组策略精准流控标记

  1. 在Windows组策略>计算机配置>windows设置>基于策略的QoS,在里对下载软件的数据包打上 DSCP,我这里加了 UT 和迅雷这2个,迅雷因为一直有2个主进程,懒得去查哪个才是负责数据流量的进程,所以就把2个一起加了进去。协议自然是 TCP/UDP,DSCP 值可以自己选1-63之间,数字越大优先级越高,我这里用9。
    因为是 Windows 上的策略,不需要管目标IP的情况,只要是指定进程发出的数据包都无一例外的被标记,准确度完全保证。

  2. add chain=prerouting DSCP=9 action=mark-connection new-connection-mark=P2P passthrough=yes
    根据 DSCP,打上 connection-mark 标记,connection mark 的特点是可以覆盖整个链接里的所有数据包,就一次性的把上下行数据包统统标记出来了。chain=prerouting 保证数据包在进入 ros 时就被最先标记,避免遗漏。
    接下来只需要将本地 IP 做一个 address list,通过源地址/目标地址就能简单区分上行数据包和下行数据包,分别打上各自的 packet mark。
    上行

add chain=forward connection-mark=P2P src-address-list=All_Lan_IP action=mark-packet new-packet-mark=P2P_Upload passthrough=no

下行

add chain=forward connection-mark=P2P dst-address-list=All_Lan_IP action=mark-packet new-packet-mark=P2P_Download passthrough=no

脚本

转换域名为IP列表

:local a [:resolve superhub.hk]
:local b 0
:foreach i in=[/ip firewall address-list find list=superhub] do={
    :if ($a = [/ip firewall address-list get $i address ]) do={:set b 1} else={set b 0}
}
:if ($b = 0) do={/ip firewall address-list add list=superhub address=$a}

为静态的ARP添加到DHCP服务里

:local boolfind 0
:foreach i in=[/ip arp find dynamic=no] do={
:set boolfind 0
:foreach n in=[/ip dhcp-server lease find address=[/ip arp get $i address]] do={:set boolfind 1}
:if ($boolfind = 0) do={/ip dhcp-server lease add address=[/ip arp get $i address] mac-address=[/ip arp get $i mac-address]}
}

然后使用调度-脚本名称add_superhub_ip

:execute add_superhub_ip

双线pppoe更新脚本到防火墙路由标记

#获取pppoe1拨号ip
:local ipaddr1 [/ip address get [/ip address find interface="pppoe-out1"] address]
:set ipaddr1 [:pick $ipaddr1 0 ([len $ipaddr1] -3)]
[/ip firewall mangle set [find comment=relink1 ] dst-address=$ipaddr1];

#获取pppoe2拨号ip
:local ipaddr2 [/ip address get [/ip address find interface="pppoe-out2"] address]
:set ipaddr2 [:pick $ipaddr2 0 ([len $ipaddr2] -3)]
[/ip firewall mangle set [find comment=relink2 ] dst-address=$ipaddr2];
posted @ 2019-10-16 17:30  天祈笨笨  阅读(1136)  评论(0编辑  收藏  举报