一行命令搭建内部的管道
在上一篇《边缘计算k8s集群之SuperEdge》文章中,笔者基于ECK搭建了边缘集群并添加了节点。通过边缘集群,我们可以很方便的管理各个地域的节点,本地、各云厂商的机房、客户所在地、海外的都可以。在本篇内容,我们将讲述如何使用ipsec-vpn-server,通过一行命令即可搭建内部的管道,用于锻炼技术,技术学习。
ipsec-vpn-server
ipsec-vpn-server可以让我们快速通过容器镜像搭建 IPsec VPN 服务器,支持 IPsec/L2TP,Cisco IPsec 和 IKEv2 协议。
官方镜像地址:
https://hub.docker.com/r/hwdsl2/ipsec-vpn-server
Github地址:
https://github.com/hwdsl2/docker-ipsec-vpn-server
官方的文档比较齐全,具体可以参考:
https://github.com/hwdsl2/docker-ipsec-vpn-server/blob/master/README-zh.md
接下来,我们来演示下如何一行命令即可搭建自己的VPN服务器。
Docker部署
参考脚本如下所示:
docker run \--name ipsec-vpn-server \--env-file ./vpn.env \--restart=always \-v ikev2-vpn-data:/etc/ipsec.d \-p 500:500/udp \-p 4500:4500/udp \-d --privileged \hwdsl2/ipsec-vpn-server
env文件定义参考如下:
VPN_IPSEC_PSK=your_ipsec_pre_shared_key
VPN_USER=your_vpn_username
VPN_PASSWORD=your_vpn_password
执行成功后,可以查看docker日志(命令参考:docker logs ipsec-vpn-server)获得相关客户端配置信息。
日志中会输出以下内容:
Connect to your new VPN with these details:Server IP: 你的VPN服务器IP
IPsec PSK: 你的IPsec预共享密钥
Username: 你的VPN用户名
Password: 你的VPN密码
K8s部署
参考Yaml如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:annotations:deployment.kubernetes.io/revision: "2"generation: 2labels:k8s-app: ipsec-vpn-server name: ipsec-vpn-server namespace: default
spec:progressDeadlineSeconds: 600replicas: 1revisionHistoryLimit: 10selector:matchLabels:k8s-app: ipsec-vpn-server strategy:rollingUpdate:maxSurge: 1maxUnavailable: 0type: RollingUpdate template:metadata:annotations:edge.tke.cloud.tencent.com/cpu: "1"edge.tke.cloud.tencent.com/mem: 2Gi creationTimestamp: nulllabels:k8s-app: ipsec-vpn-server spec:containers:- env:- name: VPN_IPSEC_PSK #IPsec PSK,预共享密钥value: "your_ipsec_pre_shared_key"- name: VPN_USER #用户名value: your_user_name - name: VPN_PASSWORD #密码value: "you_password"- name: VPN_SETUP_IKEV2 #启用IKEv2协议,推荐value: "yes"image: hwdsl2/ipsec-vpn-server imagePullPolicy: Always name: ipsec-vpn-server resources:limits:cpu: 500m memory: 1Gi requests:cpu: 250m memory: 256Mi securityContext:privileged: true #开启特级权限dnsPolicy: ClusterFirst hostNetwork: true #使用Host网络restartPolicy: Always terminationGracePeriodSeconds: 30
kubectl create -f ipsec-vpn.yaml
执行成功后,通过可以通过日志得到相关配置信息:
这里有不清楚的,可以参考笔者之前的教程:《使用Kubectl部署应用》
关于host network
在k8s中我们使用了host network模式,在docker中我们也可以采用这种模式。这是因为IKEv2协议的端口是固定的,如果通过k8s的service转发,则端口就发生了改变,因此在k8s中我们使用了host network模式,但是这是不推荐的。在该模式下,容器的网络栈未与 容器主机隔离,从而在使用 IPsec/L2TP 模式连接之后,VPN 客户端可以使用主机的 VPN 内网 IP 访问主机上的端口或服务。
端口说明
需要打开 UDP 端口 500 和 4500。
客户端连接配置
支持Window、OS X、Android、IOS、Chromebook、Linux,官方文档比较齐全,请参考:
无需额外安装客户端:
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-zh.md
Cisco IPsec(更高效地传输数据(较低的额外开销)):
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/docs/clients-xauth-zh.md
最后
是不是超级简单呢?赶紧实践实践吧?
如果对Docker和k8s还存在疑问,可以参考笔者之前的教程、博客和书籍《Docker+Kubernetes应用开发与快速上云》。
转载是一种动力 分享是一种美德
如果喜欢作者的文章,请关注【麦扣聊技术】订阅号以便第一时间获得最新内容。本文版权归作者和湖南心莱信息科技有限公司共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
文档官网:docs.xin-lai.com
QQ群:
编程交流群<85318032>
产品交流群<897857351>
一行命令搭建内部的管道相关推荐
- docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器)
docker下,一行命令搭建elasticsearch6.5.0集群(带head插件和ik分词器) 2019年01月27日 21:06:12 博陵精骑 阅读数:794 标签: dockerelasti ...
- erwin模型怎么保存_一行命令启动,十分钟内完成部署,Paddle Serving开放模型即服务功能...
机器之心发布 机器之心编辑部 百度飞桨的 Paddle Serving 能够实现服务器端快速部署,最近,随着飞桨更新到 1.7 版本,Paddle Serving 也有了新变化.更新后的 Paddle ...
- 再见xx网盘!4 行命令搭建属于你的私人网盘!
在之前的文章中,我分享了如何利用一台云服务器配置远程Jupyter Notebook. 最后我也提到,拥有一台服务器之后能做的绝不止这一个功能. 另一个常见的个人服务器用处就是用来搭建一个私人网盘.本 ...
- RHEL6入门系列之十一,内/外部命令、重定向、管道
前面一口气介绍了18个命令,可能大家都已经有些晕了.学习Linux就是这样,它不像Windows那样的傻瓜式操作,要想学好Linux是必须要下苦功的.所以,Linux本身就不是一个面向普通用户的桌面操 ...
- linux怎么打出管道命令这个符号,linux 管道命令 竖线 ‘ | ’
管道符号,是unix功能强大的一个地方,符号是一条竖线:"|", 用法: command 1 | command 2 他的功能是把第一个命令command 1执行的结果作为comm ...
- 如果不使用时钟同步工具,linux如何解决时钟同步问题?仅需要一行命令即可。
这是一篇日记,记录了上帝下凡出手,解救苍生与水火之中的神奇文章,如果你也有过类似的经历,留言关注,咱们交流一下~ 目录 背景(如果不想知道可以跳过) 一行神奇的命令 一段一段的研究 总结 背景(如果不 ...
- OpenAI开放GPT-3微调功能,一行命令就能实现!正确率最高提升4倍
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 明敏 发自 凹非寺 量子位 报道 | 公众号 QbitAI 刚刚Op ...
- 一行命令堆出你的新垣结衣,不爆肝也能创作ASCII Art
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 兴坤 发自 凹非寺 量子位 报道 | 公众号 QbitAI 万恶之源 ...
- 一行命令装下所有「炼丹」工具及依赖项,就靠这个免费软件源了|教程
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 报道 | 公众号 QbitAI 相信不少 ...
最新文章
- 剑指offer:面试题30. 包含min函数的栈
- 百度重磅发布云手机:低配置也可玩大型游戏 21
- idea整合 spring boot jsp mybatis
- 数学不好的人可以学python吗_哪些人适合学金融工程专业 数学不好能学吗
- 浏览器字体大小设置_全新内核 Edge 浏览器来了,这回或许能成为你的真 · 默认浏览器...
- 数据库 CURD测试题【中等】
- 【转】LAMP网站架构方案分析【精辟】
- Python3 使用requests请求,解码时出错:'utf8' codec can't decode byte 0x8b in position 1: invalid start byte...
- Leetcode每日一题:172.factorial-trailing-zeroes(阶乘后的0)
- HDU2044 一只小蜜蜂...【递推】
- 如何往linux上面上传东西
- python刻度增加1个数_Matplotlib添加一个特定的勾号,表示轴的最大多个刻度单次观察...
- mybatis之OGNL表达式
- 数据分析必备算法(算数平均值,加权平均值,最值,中位数,标准差,时间数据处理 ,数组的轴向汇总, 移动均线 ,卷积(简单概念))
- C#调用WPS2016方法和常见问题处理
- php sql注入防御方法,php怎么防御sql注入
- 美丽的花蝴蝶 动人的海豚音 天后[Mariah Carey玛丽亚·凯莉]全集
- 桌面图标有蓝底怎么办
- CRA图像 Clean Random Access (CRA) Pictures
- 爬虫爬取东方财富网的股票走势图