0%

Linux下如何拨VPN

由于公司的svn和maven仓库地址都在内网,使用Centos系统搭建持续集成的时候,没有办法访问服务器,又不想换Windows环境;于是想办法在linux下拨通vpn!

安装vpn客户端

1
yum -y install pptp pptp-setup

创建一个vpn连接

1
pptpsetup --create pptpd --server SERVER_IP --username USERNAME --password PASSWORD --encrypt --start
1
2
3
4
5
6
–create是创建的连接名称
–server是vpn的ip地址;
–username是用户名
–password是密码,也可以没这个参数,命令稍后会自动询问。这样可以保证账号安全
–encrypt 是表示需要加密,不必指定加密方式,命令会读取配置文件中的加密方式
–start是表示创建连接完后马上连接

编辑配置文件

创建vpn连接完成后,会有两个配置文件(ps:*有域的情况下,配置文件中\需要写成\*)
vim /etc/ppp/peers/pptpd

1
2
3
4
5
6
7
8
9
10
# written by pptpsetup
pty "pptp 1.2.3.4 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name domain\\username
remotename pptpd
ipparam pptpd
require-mppe-128

vim /etc/ppp/chap-secrets

1
2
3
4
5
# Secrets for authentication using CHAP
# client server secret IP addresses

# added by pptpsetup for pptpd
domain\\username pptpd "password" *

复制开启\断开脚本

1
2
3
cp /usr/share/doc/ppp-2.4.5/scripts/pon /usr/sbin/
cp /usr/share/doc/ppp-2.4.5/scripts/poff /usr/sbin/
chmod +x /usr/sbin/pon /usr/sbin/poff
1
2
pon vpnname 开启vpn
poff vpnname 断开vpn

尝试拨vpn

1
pon pptpd

查看连接情况

1
ip a

vpn
如果有异常的话,可以跟踪系统日志排查

1
tailf /var/log/messages

设置路由

1
route add -net 192.168.0.0/24 dev ppp0

vpn