如何在 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 条评论
登录 后参与评论

相关文章

来自专栏静默虚空的博客

DNS 协议入门

域名系统 (DNS) 的作用是将人类可读的域名 (如,www.example.com) 转换为机器可读的 IP 地址 (如,192.0.2.44)。

1012
来自专栏LanceToBigData

linux命令详解之netstat

今天在使用linux的时候,要查看端口号,但是不知道要使用哪一个命令所以就学习了一下,原来是使用netstat,接下来给大家一起来学习。 一、netstat介绍...

23210
来自专栏芋道源码1024

缓存穿透、缓存并发、缓存失效之思路变迁

来源:https://www.jianshu.com/p/d96906140199

542
来自专栏xingoo, 一个梦想做发明家的程序员

Winodws安装系统时,通过安装磁盘进行分区

  今天使用一个系统盘安装的时候,很奇怪,分区总是分出来一个系统磁盘,一个MBR,剩下的只能分主分区。   这样就导致我在进行windows激活时,激活工具都找...

2056
来自专栏Laoqi's Linux运维专列

负载均衡、集群、高可用解决方案

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

加固你的服务器,防止SSH攻击

Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH通过在网络中创建安全隧道来实...

1372
来自专栏cmazxiaoma的架构师之路

FastDFS蛋疼的集群和负载均衡(十五)之lvs四层+Nginx七层负载均衡

1222
来自专栏何俊林

移动App 网络优化细节探讨

1776
来自专栏SDNLAB

OpenDaylight与Mininet应用实战之OpenFlow协议分析

1、实验目的 在实验平台上熟悉SDN原理操作,通过wireshark抓包工具可以直接看到控制器与OVS交换机的通信过程、分析OpenFlow(以下简写为OF)协...

3365
来自专栏运维一切

本地dns的更新:dnsmasq的使用 原

最近各种ad服务挂掉的情况连连出现,一个域名解析需要花上3秒钟,业务上黄花菜都凉了,有的/etc/resolv.conf里面就配置一个nameserver,一点...

1594

扫码关注云+社区