基于 SSTP 隧道的远程端口映射

来自深圳捷联讯通科技有限公司
跳转至: 导航搜索
当一个网络节点是动态公网 IP,不考虑使用 ddns 的方式,或者获取 IP 是私网地址,可以通过一个固定 IP 节点使用隧道协议中转访问。也可作为
隐藏该网络节点 IP 时,通过虚拟隧道作为跳板,访问另一个端节点的内网应用,建立备份通道。


如下:
25--1.jpg


这里选择 SSTP 隧道协议,因为支持 SSTP 协议,端口可以自定义,连接较为灵活


Office A 路由器配置
首先为 Office A 路由器配置 IP 地址
/ip address 
add address=192.168.99.1/24 interface=lan disabled=no
add address=111.2.3.2/27 interface=wan disabled=no
为 Office A 路由器配置默认网关
/ip route
add gateway=111.2.3.1 disabled=no
在创建 nat 规则前,在地址列表里面创建 nat 地址列表,用于上网用户的 nat 转换规则使用
/ip firewall address-list
add address=192.168.99.0/24 list=nat disabled=no
添加 nat 的伪装规则
/ip firewall nat
add action=masquerade chain=srcnat out-interface=wan src-address-list=nat disabled=no
创建 SSTP 隧道服务,启用 sstp 服务,设置端口为 8433
/interface sstp-server server
set enabled=yes port=8433
为 Office B 路由器创建账号密码,并分配本地和远端 IP 地址
/ppp secret
add name=yus password=123 profile=default-encryption local-address=10.1.1.1 remote-address=10.1.1.2 
service=sstp disabled=no


Office B 路由器配置


添加内网 ip 地址
/ip address 
add address=192.168.66.1/24 interface=lan disabled=no
创建 PPPoE 拨号
/interface pppoe-client
add add-default-route=yes disabled=no interface=wan name=pppoe-out1 password=123 user=pppoe
添加 SSTP 隧道客户端规则,连接服务器
/interface sstp-client
add connect-to=111.2.3.2:8433 disabled=no name=sstp-office password=123 user=yus
此时 SSTP 隧道连接建立完成,进入 sstp-client,使用 monitor 0 查看连接状态
[admin@MikroTik] /interface sstp-client> monitor 0
         status: connected
         uptime: 3w6d5m24s
       encoding: AES256-CBC
            mtu: 1500
  local-address: 10.1.1.2
 remote-address: 10.1.1.1
-- [Q quit|D dump|C-z pause]


Office A 路由器
添加静态路由,从服务端能访问到客户端内网 ip 段
/ip route
add dst-address=192.168.66.0/24 gateway=10.1.1.2 disabled=no
在地址列表中添加 10.1.1.2 的客户端地址,做 nat 转换
/ip firewall address-list
add address=10.1.1.1 list=nat
Office A 路由器做上 sstp-office 接口的伪装,在访问内部应用时伪装为 sstp-office 的接口 IP 地址
/ip firewall nat
add action=masquerade chain=srcnat out-interface=sstp-office
创建端口映射规则,可以使用不对称端口做映射,访问从 Office A 路由的 9900 端口访问 Office B 内部应用服务器 192.168.66.6 的 80 端口
/ip firewall nat
add action=dst-nat chain=dstnat dst-address=111.2.3.2 dst-port=9900 protocol=tcp 
to-addresses=192.168.66.6 to-ports=80
在这个案例中,如果 Office B 路由器有公网 IP 情况下,本地也可以开启端口映射,这样作为备份端口使用,Office A 路由器通过隧道作为跳板
机为主访问节点,实现线路冗余。