关于RouterOS的一些随记

以前接触router,都是物理机,思科华为华三的为主,但换了新工作后,开始接触MIKROTIK RouterOS 虽然原理上大致相同,但是命令行上有些差异,为了学习和方便以后,记录一下常用的命令集


OS 软路由相关


[admin@MikroTik]>/user                               #进入操作路径

[admin@MikroTik]/user>print                           #显示RouterOS用户

[admin@MikroTik]/user>set admin password=123456        #修改admin用户密码为123456

[admin@MikroTik] /user> /                              #返回根目录
 

在当前用户下修改密码

[admin@MikroTik]>password                             #修改本目录用户密码

 
备份命令

[admin@MikroTik]>/system backup                           #进入操作路径

[admin@MikroTik] /system backup>save name=testbackup         #备份名为testbackup

[admin@MikroTik] /system backup>load name=testbackup         #载入备份testbackup

[admin@MikroTik]>file print                                                                   #查看备份情况

 


导出指令

[admin@MikroTik]>ip address print                          #查看IP

[admin@MikroTik]>/ip address                              #进入IP操作路径

[admin@MikroTik]/ip address>export file=address  #导出一个名为address的IP地址配置参数

[admin@MikroTik]>export compact                          #查看IP地址配置参数


系统重启与关机

[admin@MikroTik]>system reboot                         #系统重启

[admin@MikroTik]>system shutdown                      #系统关机
 

修改RouterOS主机名

[admin@MikroTik]>system identity print                     #查看RouterOS主机名

[admin@MikroTik]>system identity set name=MyRouterOS  #修改RouterOS主机名为MyRouterOS
 

系统资源管理

[admin@MikroTik] > /system resource                        #操作路径

[admin@MikroTik] /system resource> print              #查看CPU占用率\内存\硬盘等使用情况

[admin@MikroTik] /system resource> monitor           #查看CPU和空闲内存使用情况

 

开通ssh远程

[admin@MikroTik] > ip service print                                             #查看服务

[admin@MikroTik] > ip service enable ssh                                  #开启SSH服务

[admin@MikroTik] > ip service disable ssh                                 #关闭SSH服务

[admin@MikroTik] > ip service set ssh port=22 address=10.8.9.11   #允许10.8.9.11访问SSH访问,其它IP都均被拒绝

 

Interface接口基本操作

[admin@MikroTik] > interface print                                              #显示接口状态

[admin@MikroTik] > interface enable ether1            #启动ether1网卡

[admin@MikroTik] > interface print stats               #显示接口状态+静态流量

[admin@MikroTik] > interface monitor-traffic ether1     #监测网卡动态流量

[admin@MikroTik] > interface ethernet print detail                #显示网卡参数

  

IP配置与ARP

[admin@MikroTik] > ip address add address=192.168.10.1/24 interface=ether2   #添加IP地址到ether2接口上

[admin@MikroTik] > ip address print                                           #显示IP地址

[admin@MikroTik] > ip arp print                                                    #显示arp信息

[admin@MikroTik] > ip arp add address=192.168.10.100 interface=00:23:24:2e:78:3e   #添加静态IP与ARP

[admin@MikroTik] >/interface ethernet set ether2 arp=reply-only  #设置ether2接口非静态的ARP条目将无法与路由进行通信

 

防火墙过滤(firewall Filte)----域名过滤

[admin@MikroTik]>ip firewall filter add action=drop chain=forward content=www.jd.com



防火墙过滤(firewall Filte)----端口映射将内网主机192.168.10.200的3389端口映射到外网的9999端口

[admin@MikroTik] > ip firewall nat add chain=dstnat protocol=tcp dst-port=9999 in-interface=WAN action=dst-nat to-addresses=192.168.10.200 to-ports=3389

网络中仅允许192.168.10.0/24、192.168.20.88/32、192.168.30.88/32的主机能访问互联网,其他IP地址拒绝访问,首先在/ip firewall address-list创建白名单列表

[admin@MikroTik]>/ip firewall address-list
[admin@MikroTik] /ip/firewall/address-list>add address=192.168.10.0/24 list="whitelist"
[admin@MikroTik] /ip/firewall/address-list>add address=192.168.10.88 list="whitelist"
[admin@MikroTik] /ip/firewall/address-list>add address=192.168.30.88 list="whitelist"

进入/ip firewall filter下配置过滤策略,内部局域网到互联网访问是forward链表,首先匹配允许白名单列表通过

[admin@MikroTik] >/ip firewall filter
[admin@MikroTik] /ip/firewall/filter> add action=accept chain=forward src-address-list="whitelist"
再添加拒绝所有IP通过,注意添加顺序,防火墙是按照顺序执行,规则在优先级越高。

[admin@MikroTik] /ip/firewall/filter>add action=drop chain=forward

禁止192.168.20.0/24和192.168.30.0/24访问互联网,创建一个blacklist黑名单

[admin@MikroTik] /ip/firewall/address-list>add address=192.168.20.0/24 list="blacklist"
[admin@MikroTik] /ip/firewall/address-list>add address=192.168.30.0/24 list="blacklist"
在filter下配置过滤策略,内部局域网到互联网访问是forward链表,配匹blacklist的ip地址禁止通过

[admin@MikroTik] /ip/firewall/filter> add action=drop chain=forward src-address-list="blacklist"
注意:默认情况下所有filter链表规则是accept接受通过,因此只需要添加drop丢弃规则,不匹配的IP将会被接受通过

之前我们的策略允许192.168.20.88和192.168.30.88可以访问互联网,那我们需要补充两条规则

[admin@MikroTik] /ip/firewall/filter>add action=accept chain=forward src-address=192.168.20.88
[admin@MikroTik] /ip/firewall/filter>add action=accept chain=forward src-address=192.168.30.88
使用print命令查看filter列表,规则1,2是192.168.20.88和192.168.30.88的允许规则,在规则0后面,肯定不会优先处理

[admin@ MikroTik] /ip/firewall/filter> print
Flags: X - disabled, I - invalid; D - dynamic

0    chain=forward action=drop src-address-list=blacklist log=nolog-prefix=""
1    chain=forward action=accept src-address=192.168.20.88 log=nolog-prefix=""
2    chain=forward action=accept src-address=192.168.30.88 log=nolog-prefix=""


-------------将规则1,2移动到0之前优先处理,通过move命令调整顺序

[admin@MikroTik] /ip/firewall/filter> move 1,2 0


端口映射
/ip firewall nat add action=dst-nat chain=dstnat \
    dst-address-list=WAN_IP dst-port=7890 log=yes protocol=tcp \
    src-address-list=iplist_boxin to-addresses=172.25.20.201 \
    to-ports=7990

## 当外部设备访问软路由的公网 IP(WAN_IP)的 TCP 7890 端口时,路由器会将流量转发到内网 IP 为 172.25.20.201 的设备的 7990 端口  用于实现端口映射(如远程访问内网服务)
##  src-address-list=iplist_boxin:可选限制:仅允许 iplist_boxin 列表中的 IP 发起连接(类似白名单),如果列表为空,则不限制源 IP。



##  启用 OSPF 进程

/routing ospf instance
set [find default=yes] enabled=yes router-id=192.168.1.1

##   router-id 需为路由器的 IP 或 Loopback 地址,全网唯一。
##  创建 OSPF 区域

/routing ospf area
add area-id=0.0.0.0 name=backbone


area-id=0.0.0.0 表示骨干区域。
##   添加接口到 OSPF

/routing ospf interface
add area=backbone interface=ether1 network-type=broadcast
add area=backbone interface=ether2 network-type=broadcast

##   interface 为参与 OSPF 的物理接口。
##   验证配置


###  手动指定邻居(适用于非广播网络)
/routing ospf neighbor print
  address=10.1.1.2 \  # 新邻居的 IP 地址
  interface=ether3 \  # 本地连接接口
  area=backbone \     # 区域名称
  cost=10             # 可选:指定开销值
##   验证邻居关系:
/routing ospf neighbor print

###   设置接口开销  调整接口优先级以影响路由选择:


/routing ospf interface set [find interface=ether3] cost=20

###  配置认证


/routing ospf area set [find name=backbone] authentication=md5
/routing ospf interface set [find interface=ether3] \
  authentication-key="your-secret-key"

####调整 Hello/Dead 间隔

/routing ospf interface set [find interface=ether3] \
  hello-interval=10 \
  dead-interval=40

###检查邻居状态:

/routing ospf neighbor print detail

### Full:邻居关系正常。
### Exstart/Exchange:正在交换数据库,可能 MTU 不匹配。
### Down:连接失败,检查物理链路或认证配置。
#### 查看接口状态:

/routing ospf interface print

### 确保接口状态为 enabled 且 state=DR/BDR/DROther。

### 放行 OSPF 协议(IP 协议号 89):

/ip firewall filter add \
  chain=input \
  protocol=89 \
  action=accept


###  添加邻居后,确认路由已正确传播:

/ip route print where protocol=ospf

### 若未看到预期路由,检查:新邻居是否正确宣告了网络,区域类型是否匹配(如骨干区域与非骨干区域)。


## 创建 VRRP 接口

/interface vrrp
add interface=ether1 name=vrrp1 vrid=10 priority=100 \
  authentication=md5 authentication-passphrase="yourpassword"


###   vrid:VRRP 组 ID(1-255),需与备份路由器一致
###   priority:优先级(1-254),值越高越优先成为主路由器
##  配置虚拟 IP

/ip address
add address=192.168.1.1/24 interface=vrrp1 network=192.168.1.0

###   设置跟踪接口(可选) 若主链路断开,自动降低优先级:


/interface vrrp
set [find name=vrrp1] track-interface=ether2 track-interface-downgrade=50
###   验证状态

/interface vrrp print detail

####  查看 state 字段:master(主路由器)或 backup(备份路由器)

###防火墙规则,基于接口的源地址转换(SNAT)

[admin@ROS] > ip firewall/ mangle/export t

/ip firewall mangle add action=mark-connection chain=prerouting in-interface=ether1 new-connection-mark=conn_from_ether1 passthrough=no

/ip firewall mangle add action=mark-connection chain=prerouting in-interface=ether2 new-connection-mark=conn_from_ether2 passthrough=no

/ip firewall mangle add action=mark-connection chain=prerouting in-interface=ether3 new-connection-mark=conn_from_ether3 passthrough=no

###    action=mark-connection:标记整个连接,而非单个数据包。一旦连接被标记,后续该连接的所有数据包都会被视为已标记。

###    chain=prerouting:在数据包进入路由决策前进行处理,适合用于标记需要特殊路由或 NAT 处理的流量。

###    in-interface=ether1:仅匹配从ether1接口进入的流量。

###    new-connection-mark=conn_from_ether1:为符合条件的连接添加名为conn_from_ether1的标记。

###    passthrough=no:即使规则匹配成功,数据包仍会继续接受后续 mangle 规则的检查(仅影响 mangle 表)。

作用:

将从ether1接口进入的所有新连接标记为conn_from_ether1,以便后续基于此标记进行流量处理。

[admin@ROS] > ip fire nat ex t

/ip firewall nat add action=src-nat chain=srcnat connection-mark=conn_from_ether1 to-addresses=172.23.0.241

/ip firewall nat add action=src-nat chain=srcnat connection-mark=conn_from_ether2 to-addresses=172.23.0.242

/ip firewall nat add action=src-nat chain=srcnat connection-mark=conn_from_ether3 to-addresses=172.23.0.243

###    action=src-nat:修改数据包的源 IP 地址,使内网主机能够通过指定 IP 访问外网(隐藏真实源 IP)。

###    chain=srcnat:在数据包即将离开路由器时进行处理,是配置 SNAT 的标准链。

###    connection-mark=conn_from_ether1:仅匹配之前被标记为conn_from_ether1的连接(即来自ether1接口的流量)。

###    to-addresses=172.23.0.241:将源 IP 替换为该地址,通常是公网 IP 或路由器的外网接口 IP。

作用:

将所有来自ether1接口的流量(已被标记)的源 IP 地址转换为172.23.0.241,实现隐藏内网 IP 的目的。

持续记录补充中……

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇