问题: 在做一个国外的开源项目,需要用到很多 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. SpringMVC简单项目配置

    一.首先,SpringMVC框架使用分层开发,分层是为了实现“高内聚,低耦合”.采用“分而治之”的思想,把问题划分开来各个解决,易于控制,延展和分配资源,最重要的是有利于后期项目维护.MVC是指Mod ...

  2. jenkins 基本配置

    修改jenkins使用用户和启动端口 //yum 安装 cat /etc/sysconfig/jenkins 安装完后安装maven插件 设置jenkins项目存放目录 系统管理---->系统设 ...

  3. 对空间数据(Shape)重新排序

    打开ArcToolBox,数据管理工具->常规(General)->排序

  4. vue中element-ui树形控件自定义节点,注意一下

    在项目中用到菜单项编辑删除,在 element-ui自定义节点内容时, 有说明:使用render-content指定渲染函数, 得环境支持 JSX 语法,只要正确地配置了相关依赖,就可以正常运行. 一 ...

  5. Java集合操作精华总结

    一.Set1.HashSet boolean add(E e) 添加 访问 boolean remove(E e) 删除 Iterator<E> iterator 遍历 int size( ...

  6. termios结构体的内容

    一.结构体成员 struct termios { tcflag_t c_iflag; tcflag_t c_oflag; tcflag_t c_cflag; tcflag_t c_lflag; cc_ ...

  7. springboot 02-PropertiesFile 自定义配置属性,多环境配置

    application.properties: # 自定义配置 test.hello.world = HelloWorld test.person.name = 哈哈 test.person.sex ...

  8. oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)

        oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)   效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下   Sql代码   --oracle汉字转拼 ...

  9. pyqt5-是否被编辑

    setWindowModified(bool)     被编辑状态,显示*;    没有被编辑,不显示* isWindowModified()              窗口是否是被编辑状态 from ...

  10. java.lang.NoSuchMethodError: org.apache.curator.framework.api.CreateBuilder.creatingParentsIfNeeded()Lorg/apache/curator/framework/api/ProtectACLCreateModeStatPathAndBytesable;

    1 错误信息 java.lang.NoSuchMethodError: org.apache.curator.framework.api.CreateBuilder.creatingParentsIf ...