linux 下 PPTP 客户端设置


linux 下 PPTP 客户端设置

OS:CentOS  6.7
内核版本:Linux node6 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
防火墙关闭:
+++++++++++++++++++++++++++++
可以通过源码安装,如果无法安装,请使用RPM包
下载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
+++++++++++++++++++++++++++++
下载RPM包软件 :
ppp-2.4.4-2.el5.i386.rpm(http://rpmfind.net) 
libpcap-0.9.4-14.el5.i386.rpm (http://rpmfind.net) 
pptp-1.7.2-3.rhel5.i386.rpm (http://pptpclient.sourceforge.net/) 
安装
rpm -ivh libpcap-0.9.4-14.el5.i386.rpm 
rpm -ivh ppp-2.4.4-2.el5.i386.rpm 

rpm -ivh pptp-1.7.2-3.rhel5.i386.rpm 

防火墙配置:

vim pptp-iptables.sh
iptables -A INPUT -p 47  -j ACCEPT 
iptables -A OUTPUT -p 47 -j ACCEPT 
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT 
iptables -A OUTPUT -p tcp --sport 1723 -j ACCEPT
service iptables save
service iptables restart

下载客户端执行程序:
yum install pptp-setup
yum install pptp
yum install NetworkManager-openswan
运行
[root@localhost ~]# rpm -ql pptp-setup
/usr/sbin/pptpsetup
/usr/share/man/man8/pptpsetup.8.gz
[root@node6 ~]# pptpsetup --create pptpd --server *.*.*.* --username 123 --password 123 --encrypt --start
Using interface ppp0
Connect: ppp0 <--> /dev/pts/1
CHAP authentication succeeded
MPPE 128-bit stateless compression enabled
local  IP address 10.2.16.100
remote IP address 10.2.16.13


# pptpsetup �Chelp
pptpsetup �Ccreate <TUNNEL> �Cserver <SERVER> [--domain <DOMAIN>]
          �Cusername <USERNAME> [--password <PASSWORD>]
          [--encrypt] [--start]
pptpsetup �Cdelete <TUNNEL>
Options:
* <TUNNEL>  配置文件的名称,可以根据不同的连接用不同的名字,自已指定,我这里有vpn.
* <SERVER>  PPTP SERVER的IP。
* <DOMAIN> 所在的域,可以省略,一般不用。
* <USERNAME>  VPN 上认证用的用户名,VPN用户
* <PASSWORD>  VPN上用户认证用的密码
* �Cencrypt 启用加密
*           当没使用�Cencrypt 连接时出现下面的错误时,表示使用了加密,这点也可以和VPN的管理员联系确认一下,遇到下面的*           情况可以加上该参数。
*                    CHAP authentication succeeded
*                          LCP terminated by peer (ZM-76-^@<M-Mt^@^@^BM-f ) 
[root@node6 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
110.88.155.104  192.168.1.177   255.255.255.255 UGH   0      0        0 eth0
10.2.16.13      0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         192.168.1.177   0.0.0.0         UG    0      0        0 eth0
ifconfig 
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.2.16.100  P-t-P:10.2.16.13  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1496  Metric:1
          RX packets:7 errors:0 dropped:0 overruns:0 frame:0
          TX packets:25 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:144 (144.0 b)  TX bytes:1662 (1.6 KiB)
其中10.2.16.100为vpn客户端网卡ppp0的IP地址。
10.2.16.13:为PPTPD VPN服务器的接口地址


以上路由只能访问VPN接口IP10.2.16.13,要再添加一条到内网的路由才能访问内网
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.2.16.13
[root@node6 pptp_client_script]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
110.88.155.104  192.168.1.177   255.255.255.255 UGH   0      0        0 eth0
10.2.16.13      0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
192.168.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
10.0.0.0        10.2.16.13      255.0.0.0       UG    0      0        0 ppp0

0.0.0.0         192.168.1.177   0.0.0.0         UG    0      0        0 eth0


进程信息:
[root@node6 pptp_client_script]# ps -ef | grep ppp
root      26875      1  0 10:48 pts/0    00:00:00 pptp 110.88.155.104 --nolaunchpppd
root      26885      1  0 10:48 pts/0    00:00:00 pptp 110.88.155.104 --nolaunchpppd
root      26886      1  0 10:48 ?        00:00:00 pppd call pptpd updetach
root      26904  26501  0 10:54 pts/0    00:00:00 grep ppp


执行pptp-setup命令拨号成功后会生成以下文件:
[root@node6 ppp]# pwd
/etc/ppp
[root@node6 ppp]# cat chap-secrets
# Secrets for authentication using CHAP
# client server secret IP addresses
####### system-config-network will overwrite this part!!! (begin) ##########
####### system-config-network will overwrite this part!!! (end) ############
# added by pptpsetup for pptpd
123 pptpd "123" * #每拨一次会生成一行帐号和密码


[root@node6 ppp]# cd peers/
[root@node6 peers]# pwd
/etc/ppp/peers
[root@node6 peers]# cat pptpd 
# written by pptpsetup
pty "pptp 110.88.155.104 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name 100vr
remotename pptpd
ipparam pptpd
require-mppe-128 #如果不用MPPE支持,则不要这句。
#110.88.155.104  为VPN服务器IP
#name字段后跟的是/etc/ppp/chap-secrets中的username(VPN账户名),
#remotename为VPN标识,其他保持默认
#pptpd表示通过pptp-setup 连接的标示符
默认拨号10次,如果没有拨上就停止,设置如下选项,可不断重拨号:
maxfail 0
++++++++++++++++++++++++++++++++


以下是通过手动的方式来连接VPN服务器
++++++++++++++++++++++++++++++++++++++++++++
更改配置:
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"               *
#注意:
增加了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标识,其他保持默认
默认拨号10次,如果没有拨上就停止,设置如下选项,可不断重拨号:
maxfail 0
3、启动VPN客户端
root执行如下命令
# pppd call connectvpn
这个connectvpn为拨号配置文件
或者:
在连接前首先要连通INTERNET。再执行
pon connect 语句进行连接。如果想显示连接时的调试信息可以执行以下命令。
pon connect debug dump logfd 2 nodetach
连接成功后可用ifconfig命令显示接口信息。


连接成功后就可与服务器通信了,但如果要有其它子网通信,就要增加路由信息,具体可参
考网站上的设置。例如要和192.168.1.0子网通信可这样写:
$ route add -net 192.168.1.0 netmask 255.255.255.0 dev ppp1
 
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
[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查看日志
添加完之后,就可以用 ifup vpn 来启动 pptp 虚拟专用网了。
为本地局域网添加路由


这个步骤和虚拟专用网本没有太大关系,但因为需要,就写在这里。还是修改 /etc/network/interfaces 文件,在原有的 eth0 的局域网配置中加入:
up route add -net 10.0.0.0 netmask 255.0.0.0 eth0


这样在不使用 pptp 的时候虽然多了一个路由项,但对系统不会有任何的影响。而在开启 pptp 后,路由也不会出错


通过windows拨号后的路由表:

 



分割线
感谢打赏
江西数库信息技术有限公司
YWSOS.COM 平台代运维解决方案
 评论
 发表评论
姓   名:

Powered by AKCMS