new -i ng0 pptp pptp set iface disable on-demand set iface enable proxy-arp set iface idle 1800 set bundle enable multilink set link yes acfcomp protocomp set link no pap chap set link enable chap set link keep-alive 10 60 set link mtu 1460 set ipcp yes vjcomp set ipcp ranges 192.168.1.1/32 192.168.1.50/32 set ipcp dns 192.168.1.3 set ipcp nbns 192.168.1.4 # # The five lines below enable Microsoft Point-to-Point encryption # (MPPE) using the ng_mppc(8) netgraph node type. # set bundle enable compression set ccp yes mppc set ccp yes mpp-e40 set ccp yes mpp-e128 set ccp yes mpp-stateless
这个是sample里面的默认配置,下面对于需要修改的部分做出说明实际上我们需要修改只有三行,就是下面三行
set ipcp ranges 192.168.1.1/32 192.168.1.50/32 set ipcp dns 192.168.1.3 set ipcp nbns 192.168.1.4
第一行是设置你的本地VPN网关的地址,如果你是像我一样用NAT来区分内外网的话这个应该是网关的内网地址,后面的是对方拨入以后将会在内网获得的地址,这个地址倒是没有什么特殊要求,就是首先这个地址需要和内网处于一个网段,否则访问不了,第二后面可以设置一个掩码,来控制这个地址可能的范围,如果这个地址被占用了,将会分配一个再限定范围内的地址给客户端,这个范围由"/"后面的掩码来控制。
第二行是指定你内网使用的DNS服务器的地址,注意这个将会在用户连入的时候同内网地址一起被分配给用户第三行和第二行类似,是指定Netbios服务器的地址,如果内网没有WINS服务器这行可以不写。最后我还增加了一行命令,再不增加这个命令的时候mpd看起来也是正常运转的,但是我不太放心还是加了这行加密指令set bundle enable encryption下面我们还需要稍微修改一下mpd.links.sample pptp:
set link type pptp set pptp self 1.2.3.4 set pptp enable incoming set pptp disable originate
上面的部分里面需要修改一下set pptp self 1.2.3.4这一行,这行是指定mpd的pptp服务器绑定在那个地址上面,如果是我们现在使用ppp拨叫ADSL的情况,会遇到网络界面改变,ip地址改变的情况,就不能定义这一句,所以针对我们的情况,我们要去掉这句,其他的我们就不用改了当然我们还要修改一下mpd.secret文件这个文件定义了拨入用户的用户名和密码用户名写在前面,密码写在后面用引号引起来,就像下面这样
fred "fred-pw"
当然还可以指定这个用户必须从那个地址或者网段来拨入,就像下面的例子:
joe "foobar" 192.168.1.1 bob "x34"foon" 192.168.1.10/24
之后我们还可以添加一句来默认让mpd执行pptp的这组设置,需要修改配置文件的这个部分:
default: load pptp
sample文件里面还有配置多用户登陆的情况下的样本,我就不用在写了,配置是一样的改完这些之后只要运行mpd -b就可以启动了由于考虑到安全原因我没有书写启动脚本在开机的时候启动mpd,因为对于防火墙来说在没有用的时候多开一个端口就多一份危险,但是也许很多人需要在开机的时候自动运行mpd,下面我还是提供一个启动脚本给大家,可以放在/usr/local/etc/rc.d/目录下面记住要加上执行权限。
|