mac端口映射
近日公司项目需要,派遣到客户现场进行现场开发工作,于是带上自己的小本macbookpro前往,心想,总是一个在工作中使用自己的小本的机会,可是到现场我傻眼了,接触过微服务中的网关的朋友应该知道,所有的请求都是通过网关路由,例如服务注册名为scs-demo
,那么访问地址为http://gateway/scs-demo
。由于现场只有有线网络,但是mbp没有网线扩展坞,无奈只能使用外接的扩展槽,但是由于是外接的扩展坞,所以系统会提供一个桥接的网卡。接上扩展坞后的网卡情况:
en5: 172.131.10.1
bridge0: 192.168.40.6
对于服务器而言,仅有172.131.10.1
网络相通,但是对于mac而言,这个ip是属于扩展坞的ip,不能直接使用,所以会导致网关路由不通。
对于这种情况,我的解决办法是,使用ssh在服务器上挂载一个端口,实现内网端口映射的功能,命令如下:
ssh -fNR 8677:127.0.0.1:8090 root@172.131.10.1
执行该命令后,访问172.131.10.1:8677
会跳转到本地的127.0.0.1:8090
。
通用的写法为:
ssh -fNR server_port:127.0.0.1:local_port user_name@server_ip
关于该命令的参数说明如下:
- f:表示后台执行
- N:表示不执行任何命令
- R:建立反向隧道
- server_port:服务器端口
- local_port:本机端口
- user_name:服务器用户
- server_ip:服务器ip