RouterOS (一):在腾讯云轻量上安装 MikroTik RouterOS 并配置简单端口转发

作者: seamus 分类: 常用 发布时间: 2022-09-21 08:22

RouterOS 是由 MikroTik 公司开发的基于 Linux  内核的路由操作系统,是目前功能较强、应用较广的一款软路由系统,适用于中小企事业单位、网吧、宾馆和运营商。通过该软件可以将标准的 PC 电脑变成专业路由器,在软件的开发和应用上可以不断地更新和发展,使其功能在不断增强和完善。特别在无线、认证、策略路由、带宽控制和防火墙过滤等功能上有着非常突出的功能,其极高的性价比,受到许多网络人士的青睐。从镜像上,RouterOS 分为物理机使用的标准 RouterOS 镜像、适用于虚拟化平台的 Cloud Hosted Router 镜像和适用于交换机的 SwitchOS 镜像。
本文旨在指导将 RouterOS CHR 安装到腾讯云轻量应用服务器,通过 WinBox 连接并管理 RouterOS 以及配置简单的端口转发。需要注意的是,本文所操作的服务器均位于中国大陆境外,从国内出发的数据包将正常经过国际出口,符合相关法律法规。

一、服务器选购
由于本文的核心操作为重新安装系统,因此服务器镜像建议选择“系统镜像”,且以 Ubuntu 或 Debian 为宜。(CentOS 8 系统无法直接设置文件系统为只读,将影响 dd 操作)

由于涉及到数据包的转发,本文选用的是腾讯云轻量应用服务器硅谷地域(美国加利福尼亚州圣何塞),实验服务器和目标服务器(美国加利福尼亚州洛杉矶)之间的数据包交换均属于美国州内数据交换,满足相关法律的合规性要求。

二、部署 RouterOS
2.1 下载镜像
访问 https://mikrotik.com/download ,下载 Cloud Hosted Router 项下的 Raw disk image,一般建议下载 Stable 频道的镜像,本文写作时的版本为 6.49.1。

进入腾讯云控制台,找到购买的轻量应用服务器,点选“登录”,跳出远程登录窗口 (WebSSH)。

输入 sudo -i 切换至 root 用户,执行 apt update -y && apt install unzip -y 以更新软件包列表以及安装 unzip。
执行 wget https://download.mikrotik.com/routeros/6.49.1/chr-6.49.1.img.zip (请替换为最新版本的链接)。

2.2 处理镜像
执行 unzip chr-6.49.1.img.zip 解压镜像压缩包,得到 chr-6.49.1.img;执行 fdisk -lu chr-6.49.1.img 查看镜像的起始柱头(Start 值),一般情况下为 1.

执行 mount -o loop,offset=512 chr-6.49.1.img /mnt 将镜像挂载到 /mnt 上。

执行 ip a 后确认打印的结果第二项为 2: eth0 后依次执行以下命令

  1. ADDR0=\ip addr show eth0 | grep global | cut -d’ ‘ -f 6 | head -n 1\
  2. GATE0=\ip route list | grep default | cut -d’ ‘ -f 3\

复制代码

以将 IP 地址信息和路由信息写入变量中。

2.3 设置系统开机网络信息
执行 mkdir -p /mnt/rw 以在镜像中创建配置内容。
将以下内容一并复制并粘贴到 WebSSH 中,后执行 cat /mnt/rw/autorun.scr。

  1. echo “/ip address add address=$ADDR0 interface=[/interface ethernet find where name=eth0]
  2. /ip route add gateway=$GATE0
  3. ” > /mnt/rw/autorun.scr

复制代码

确定其内容与服务器的内网 IP 地址一致。

2.4 刷入镜像
执行 umount /mnt 卸载镜像,执行 echo u > /proc/sysrq-trigger 将文件系统设定为只读 (Read only),执行 fdisk -lu 查看硬盘路径。一般情况下,轻量应用服务器的硬盘路径 为 /dev/vda (vda1 代表磁盘 vda 的第 1 个分区,请忽略数字)

执行 dd if=chr-6.49.1.img bs=1024 of=/dev/vda && reboot (请按需替换 /dev/vda)

DD 操作完成后服务器会重新启动,SSH 连接将断开。

三、连入 RouterOS
3.1 初始化系统
进入轻量应用服务器管理界面,选择“VNC 登录”。

进入腾讯云 VNC 界面,单击回车后输入用户名 admin,密码为空(直接回车)

输入 n,来到设置新密码的环节。输入并确认输入密码后进入 RouterOS Command Line。

3.2 连入系统并进行基础设置
3.2.1 放行防火墙
进入轻量应用服务器管理界面,点击“防火墙”选项卡,创建对 TCP 8291 端口(WinBox 通信端口)和 TCP 61234 端口(本文例子所用的本机转发端口)的放行规则。

3.2.2 下载 WinBox 并连接服务器
访问 https://mt.lv/winbox64 下载 MikroTik RouterOS WinBox 64 位版本,执行之,输入相关信息后单击 “Connect” 按钮。

3.2.3 注册 RouterOS
访问 https://mikrotik.com/client/register 注册一个 MikroTik 账户,密码会在填写注册信息之后发送至注册时填写的邮箱中。
回到 WinBox,点选 System – License 后弹出 License 对话框,单击 “Renew License” 按钮,弹出 Renew License 对话框,输入用户名(邮箱)和密码后,单击 “Start” 按钮,等待试用授权下发后单击 “Close” 按钮完成试用授权。

试用授权有效期 60 天,如有需要可以寻找 MikroTik 购买相应的授权。

四、添加端口转发
4.1 新建总出口
点选 IP – Firewall 后弹出 Firewall 对话框,单击 “NAT” 选项卡,单击左上角的 “+” 号,弹出 New NAT Rule 对话框,在 “General” 选项卡的 Chain 中选择 scrnat,Protocol 选择 6 (tcp),Out. Interface 选择 ether1。

单击 “NAT” 选项卡,在 Action 中选择 masquerade;单击右侧的 “OK” 按钮保存之。

4.2 新建入口
在 Firewall 对话框 “NAT” 选项卡中,单击左上角的 “+” 号,弹出 New NAT Rule 对话框,在 “General” 选项卡的 Chain 中选择 dstnat,Protocol 选择 6 (tcp),Dst. Port 输入本机用来转发的端口,此处以 61234 为例,In. Interface 选择 ether1。

单击 “NAT” 选项卡,在 Action 中选择 dst-nat,在 To Addresses 中输入目标远程主机的 IP 地址(本文以 Cloudflare Public 网站节点为例),To Ports 输入目标远程主机的端口;单击右侧的 “OK” 按钮保存之。

4.3 成果
转发出入口设置完成后,Firewall 对话框将如图所示。

使用 curl 拉取转发端口,可以发现其成功到达了 Cloudflare 边缘节点并获取到了 TLS 握手的证书。

终。