如何在 Linux 下连接 VPN 服务?

VPN是一种常用于连接中、大型企业或团体与团体间的私人网络的通讯方法。它利用已加密的通道协议(Tunneling Protocol)来达到保密、发送端认证、消息准确性等私人消息安全效果。本文主要讲述如何在 Linux 下连接 VPN 服务。

1.安装vpn客户端

Ubuntu:

sudo apt-get install -y pptp-linux

centos:

yum -y install ppp pptp pptp-setup

2.连接vpn服务

Ubuntu:

sudo pptpsetup --create pptpd --server x.x.x.x --username vpntest --password 1234567890 --encrypt --start

centos:

pptpsetup --create pptpd --server x.x.x.x --username vpntest --password 1234567890 --encrypt --start
  • create是创建的连接名称
  • server是vpn的ip地址
  • username是用户名
  • password是密码,也可以没这个参数,命令稍后会自动询问。这样可以保证账号安全
  • encrypt 是表示需要加密,不必指定加密方式,命令会读取配置文件中的加密方式
  • start是表示创建连接完后马上连接

3.连接/断开vpn

vpn建立好之后,可以通过 ponpoff 连接和断开vpn服务

pon vpntest    /连接名称为vpntest,vpn服务
poff vpntest    /断开名称为vpntest,vpn服务

报错解决办法

1.centos连接VpnServer 超时,执行下面命令:

iptables -F

2.连接vpn server,报如下错误:

Using interface ppp0
Connect: ppp0 <--> /dev/pts/2
EAP: unknown authentication type 26; Naking
EAP: peer reports authentication failure
Connection terminated.

解决办法:

vi /etc/ppp/options

将下面字段添加到/etc/ppp/options文件中(root用户权限可更改)

refuse-pap
refuse-eap
refuse-chap
refuse-mschap
require-mppe

连接成功:

pptpsetup --create pptpd --server x.x.x.x --username vpntest --password 1234567890 --encrypt --start    /重新启动
    Using interface ppp0
    Connect: ppp0 <--> /dev/pts/2
    CHAP authentication succeeded
    MPPE 128-bit stateless compression enabled
    local  IP address 10.0.0.10
    remote IP address 10.0.0.1

3.连接成功没网:

需要将vpn连接设置成默认路由!

Ubuntu:

查看路由表

netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.13.7.1       0.0.0.0         UG        0 0          0 enp0s3
10.0.0.1        0.0.0.0         255.255.255.255 UH        0 0          0 ppp0
10.13.7.0       0.0.0.0         255.255.255.128 U         0 0          0 enp0s3
10.13.7.49      0.0.0.0         255.255.255.255 UH        0 0          0 enp0s3

解决办法:

删除原来的默认路由:

route del default

将vpn连接ppp0设置成默认路由:

route add default dev ppp0

联网成功:

PING www.a.shifen.com (180.97.33.107) 56(84) bytes of data.
64 bytes from 180.97.33.107: icmp_seq=1 ttl=51 time=38.5 ms
64 bytes from 180.97.33.107: icmp_seq=2 ttl=51 time=38.5 ms
64 bytes from 180.97.33.107: icmp_seq=3 ttl=51 time=38.4 ms
64 bytes from 180.97.33.107: icmp_seq=4 ttl=51 time=38.5 ms
64 bytes from 180.97.33.107: icmp_seq=5 ttl=51 time=38.9 ms
64 bytes from 180.97.33.107: icmp_seq=6 ttl=51 time=38.4 ms

Centos:

查看路由表

ip route

解决办法:

将vpn连接ppp0设置成默认路由:

ip route replace default dev ppp0

联网成功:

64 bytes from 180.97.33.107: icmp_seq=4 ttl=51 time=46.3 ms
64 bytes from 180.97.33.107: icmp_seq=5 ttl=51 time=46.5 ms
64 bytes from 180.97.33.107: icmp_seq=6 ttl=51 time=46.4 ms

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

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

编辑于

cols1

1 篇文章1 人订阅

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Netkiller

Tomcat 安全配置与性能优化

Tomcat 安全配置与性能优化 摘要 我的系列文档 Netkiller Architect 手札Netkiller Developer 手札Netkiller...

3416
来自专栏数说工作室

零基础搭建分布式集群的几个方法

大家好,许久没更新了,这段时间忙着换工作和交接过度(对,换工作了);另一方面,这段时间试着搭建了一下分布式集群,本来打算跟大家详细分享一下,由于是零基础,中间还...

3395
来自专栏沈唁志

什么是Docker?Docker的快速入门教程

Docker 从2013年发布至今, 许多人并不清楚 Docker 到底是什么,要解决什么问题,好处又在哪里?

653
来自专栏小樱的经验随笔

这可能是最为详细的Docker入门吐血总结

在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是十分普遍的,甚至成为了一些企业面试的加分项,不...

2515
来自专栏Pythonista

docker入门

让开发人员最头疼的麻烦事之一就是环境配置了,每台计算机的环境都不相同,应该如何确保自己的程序换一台机器能运行起来呢?

1125
来自专栏Rainbond开源「容器云平台」

好雨云帮一周问答集锦(2017.02.27-2017.03.12)

1082
来自专栏云计算教程系列

如何保护PostgreSQL免受攻击

服务器刚搭建,流量少,没有任何对黑客有价值的东西,你可能就会忽视相关的安全问题。但是,许多漏洞攻击都是自动化的,专门用于查找你服务中的BUG。这些服务器主要目的...

723
来自专栏linux运维学习

linux学习第六十篇:Linux监控平台介绍,zabbix监控介绍,安装zabbix,忘记Admin密码如何做

Linux监控平台介绍 常见开源监控软件:cacti、nagios、zabbix、smokeping、open-falcon等等 cacti、smokeping...

3464

Debian云工具

最近,我一直在使用Ubuntu中默认提供的云工具套件,现在我把它们移植到了Debian上,让我们来一起看看怎样把Debian和云结合起来!

1759
来自专栏程序猿DD

使用 kubeadm 创建一个 kubernetes 集群

? 简介 kubeadm是一个 kubernetes官方提供的快速安装和初始化拥有最佳实践(best practice)的 kubernetes集群的工具,虽...

4018

扫码关注云+社区