白季飞龙的个人主页

Linux shell 下 VPN 的安装与使用

服务器Linux往往不安装图形界面,在这种情况下,翻越防火长城就得通过命令行进行安装配置了。本文为笔者在Ubuntu下使用PPTP协议VPN翻墙的简要记录。

1. 安装pptp-linux pptpsetup

在终端下输入命令 sudo apt-get install pptp-linux pptpsetup,安装pptp-linuxpptpsetup

2. 配置pptp-linux

pptpsetup --create a --server a.krgjsq.xyz --username baijifeilong --password bugaosuni --encrypt

--create 连接名,随便填写,最好短点,方便连接时用

--server 服务器地址,可以是域名或ip

--username 用户名

--password 密码

--encrypt 使用加密连接 此处看PPTP服务器的配置,一般情况应该需要

配置完成后,会生成文件/etc/ppp/peers/a 如有需要可根据官方文档删除或修改

3. 连接pptp服务器

pon a 后台连接,看不出来是否连接成功

pon a debug dump logfd2 nodetach 前台连接,并显示日志

连接完成后,运行ifconfig可以看到新建立的ppp0连接

4. 验证是否连接到服务器

运行route -n (-n不解析主机名,显示快),会多出两条路由,类似

10.0.0.4 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0

45.32.147.207 192.168.0.1 255.255.255.255 UGH 0 0 0 em1

其中45.32.147.207是pptp服务器的外网IP,10.0.0.4是pptp服务器的内网(VPN即虚拟局域网)IP ping 10.0.0.4 如果可以ping通,说明成功连接到了pptp服务器

5. 翻越防火长城

VPN的设计初衷不是科学上网,pptp-linux默认也不开启科学上网模式。要开启科学上网模式,即全部流量(也可部分)都走VPN,使用命令sudo route add default dev ppp0sudo route add -net 0.0.0.0 dev ppp0将ppp0设为默认路由。此处dev指device,设备,即网卡。

6. 验证是否可以科学上网

ping www.google.com

7. 备注:

7.1 自动启动科学上网

要想连接vpn后直接科学上网,可以在/etc/ppp/ip-up.d/目录中新建一个脚本文件,文件名任意,比如baijifeilong,将设置默认路由的命令写入此文件,并将此文件设为可执行。此目录中的所有脚本将在连接pptp服务器后执行。

cd /etc/ppp/ip-up.d
printf "#! /bin/bash\nroute add default dev ppp0" | sudo tee baijifeilong
sudo chmod +x baijifeilong

7.2 本地局域网设置

如果设置默认路由后,不能访问本地局域网,需要再填加一条路由,让本地连接走本地网卡。

sudo route add -net 192.168.0.0 netmask 255.255.255.0 dev em1

此处192.168.0.0是本地网络,一般也可能是192.168.1.0netmask是子网掩码,em1是本地连接的网卡名,通过ipconfig可查


漫漫路,莫论逍遥;潜心修,只为悟道