RouterOS完全指南:打造企业级路由与防火墙解决方案

发布于2026-04-20 14:51 阅读11次 深入介绍MikroTik RouterOS系统的配置和使用,包括防火墙、路由协议、VPN、QoS等企业级功能,帮助网络工程师掌握这一强大的网络操作系统。通过实际案例展示企业网络解决方案。
# RouterOS完全指南:打造企业级路由与防火墙解决方案
## 前言
MikroTik RouterOS是一款功能强大的网络操作系统,广泛应用于企业网络、ISP接入、无线热点等场景。本文将详细介绍RouterOS的配置和使用方法,帮助读者掌握这一强大的网络解决方案。
## 一、RouterOS简介
### 1.1 RouterOS特点
- 完整的路由功能
- 强大的防火墙
- 多样的VPN选项
- 无线控制器功能
- 带宽管理(QoS)
- 用户管理
- 脚本自动化
### 1.2 访问方式
RouterOS支持多种管理方式:
```
┌────────────────────────────────────────┐
│ RouterOS 访问方式 │
├────────────────────────────────────────┤
│ WinBox - Windows图形化工具 │
│ WebFig - 网页配置界面 │
│ Telnet/SSH - 命令行远程管理 │
│ FTP/TFTP - 文件传输 │
│ API - 编程接口 │
└────────────────────────────────────────┘
```
## 二、基本配置
### 2.1 IP地址配置
```bash
/ip address
add address=192.168.1.1/24 interface=ether1 network=192.168.1.0
# 查看IP地址
/ip address print
```
### 2.2 路由配置
```bash
# 添加静态路由
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.0.1
add dst-address=192.168.2.0/24 gateway=192.168.1.254
# 查看路由表
/ip route print
```
## 三、防火墙配置
### 3.1 防火墙链
RouterOS防火墙包含三条基本链:
- **input**:处理发往本机的数据包
- **forward**:处理经过本机转发的数据包
- **output**:处理本机发出的数据包
### 3.2 基本防火墙规则
```bash
# 允许已建立连接的流量
/ip firewall filter
add chain=input connection-state=established action=accept comment="Allow established"
# 允许相关流量
add chain=input connection-state=related action=accept comment="Allow related"
# 允许本地回环
add chain=input connection-state=invalid action=drop comment="Drop invalid"
# 允许SSH访问
add chain=input dst-port=22 protocol=tcp action=accept comment="Allow SSH"
# 允许HTTP/HTTPS
add chain=input dst-port=80,443 protocol=tcp action=accept comment="Allow HTTP/S"
# 允许Ping
add chain=input protocol=icmp action=accept comment="Allow ICMP"
# 拒绝所有其他输入
add chain=input action=drop comment="Drop all input"
```
### 3.3 NAT配置
```bash
# 源NAT(SNAT)/ masquerade
/ip firewall nat
add chain=srcnat out-interface=ether-wan action=masquerade
# 目的NAT(DNAT)/ 端口映射
add chain=dstnat dst-port=8080 protocol=tcp action=dst-nat to-addresses=192.168.1.100 to-ports=80
```
## 四、DHCP服务器
### 4.1 配置DHCP服务器
```bash
# 创建DHCP池
/ip pool
add name=dhcp-pool ranges=192.168.1.10-192.168.1.100
# 配置DHCP网络
/ip dhcp-server network
add address=192.168.1.0/24 gateway=192.168.1.1 dns-server=8.8.8.8
# 启用DHCP服务器
/ip dhcp-server
add name=dhcp-server interface=bridge-local address-pool=dhcp-pool disabled=no
```
## 五、VPN配置
### 5.1 PPTP服务器
```bash
# 启用PPTP服务器
/ppp profile
add name=pptp-profile local-address=192.168.10.1 remote-address=dhcp-pool
/ppp secret
add name=user1 password=password123 profile=pptp-profile service=pptp
/ppp
set pptp-enabled=yes
```
### 5.2 L2TP/IPsec服务器
```bash
# 配置IPsec
/ip ipsec profile
set [find default] dh-group=modp1024 enc-algorithm=aes-128 hash-algorithm=sha1
/ip ipsec peer
add address=0.0.0.0/0 secret=pre-shared-key exchange-mode=main-l2tp
# 配置L2TP
/ppp profile
add name=l2tp-profile local-address=192.168.10.1 remote-address=dhcp-pool use-encryption=yes
/l2tp-server server
set enabled=yes default-profile=l2tp-profile ipsec-secret=pre-shared-key
```
### 5.3 OpenVPN
```bash
# 创建OpenVPN服务器
/certificate
add name=ca common-name=ca days-valid=3650 key-size=2048
add name=server common-name=server days-valid=3650 key-size=2048
sign ca
add name=server-temp trusted=yes
/ovpn-server server
set certificate=server-temp enabled=yes port=1194 mode=ip netmask=24
```
## 六、QoS带宽管理
### 6.1 队列类型
```bash
# 简单队列
/queue simple
add name=limit-user target=192.168.1.10/32 max-limit=10M/10M priority=8
# 树形队列
/queue tree
add name=total parent=global limit-at=100M max-limit=200M
add name=http parent=total packet-mark=http priority=3
add name=ftp parent=total packet-mark=ftp priority=8
```
### 6.2 流量标记
```bash
# 在mangle中标记流量
/ip firewall mangle
add chain=prerouting protocol=tcp dst-port=80 action=mark-packet new-packet-mark=http
add chain=prerouting protocol=tcp dst-port=443 action=mark-packet new-packet-mark=https
```
## 七、无线配置
### 7.1 AP模式
```bash
# 配置无线接口
/interface wireless
set [find default-name=wlan1] mode=ap-bridge ssid=Company-WiFi band=2ghz-b/g/n channel-width=20/40mhz-XX
# 无线安全
/interface wireless security-profiles
add name=secure mode=wpa2-psk authentication-types=wpa2-psk encryption=aes-ccm wpa2-pre-shared-key=wireless-password
set [find default] security-profile=secure
```
### 7.2 客户端模式
```bash
/interface wireless
set [find default-name=wlan1] mode=station ssid=ISP-Network
```
## 八、脚本自动化
### 8.1 定时任务
```bash
# 创建定时任务
/system scheduler
add name=daily-backup on-event="/system backup save name=backup-$date" start-date=2024-01-01 start-time=00:00:00 interval=1d
# 脚本内容
/system script
add name=backup-telegraph source={
/tool e-mail send to="admin@example.com" subject="Router Backup" file=backup.backup
}
```
## 九、备份与恢复
### 9.1 备份配置
```bash
# 导出配置
/export file=backup.rsc
# 保存备份
/system backup save name=backup-2024
```
### 9.2 恢复配置
```bash
# 导入配置
/import file-name=backup.rsc
# 加载备份
/system backup load name=backup-2024.backup
```
## 十、总结
RouterOS是一款功能全面、配置灵活的网络操作系统。通过掌握防火墙、NAT、VPN、QoS等核心功能,可以构建出满足各种需求的企业网络解决方案。其脚本自动化能力更是为大规模部署和运维提供了便利。