首页 > 网络, 运维 > 不带MPPE的VPN服务器端及客户端的设置笔记

不带MPPE的VPN服务器端及客户端的设置笔记

2007年1月17日

以下内容是在redhat as3上通过的,不带MPPE,所以不用动内核

服务端部分

1.安装新ppp
运行rpm -aq|grep ppp看是不是已经装了ppp,如果是的话卸掉(有依赖关系的也得卸)
rpm -e rp-pppoe-3.5-4.1
rpm -e wvdial-1.53-11
rpm -e ppp-2.4.1-14.1

把ppp-2.4.3.tar.gz解包
./configure;make;make install

2.安装pptpd
把pptpd-1.3.0.tar.gz解包
./configure;make;make install
然后把plugins目录中的pptpd-logwtmp.so拷到/usr/lib/pptpd/下
再把samples目录中的pptpd.conf拷到/etc/下,chap-secrets和options.pptpd拷到/etc/ppp/下

3.设置
vi /etc/pptpd.conf
ppp /usr/local/sbin/pppd            #用上面的编译过程,pppd默认是在这里的
option /etc/ppp/options.pptpd
logwtmp
localip 192.168.1.101-104             #服务器端的IP
remoteip 192.168.1.2-100          #给客户端分配的IP

vi /etc/ppp/options.pptpd
name vpnhost
#下面这段和加密有关,由于我们的前提是不用,所以我全注掉了
# BSD licensed ppp-2.4.2 upstream with MPPE only, kernel module ppp_mppe.o
# {{{
#refuse-pap
#refuse-chap
#refuse-mschap
# Require the peer to authenticate itself using MS-CHAPv2 [Microsoft
# Challenge Handshake Authentication Protocol, Version 2] authentication.
#require-mschap-v2
# Require MPPE 128-bit encryption
# (note that MPPE requires the use of MSCHAP-V2 during authentication)
#require-mppe-128
# }}}
#不过我用了pap认证,下面加上这句
+pap    #也可以写 +chap,这样更安全,相应地,下面所有的pap-secrets文件换成chap-secrets,而文件内容不用变
proxyarp
debug
lock
nobsdcomp
novj
novjccomp
nologfd
#在某个服务器上(内核编了mppe mppc),用如上的配置,连接建立后几乎无法通讯,在上面加上了nodeflate参数后解决
#如果希望允许客户端自行指定自己的IP及服务端的IP,再加上以下内容
ipcp-accept-remote
ipcp-accept-local

vi /etc/ppp/pap-secrets
# client        server  secret          IP add
vpnclient vpnhost        BBB  192.168.1.103
#vpnclient是客户端指定的名字(见下面客户端部分),BBB是密码
#vpnhost就是上面设定的服务端的name,这个也可以写星号
#192.168.1.103是客户端可以使用的IP(是VPN中的内网IP,而不是客户的实际IP),这个也可以是星号

然后运行pptpd就成了,可以看看/var/log/messages的情况是否正常
调试OK以后就可以把上面文件中的那个debug去掉了


客户部分

1.安装ppp
与上面服务端部分相同

2.安装pptp
解包pptp-1.7.0.tar.gz
可能需要编辑一下目录中的Makefile,把里面pppd程序的路径改为实际的值
然后make; make install

3.写配置文件
在/etc/ppp/peers/目录下,建立一个以连接的名称为文件名的文件(例如叫C1),形如下面的:

remotename vpnhost    #用这个这个字段对应上文服务器端设置的name
# name of tunnel, used to name /var/run pid file
linkname WM1
# name of tunnel, passed to ip-up scripts
ipparam WM1
# data stream for pppd to use
pty “pptp 123.123.123.213  –nolaunchpppd”
# domain and username, used to select lines in secrets files
name vpnclient        #这个也要对应服务器端的pap-secrets
usepeerdns
# do not require the server to authenticate to our client
noauth
# adopt defaults from the pptp-linux package
#file /etc/ppp/options.WM1
lock
#由于用了pap,所以这个noauth要注掉
#noauth
refuse-eap
#refuse-chap
#refuse-mschap
nobsdcomp
#nodeflate
#同理,由于不用MPPE,所以上面注掉了一堆

再建立/etc/ppp/pap-secrets,内容与服务器端的是相同的,只是最后一个字段192.168.1.103换成星号

然则现在就可以执行pppd call C1来连接了
不过,为方便起见,建议使用debian带的pon和poff脚本来连接/断开,我已经上传到(http://space.loudly.cn/index.php/2/action_viewspace_itemid_78.html)
如果你想指定IP,就在pppd语句或是pon中相应的语句后面加上参数 客户端IP:主机端IP
例如pppd call C1 192.168.1.109:192.168.1.101

网络, 运维 ,

  1. 目前还没有任何评论.
  1. 目前还没有任何 trackbacks 和 pingbacks.