问题: 在做一个国外的开源项目,需要用到很多 ubuntu 上特定版本的应用,由于国内墙的问题,导致Ubuntu 14.04在需要添加一些国外的库的时候(add-apt-repository ppa:user/ppa-name),然后update会导致Hash Sum mismatch错误(16.06已经修复), 各种手段都用了,只有 fan 墙才能解决.下面介绍下Ubuntu14.04通过PPTP协议使用VPN


1. 安装 pptp-linux 客户端

sudo apt-get install pptp-linux

2. 查看电脑的网卡与网关信息

记录信息,在关闭 VPN 时使用

ifconfig 查看自己的网卡名字 $ETH0,

route -n 查看自己默认网关信息 $GATEWAY

3. 建立VPN 连接

sudo pptpsetup --create  本地名 \
--server 服务器域名(或 IP) --username VPN账户用户名 \
--password VPN账户密码 --encrypt --start

这时 ifconfig 会发现多了一个叫做 ppp0 的网卡,虽然VPN已经连接成功,但是路由没有通过VPN上网,因为当前路由的默认网关是还是上述$GATEWAY , 我们需要流量从网卡 ppp0 发出去我们需要修改默认网关.

sudo ip route del default
sudo ip route add default dev ppp0

4. 建立 vpn 的最后一步,也是关键一步


DNS改为google域名解析服务器的 8.8.8.8 或者 8.8.4.4

成功连接到远程VPN服务器。

通过刚才的创建脚步:

在/etc/ppp/peers目录下面,会生成一个叫$本地名的文件。

在/etc/ppp目录下面,用户名和密码会写在chap-secrets文件中。

5. 关闭VPN

由于之前我们把默认路由删除了, 关闭 VPN 时是没法上网的,需要做以下操作

#!/bin/bash
set -e
sudo ifconfig $ETH0 down
sudo ifconfig $ETH0 up
sudo route add default gw $GATEWAY

现在就可以正常上网了:)

贴上脚本

开启VPN

#!/bin/bash
# 使用前安装pptp-linux工具
set -e
sudo pptpsetup --create nowgood --server us01.blockcn.net \
--username *** --password *** \
--encrypt --start
sudo ip route del default
sudo ip route add default dev ppp0

关闭 VPN

#!/bin/bash
set -e
sudo ifconfig $ETH0 down
sudo ifconfig $ETH0 up
sudo route add default gw $GATEWAY

ubuntu server命令行搭建虚拟专用网的更多相关文章

  1. Ubuntu Server 命令行下的默认语言改为英语en_US.UTF-8

    源文链接:http://tonychiu.blog.51cto.com/656605/393131 如果Ubuntu Server在安装过程中,选择的是中文(很多新手都会在安装时选择中文,便于上手), ...

  2. Ubuntu Server 命令行下显示中文乱码(菱形)解决办法

    如果Ubuntu Server在安装过程中,选择的是中文(很多新手都会在安装时选择中文,便于上手),这样在完成安装后,系统默认的语言将会是中文zh_CN.UTF- 8.但问题是我们安装的是服务器,只需 ...

  3. [转]Ubuntu Server命令行更换软件源

    sucd /etc/aptwget http://mirrors.163.com/.help/sources.list.lucidmv sources.list sources.list.backup ...

  4. 【Problem】xampp in ubuntu下命令行启动mysql报错: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/lampp/var/mysql/mysql.sock' (2)

    xampp in ubuntu下命令行启动mysql报错: reddevil@reddevil-Lenovo:/opt/lampp$ ./bin/mysql -u root -p Enter pass ...

  5. MSSQL-Scripter,一个新的生成T-SQL脚本的SQL Server命令行工具

    这里向大家介绍一个新的生成T-SQL脚本的SQL Server命令行工具:mssql-scripter.它支持在SQL Server.Azure SQL DB以及Azure SQL DW中为数据库生成 ...

  6. Ubuntu使用命令行打印文件

    Ubuntu使用命令行打印文件 正文 环境: Ubuntu 16.04.3 LTS HP Deskjet InkAdvantage 4648 准备步骤 安装Common UNIX Printing S ...

  7. Ubuntu终端命令行不显示颜色

    在网上找到的一个有效方案是在.bash_profile 中增加颜色定义 export LS_COLORS='di=01;35:ln=01;36:pi=40;33:so=01;35:do=01;35:b ...

  8. Vue - 使用命令行搭建单页面应用

    使用命令行搭建单页面应用 我们来看一下最后完成的效果: 大纲 1. 下载 node, git, npm 2. 使用命令行安装一个项目 一. 下载工具 node , git  的下载大家可以去官网自行下 ...

  9. ubuntu 下命令行播放器mplayer 使用详解

    ubuntu 下命令行播放器mplayer 使用详解 2011-01-02 21:00:42|  分类: Linux/Unix |  标签: |字号大中小 订阅 使用 MPlayer 播放媒体文件最简 ...

随机推荐

  1. stock

    version: 1 disable_existing_loggers: False formatters: simple: format: "%(asctime)s - %(name)s ...

  2. JavaSE_坚持读源码_String对象_Java1.7

    /** * Compares this string to the specified object. The result is {@code * true} if and only if the ...

  3. JDBC-Batch 批量执行

    JDBC 批处理 SQL 语句 首先在 jdbc 的 url 中加上 rewriteBatchedStatements=true,只有开启了这个 Mysql 才会执行批处理,否则还是一条一条执行 St ...

  4. python数据结构总结

    一.列表 1.列表脚本操作符: (1)扩增的操作符: “+”:用于组合列表:如[1,2,3]+[4,5,6]==>[1,2,3,4,5,6] "*":重复;如[2,3]*2= ...

  5. python--编写用例脚本

    from appium import webdriverimport time desired_caps = {}desired_caps['platformName'] = 'Android'des ...

  6. callback hell (回调地狱)

    callback hell (回调地狱) callback(回调) 如何修复 callback hell callback 回调只是存放一些即将要处理的代码. 回调的执行顺序不是从上到下的,而是根据事 ...

  7. [转]Red Hat Linux相关产品iso镜像下载【百度云】

    超强汇总!献上大佬链接:http://www.linuxfly.org/post/659/ 还有一些可用链接: 下面的直接复制到迅雷下载,链接是打不开的. RHEL 5.4 ISO下载http://r ...

  8. ajax、fetch、axios — 请求数据

    jquery ajax jq 的ajax是对原生XHR的封装,除此以外还增添了对JSONP的支持.用起来非常方便 用法: $.ajax({ url:发送请求的地址, data:数据的拼接,//发送到服 ...

  9. MyBatis SQL语句操作Mysql

    本文记录使用Mybatis操作数据库时碰到的一些语句,供以后参考. 一,多条件查询 示意SQL语句:SELECT t_field1, t_field2 FROM table_name WHERE t_ ...

  10. TCP时间获取程序

    一.服务器程序 #include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/ ...