前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sockfwd 一个数据转发的小工具

sockfwd 一个数据转发的小工具

原创
作者头像
Robert Lu
修改2021-11-21 08:08:22
3290
修改2021-11-21 08:08:22
举报
文章被收录于专栏:JVM以及其他JVM以及其他

最近在看containerd的代码,上手试的时候才发现它监听的是unix socket,没法从外部访问containerd。

而我要验证的是从远端能不能访问containerd、管理containerd的容器,所以需要一个从远端访问unix socket的工具。

网上搜了一圈,没有现成的实现,就自己写了 sockfwd

用法

代码语言:txt
复制
Usage:
  sockfwd [flags]

Flags:
  -d, --destination string   目的地址,即要转发到的地址
  -s, --source string        源地址,即接收请求的地址
  -q, --quiet                静默模式

例子

将本地的containerd实例暴露到网络上:

./sockfwd -s tcp://127.0.0.1:8090 -d unix:///var/run/containerd.sock

将本地的127.0.0.1:8080端口暴露到0.0.0.0:8090端口上:

./sockfwd -s tcp://127.0.0.1:8090 -d unix://127.0.0.1:8090

将本地的服务暴露到网络上,需要格外注意是否有安全隐患!

其他碎碎念

最近在写golang,发现如果仅仅是处理数据面的话,golang提供的goroute再加channel就能够很优雅地处理数据转发,比如这篇文章写的sockfwd。

但是如果涉及管控面,比如复杂的状态管理,信息跨线程/goroute同步,那么channel的抽象能力还是不够的,需要写很多额外代码。

后续计划

可以加上支持tls认证来更加安全地转发数据。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用法
  • 例子
  • 其他碎碎念
  • 后续计划
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档