Linux使用pptp、l2tp客户端连接vpn

in linux with 0 comment

pptp客户端

1.安装pptp客户端

yum -y install ppp pptp pptp-setup

2.连接vpn服务器

pptpsetup --create pptpd --server x.x.x.x --username test --password 123456 --encrypt --start

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

3.连接成功但是没有网络解决方法
查看路由表

ip route

解决办法:

将vpn连接ppp0设置成默认路由:

ip route replace default dev ppp0

l2tp客户端

1.安装l2tp

yum install -y xl2tpd ppp

2.配置l2tp文件

vi /etc/xl2tpd/xl2tpd.conf  

#末尾添加内容如下
[lac testvpn]
name = user1   
lns = 211.101.29.88
pppoptfile = /etc/ppp/peers/testvpn.l2tpd
ppp debug = no

注:
testvpn为连接名称,后面控制连接时需要
name为vpn帐号的用名户,由vpn服务器分配
lns为vpn服务器ip地址
pppoptfile为连接选项

3.配置选项文件

vi /etc/ppp/peers/testvpn.l2tpd  

#内容如下
remotename testvpn
user "user1"   
password "123456"
unit 0
lock
nodeflate
nobsdcomp
noauth
persist
nopcomp
noaccomp
maxfail 5
debug

注:
remotename: vpn名称
user:vpn帐号用户名
password:vpn帐号密码

4.启动客户端

# xl2tpd 或者 service xl2tpd start

# mkdir -p /var/run/xl2tpd && touch /var/run/xl2tpd/l2tp-control   #此步骤可省略,如果执行下面一条命令,无法成功连接,则需要执行此行,建立目录和对应文件)

#开始拨号,拨号成功的话,通过ifconfig可看见有个ppp0的接口
# echo 'c testvpn' >/var/run/xl2tpd/l2tp-control
[root@master ~]# ifconfig
...
...
...
ppp0      Link encap:Point-to-Point Protocol  
      inet addr:172.16.12.142  P-t-P:192.168.18.1  Mask:255.255.255.255
      UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1410  Metric:1
      RX packets:3 errors:0 dropped:0 overruns:0 frame:0
      TX packets:3 errors:0 dropped:0 overruns:0 carrier:0
      collisions:0 txqueuelen:3 
      RX bytes:30 (30.0 b)  TX bytes:36 (36.0 b)

# 断开连接
# echo 'd testvpn' > /var/run/xl2tpd/l2tp-control
Responses