`

ubuntu 11.10设置vpn l2tp

 
阅读更多

好在想起学校以前架设的L2TP VPN,应该可以支持Linux,于是便一通谷歌百度,然而发现搜到的这些文章,要么十分繁琐,要么无法配通,因此就写了这篇博文,一则方便以后检索,二则也能给有这方面需要的兄弟提供一个方便。

一、安装XL2TPD

安装xl2tpd很简单,至少在Ubuntu上是这样:

  1. sudo apt-get install xl2tpd 

二、配置XL2TPD

配置xl2tpd,需要修改它的配置文件(/etc/xl2tpd/xl2tpd.conf),如下所示:

  1. sudo vi /etc/xl2tpd/xl2tpd.conf 
  2. [global
  3. port = 1701 
  4. access control = no 
  5. [lac testvpn] 
  6. lns = x.x.x.x ;您VPN服务器的IP地址或域名 
  7. redial = yes 
  8. redial timeout = 15 
  9. max redials = 5 
  10. require chap = yes 
  11. refuse pap = yes 
  12. require authentication = yes 
  13. name = name@your.org
  14. pppoptfile = /etc/ppp/options.l2tpd.testvpn 
  15. ppp debug = no 

其中比较关键的配置如下:

  • 05行:[lac testvpn]是将VPN连接的名字设置为testvpn,您可以把它改成任何您想要的名字
  • 06行:lns的内容填入您VPN服务器的IP地址或域名
  • 10行:要求使用使用chap质询握手认证协议
  • 13行:name的内容需要填入您的用户名
  • pppoptfile的内容则是您接下来要生成的选项文件名,具体创建过程如下:
  1. sudo vi /etc/ppp/options.l2tpd.testvpn 
  2. asyncmap 0 
  3. noauth 
  4. crtscts 
  5. lock 
  6. hide-password 
  7. modem 
  8. netmask 255.255.255.0 
  9. proxyarp 
  10. lcp-echo-interval 30 
  11. lcp-echo-failure 4 
  12. ipcp-accept-local 
  13. ipcp-accept-remote 
  14. noipx 

然后再配置一下chap认证所需的用户名和密码即可:

  1. sudo vi /etc/ppp/chap-secrets 
  2. # Secrets for authentication using CHAP 
  3. # client        server  secret                  IP addresses 
  4. name@your.org *       mypassword        * 

其中name@your.org是用户名,它同xl2tp.conf配置文件中的name语句中的内容是一致的,而mypassword是该用户使用的密码。这样就配置好了xl2tpd了。

三、连接VPN

配置好了xl2tpd之后,为了要让它生效需要重启该服务:

  1. sudo /etc/init.d/xl2tpd restart 

然后使用下列命令连接VPN:

  1. sudo -u root -H sh -c "echo 'c wzuvpn' > /var/run/xl2tpd/l2tp-control" 

四、接下来的工作:

上述命令使用之后,并没有任何提示是否连接成功,为了检查连接是否成功,就需要使用以下指令来查看:

  1. ifconfig 
  2. ... 
  3. ppp0      Link encap:点对点协议   
  4.           inet 地址:10.63.1.2  点对点:10.63.1.1  掩码:255.255.255.255 
  5.           UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  跃点数:1 
  6.           接收数据包:4 错误:0 丢弃:0 过载:0 帧数:0 
  7.           发送数据包:5 错误:0 丢弃:0 过载:0 载波:0 
  8.           碰撞:0 发送队列长度:3  
  9.           接收字节:40 (40.0 B)  发送字节:61 (61.0 B) 

如下所示,使用ifconfig命令之后,如果看到有ppp0,则说明该VPN连接成功,否则请查看xl2tpd是否正常启动(这个常在重启机器后出现)。

VPN连接成功之后,并不能正常工作,它还缺乏两个关键的内容,一是到内网的路由,二是内网内部服务器的解析。比如我学校的服务器使用192.168.0.0/255.255.128.0这个网段,而内网地址分配则使用整个10网段,因此我将我家中的路由设置为192.168.254.0/24这个网段,这样就避免了访问家里网络的冲突:

  1. sudo route add -net 192.168.0.0 netmask 255.255.128.0 dev ppp0 
  2. sudo route add -net 10.0.0.0 netmask 255.0.0.0 dev ppp0 

上述两句表明通过ppp0来访问内网及内网服务器,这样查看机器上的路由如下所示:

  1. route 
  2. 内核 IP 路由表 
  3. 目标            网关            子网掩码        标志  跃点   引用  使用 接口 
  4. default         dir-605         0.0.0.0         UG    0      0        0 eth0 
  5. 10.0.0.0        *               255.0.0.0       U     0      0        0 ppp0 
  6. 10.63.1.1       *               255.255.255.255 UH    0      0        0 ppp0 
  7. link-local      *               255.255.0.0     U     1000   0        0 eth0 
  8. 192.168.0.0     *               255.255.128.0   U     0      0        0 ppp0 
  9. 192.168.254.0   *               255.255.255.0   U     1      0        0 eth0 

注意接口为ppp0的路由,千万不要象有些文章中写得那样,使用下列语句:

  1. sudo route del default 
  2. sudo route add -net 0.0.0.0 netmask 0.0.0.0 dev ppp0 

想象一下,01行一执行,默认路由被删除,VPN连接就不可能不断了。

那么对内网服务器的解析如何来处理呢?如果只需要访问几个地址的话,可以直接在/etc/hosts文件中直接解析,如果需要访问很多地址的话,可以修改/etc/resolv.conf文件中的DNS服务器,在顶部添加新的内网DNS服务器即可。

五、断开VPN连接

断开VPN连接可以用以下语句来实现:

  1. sudo -u root -H sh -c "echo 'd wzuvpn' > /var/run/xl2tpd/l2tp-control" 

这样整个L2TP VPN的连接配置就介绍完了。

当然上述操作最好可以使用脚本来完成,由于没几句语句,所以就偷懒不写了,什么时候勤快了或更懒了,兴许会写出来,到时再更新吧!当然如果有兄弟看不下去,帮我写了那就最为完美了。一笑!

另:如果有部分服务连接不上的话,可以修改/etc/ppp/options.l2tpd.testvpn文件,通过添加mtu 1400来解决(当然1400这个值比较保守,要精确大小的话,可以通过分析该服务的包来计算精确值,这个比较复杂在这里就不详细说明了。

分享到:
评论

相关推荐

    ubuntu 11.10 设置固定ip

    ubuntu 11.10 设置固定ip,需要vi /etc/network/interfaces。

    ubuntu11.10设置图文全攻略

    《Ubuntu 11.10 设置图文全攻略》是一份详尽的指南,旨在帮助用户在Ubuntu 11.10操作系统中进行各种配置和优化。Ubuntu 11.10,代号“Oneiric Ocelot”,是Ubuntu系列的一个重要版本,它引入了许多新特性,同时也对...

    ubuntu+11.10+安装过程详解

    总的来说,无论是 VMware 还是 VirtualBox,安装 Ubuntu 11.10 都需要进行基本的虚拟机配置,包括设置内存、硬盘大小、选择语言和时区等。在虚拟机软件之间,主要的区别在于用户界面和特定功能,但安装流程大同小异...

    ubuntu 11.10环境搭建

    本篇将详细讲解如何在Ubuntu 11.10(Oneiric Ocelot)环境下进行系统配置,包括TFTP、NFS、Samba以及VMware Tools的安装与设置。这些服务和工具在服务器管理、网络共享、虚拟化等方面都有广泛的应用。 首先,让我们...

    Ubuntu 11.10安装详细教程

    ### Ubuntu 11.10 安装详细教程 #### 一、前言 Ubuntu 11.10 是一款非常流行的 Linux 发行版,它以其简洁易用的界面、强大的社区支持以及丰富的软件资源而著称。本教程将详细介绍如何在虚拟机环境下安装 Ubuntu ...

    ubuntu11.10安装及网络配置

    ubuntu11.10安装及网络配置,其中包括安装说明和网络配置两份文件

    Ubuntu11.10安装教程及设置

    以下是关于Ubuntu11.10的安装及设置的知识点。 首先,Ubuntu的名称源自非洲的“ubuntu”一词,意为“人性”和“我存在是因为大家存在”,体现了非洲传统价值观及华人社会的“仁爱”思想。Ubuntu社区开发的特性,...

    Ubuntu11.10桌面速配

    ### Ubuntu 11.10 桌面优化与配置指南 #### 一、概述 Ubuntu 11.10 是一款广受欢迎的 Linux 发行版,它以其易用性和强大的社区支持而著称。然而,默认安装可能并不完全满足用户对于本地化的需求,特别是对于中文...

    Ubuntu 11.10 安装方法全程记录

    Ubuntu 11.10 安装方法全程记录

    Ubuntu11.10文本乱码问题解决

    ### Ubuntu11.10文本乱码问题解决:详尽指南 #### 背景与问题阐述 在使用Ubuntu 11.10系统时,不少用户遇到一个令人头疼的问题——文本文件出现乱码。这一现象主要表现为打开本地或网络上的文本文件(如.txt格式)...

    Ubuntu11.10_12.04安装深度软件中心的方法.pdf

    Ubuntu 11.10/12.04 安装深度软件中心的方法 在 Ubuntu 11.10/12.04 系统中,安装深度软件中心需要满足一些前提条件,并遵循特定的安装步骤。下面将详细介绍安装深度软件中心的方法。 前提条件 在安装深度软件...

    Win7+Ubuntu11.10(EasyBCD硬盘安装)

    标题中的"Win7+Ubuntu11.10(EasyBCD硬盘安装)"指的是在Windows 7操作系统上通过EasyBCD工具进行Ubuntu 11.10的硬盘安装,以实现双系统并存。这种方式允许用户在同一个硬件平台上同时运行Windows 7和Ubuntu,方便在...

    ubuntu11.10最全的安装使用详解.doc

    本文档旨在为用户提供 Ubuntu 11.10 的详细安装教程和使用指南,从基本安装到高级设置,涵盖了网络设置、语言与输入法、硬件驱动、Unity 和 Gnome3 等方面的内容。 一、准备安装 Ubuntu 11.10 系统 在安装 Ubuntu ...

    ubuntu 11.10 截图

    至于压缩包中的“test_higo”文件,可能包含的是与Ubuntu 11.10相关的截图图像,可能展示的是Unity界面、系统设置、软件应用或其他功能。这些图片有助于用户了解该版本的外观和操作流程,特别是对于那些没有亲自使用...

    VMware下安装Ubuntu 11.10 全程图解

    ### VMware 下安装 Ubuntu 11.10 的关键步骤及注意事项 #### 一、了解 VMware 和 Ubuntu 11.10 - **VMware:** 是一款功能强大的桌面虚拟化解决方案,能够让用户在单一的桌面上同时运行不同的操作系统,并且能够在...

    iNodeClient for Ubuntu11.10

    《Ubuntu 11.10与iNodeClient:轻松解决校园网联网问题》 Ubuntu 11.10,代号“Oneiric Ocelot”,是 Canonical 公司在2011年推出的Linux发行版,其稳定性和创新性在当时受到了不少用户的欢迎。然而,对于在校学生...

Global site tag (gtag.js) - Google Analytics