今天试着用docker搭了一下pptpd服务器,感觉清爽不少(当然是踩坑之后的啦),特此记录。

 

使用的镜像

mmontagna/docker-vpn-pptp

 

由于是现成的镜像,所以我们只需要对其进行配置即可。

这里,由于我使用的是pptpd服务器,所以需要编辑/etc/ppp/chap-secrets文件(如果没有,创建之)。

 

添加如下内容:

# Secrets for authentication using PAP
# client server secret acceptable local IP addresses
username * password *

PS: username 和 password依据实际情况添加,这就是你登陆vpn时的账密。

PS++:server那里也可以填写pptpd,反正保证连接时,使用pptpd服务就好。如下:

# Secrets for authentication using PAP
# client server secret acceptable local IP addresses
username pptpd password *

 

然后,运行下列代码:

docker run -ti --name my_vpn \
--net=host --privileged \
-p 1723:1723 \
-e client=用户名 \
-e server=* \
-e password=用户密码 \
-e acceptable_local_ip_addresses=* \
-v /etc/ppp/chap-secrets:/etc/ppp/chap-secrets \
mmontagna/docker-vpn-pptp

这里指定了容器需要的各个参数,可根据实际情况进行修改。

这里有两点需要注意:

  1. 我在查阅docker hub之后,发现作者并未将client和password添加进参数列表。在经过测试后,我发现如果不加client和password两项参数,vpn的连接会非常慢,乃至连不上。所以我建议在将/etc/ppp/chap-secrets文件映射进去的同时,也指定client和password参数(当然,如果多用户使用,那就没必要了)。
  2. 如果不将宿主机的/etc/ppp/chap-secrets文件映射到容器中的话,此vpn只能连内网,无法连外网。

 

后记:大晚上被蚊子吵醒的感觉真糟糕[哭哭哭],赶紧补觉,今天还要上班啊~

docker 运行pptpd服务器的更多相关文章

  1. Docker运行Nginx服务器

    一.获取Docker容器的Nginx镜像 二.创建Docker容器宿主机挂载目录 # 创建挂载目录,-v 显示创建的目录名 [root@idclooknet ~]# mkdir -vp /opt/do ...

  2. 如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目

    如何使用windows版Docker并在IntelliJ IDEA使用Docker运行Spring Cloud项目 #1:前提准备 1.1 首先请确认你的电脑是windows10专业版或企业版,只有这 ...

  3. 在Linux(Centos7)上使用Docker运行.NetCore

    在上一篇中我们写了如何在windows中使用docker运行.netcore,既然我们了解了windows下的运行发布,我们也可以试试linux下使用docker运行.netcore项目,那么今天我们 ...

  4. docker搭建gitlab服务器(Centos7)

    系统环境:CentOS Linux release 7.6.1810 (Core) git版本:gitlab/gitlab-ce 一.安装和启动docker 见HTTPRUNNERMANAGER安装部 ...

  5. Centos7使用docker搭建gitlab服务器

    了解到docker的优点,搭建快,运行要求资源低,最重要的是实现的功能和效果都能达到预期,于是决定使用docker来搭建gitlab服务器. 效果图如下: 系统环境:CentOS Linux rele ...

  6. Docker学习笔记之搭建Docker运行环境

    0x00 概述 既然 Docker 是一款实用软件,我们就不得不先从它的安装说起,只有让 Docker 运行在我们的计算机上,才能更方便我们对 Docker 相关知识和使用方式的学习.得益于与商业性的 ...

  7. 林帆:Docker运行GUI软件的方法

    继上周的“Kubernetes v1.0特性解析”分享之后,本周我们邀请到ThoughtWorks咨询师林帆为大家带来主题为“Docker运行GUI软件的方法”的分享. 嘉宾简介:林帆,Thought ...

  8. Docker 后台进程参数-------更改Docker运行根目录的方法

    参数 介绍 --api-enable-cors=false 远程API调用. -b, --bridge="" 桥接一个系统上的网桥设备到 Docker 容器里,当使用 none 可 ...

  9. Docker运行GUI软件的方法

    转自 https://www.csdn.net/article/2015-07-30/2825340 简介: Docker通过namespace将容器与主机上的网络和运行环境进行了隔离,默认情况下,在 ...

随机推荐

  1. 【题解】[Noip2010]机器翻译-C++

    题目Description小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章.这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件 ...

  2. E:last-child

    E:last-child 语法: E:last-child { sRules } 说明: 匹配父元素的最后一个子元素E.大理石平台厂家大理石平台厂家 要使该属性生效,E元素必须是某个元素的子元素,E的 ...

  3. Linq to AD

    輕鬆找出域中所有用戶,組,而且還可以更改 LINQ to Active Directory https://linqtoad.codeplex.com/ LINQ to LDAP http://lin ...

  4. 以字符串为例,谈谈Python到底要学到什么程度

    古语云:慈不掌兵,义不为商:离商业越近,离人性越远:我们在自学数据科学时,一定会辅助一些书籍或者视频来学习,怎么学习,选择哪些资料来学习?这时,我们都要理解好第一句话,理解不好,浪费钱是次要,重要的是 ...

  5. Servlet中接收和返回数据

    public class HelloServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest re ...

  6. 64位linux下玩32位汇编编程

    利用下假期,打算把linux下的汇编语言给熟悉下,结果是以32位为版本的,只能在办公室的机器上跑了个opensuse的32位版本,家里的suse挂了,无法输入中文.打算再安装下32位系统,今天找到了个 ...

  7. C语言中内存对齐规则讨论(struct)

    C语言中内存对齐规则讨论(struct) 对齐: 现代计算机中内存空间都是按着byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地 ...

  8. MYSQL的两种存储引擎区别

    Innodb引擎 Innodb引擎提供了对数据库ACID事务的支持,并且实现了SQL标准的四种隔离级别.该引擎还提供了行级锁和外键约束,它的设计目标是处理大容量数据库系统,它本身其实就是基于MySQL ...

  9. oracle last_value使用过程中的一个细节

    测试结果集:select role_id,update_date from user_info where role_id='6505007898843021313' 使用last_value求出当前 ...

  10. python selenium 的配置安装

    selenium的使用需要以下几个配置步骤. (1) 首先安装selenium,使用python自带的pip进行安装.若pip配置到系统环境变量,可以直接在cmd命令行中使用,若没有配置到到环境变量, ...