linux PPTP客户端安装(转载)

2015/08/1011:53:14 发表评论

Linux使用pptp vpn client 其实很简单的,只是相对文档较少或是落后造成很多Linuxer报怨。下面我简单的列一下操作步骤。

背景: 
    系统使用Redhat Enterprise 5.4(CentOS也支持)
    该文档应该能适应不同的Linux。
    基于命令行的操作。我的开发机器上没装图形界面。

需要软件: 
     pptp 该软件可以从:
     http://pptpclient.sourceforge.net/#download 
     pppd 一般系统自带。

安装: 
      下载pptp,下载相应的pptp的RPM包即可。
      rpm -ivh pptp-*.rpm
      这样基本上完成了50%的工作了。
配置:    
     pptp安装后有一个配置命令:pptpsetup

# pptpsetup –help

pptpsetup –create <TUNNEL> –server <SERVER> [--domain ]

          –username <USERNAME> [--password ]

          [--encrypt] [--start]

 

pptpsetup –delete <TUNNEL>

Options:
* <TUNNEL>  配置文件的名称,可以根据不同的连接用不同的名字,自已指定,我这里有vpn.
* <SERVER>  PPTP SERVER的IP。
* <DOMAIN> 所在的域,可以省略,一般不用。
* <USERNAME>  VPN 上认证用的用户名,VPN用户
* <PASSWORD>  VPN上用户认证用的密码
* –encrypt 启用加密
*           当没使用–encrypt 连接时出现下面的错误时,表示使用了加密,这点也可以和VPN的管理员联系确认一下,遇到下面的*           情况可以加上该参数。
*                    CHAP authentication succeeded
*                          LCP terminated by peer (ZM-76-^@<M-Mt^@^@^BM-f ) 
*                            
* –start  直接连接,第一次使用。

创建配置文件

假设VPN的用户名和密码都是wubx,IP是:xxx.xxx.xxx.xx

#pptpsetup –create vpn –server XXX.XXX.XXX.XX  –username wubx –password wubx –encrypt –start

         运气好了,就可以看到连接成功的信息了。
    如:

Using interface ppp0

Connect: ppp0 <–> /dev/pts/2

CHAP authentication succeeded

MPPE 128-bit stateless compression enabled

local  IP address 192.168.111.103

remote IP address 192.168.111.100

以后的启动可以使用:

pppd call vpn

相应的LOG也可以在/var/log/message中查看。

然后可以利用route命令添加相应的路由:
如我这边VPN的机器所在网段是192.168.110.0/24 那么我就可以使用:

【原文路由配置】

#route add -net  192.168.110.0 netmask 255.255.255.0  gw 192.168.112.100 device ppp0

添加完路由就可以使用了。

 

【我的实际配置】

route add -net 0.0.0.0 dev ppp0

 

备注:

建立连接:     

对于以后VPN的启动可以写一个ppp-on 放到/usr/local/bin内容:
#!/bin/bash

exec /usr/sbin/pppd call vpn

关闭连接:

可以写一个ppp-off放到/usr/local/bin/下,内容如下:

#!/bin/bash

if [ "$1" = "" ]; then

        DEVICE=ppp0

else

        DEVICE=$1

fi

if [ -r /var/run/$DEVICE.pid ]; then

        kill -INT `cat /var/run/$DEVICE.pid`

        if [ !"$?" = "0" ]; then

                rm -rf /var/run/$DEVICE.pid

                echo “ERROR: Removed stale pid file”

                exit 1

        fi

echo “PPP link to $DEVICE terminated.”

exit 0

fi

echo “ERROR: PPP link is not active on $DEVICE”

exit 1

【我的脚本】

#ppp-on.sh

#!/bin/bash

/usr/sbin/pptpsetup -create vpn -server xxx.xxx.xxx.xxx  -username xxxx -password xxxx  -encrypt -start

sleep 10

/sbin/route add -net 0.0.0.0 dev ppp0

 

-------------------------------------------------------------------------------------------------------------

转载于http://www.2cto.com/os/201209/157462.html

 

下载pptp-1.7.2.tar.gz

http://pptpclient.sourceforge.net/
 
root用户上传至linux主机/tmp目录
解压安装:
cd /tmp
tar xzf pptp-1.7.2.tar.gz
cd pptp-1.7.2
make && make install
 
更改配置:
1、更改拨号用户信息文件
cd /etc/ppp
vi chap-secrets
# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
####### redhat-config-network will overwrite this part!!! (begin) ##########
####### redhat-config-network will overwrite this part!!! (end) ############
username     connectvpn      "password"               *
  www.2cto.com 
#注意:增加了zhangsan      connectvpn      "password"               *,其中username为VPN账户名,"password"为VPN账户密码,
#connectvpn为VPN标识,用户区分不同的VPN连接。
 
2、创建拨号配置文件connectvpn(上述的VPN标识)
cd /etc/ppp/peers
vi connectvpn
增加如下内容:
pty "pptp 166.123.10.210  --nolaunchpppd"
noauth
refuse-eap
require-mppe-128
name username
remotename connectvpn
file /etc/ppp/options.pptp
 
#其中 166.123.10.210  为VPN服务器IP,name字段后跟的是/etc/ppp/chap-secrets中的username(VPN账户名),
#remotename为VPN标识,其他保持默认
  www.2cto.com 
3、启动VPN客户端
root执行如下命令
pppd call connectvpn
 
4、检查拨号结果,稍等10秒左右后,执行
如下命令检查:
[root@nms peers]# ps -ef|grep pppd
root      3617     1  0 06:40 ?        00:00:00 pppd call connectvpn
root      3618  3617  0 06:40 ?        00:00:00 pptp  166.123.10.210  --nolaunchpppd
root      3625     1  0 06:40 ?        00:00:00 pptp  166.123.10.210  --nolaunchpppd
root      3692  3514  0 06:58 pts/3    00:00:00 grep pppd
 
5、检查获取的vpn客户端IP
  www.2cto.com 
[root@nms peers]# ifconfig ppp0
ppp0      Link encap:Point-to-Point Protocol 
          inet addr:162.11.0.5  P-t-P:162.11.0.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:248 (248.0 b)  TX bytes:80 (80.0 b)
 
其中162.11.0.5为vpn客户端网卡ppp0的IP地址。
 
配置完成

 

 

如有什么问题可以到 /var/log/messages

------------------------------------------------------------------------------------------------

一、安装配置VPN客户端 
1、安装 pptp-linux 
apt-get install pptp-linux binutils 
2、创建vpn连接,并测试连接 
pptpsetup --create yourVpnName --server yourVpnServerDomainOrIP  --username yourUserName --password yourPassword --encrypt 
pon yourVpnName #连接 
plog #查看连接vpn情况 
ifconfig #还可以通过此命令查看获得的vpn IP 
poff yourVpnName #断开连接
二、配置自动重连VPN 
1、创建脚本 /usr/local/bin/autoConnectVpn.sh,内容如下: 
#!/bin/sh 
VPN=`ifconfig | grep ppp0`
#echo $VPN          
if [ -z "$VPN" ] then 
        echo "connect to vpn ..."         
pon yourVpnName 
fi
2、用 crontab -e 编辑定时作业脚本: 
SHELL=/bin/bash 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 
# m h  dom mon dow   command 
*/5 * * * * /usr/local/bin/autoConnectVpn.sh >> /var/log/autoConnectVpn.log 
注意 SHELL=/bin/bash 和
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
这两行代码是必须的,否则据说因为 pppd 的 bug 会导致连接不成功,报如下的错误日志:  
Jan 24 15:55:01 JCN-WEB-HD-1 /USR/SBIN/CRON[32343]: (root) CMD
(/usr/local/bin/autoConnectVpn.sh >> /var/log/autoConnectVpn.log) 
Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: pppd 2.4.5 started by root, uid 0 
Jan 24 15:55:01 JCN-WEB-HD-1 /USR/SBIN/CRON[32341]: (CRON) info (No MTA
installed, discarding output) Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]:
Failed to set PPP kernel option flags: Inappropriate ioctl for device 
Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Using interface ppp0 
Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Connect: ppp0 <-->
/dev/pts/1 Jan 24 15:55:01 JCN-WEB-HD-1 pppd[32349]: Modem hangup

  • 微信扫码赞助
  • weinxin
  • 支付宝赞助
  • weinxin

发表评论

您必须才能发表评论!