商务合作加Q:411239339

linux PPTP客户端安装(转载)

浏览:430次阅读
没有评论

共计 5450 个字符,预计需要花费 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

正文完
扫码赞助
post-qrcode
 0
果子
版权声明:本站原创文章,由 果子 于2015-08-10发表,共计5450字。
转载说明:除特殊说明外本站文章皆由果较瘦原创发布,转载请注明出处。
评论(没有评论)