freebsd VPN 搭建(4) 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\"foo\n" 192.168.1.10/24 之后我们还可以添加一句来默认让mpd执行pptp的这组设置,需要修改配置文件的这个 部分: default: load pptp sample文件里面还有配置多用户登陆的情况下的样本,我就不用在写了,配置是一样的 改完这些之后只要运行mpd -b就可以启动了 由于考虑到安全原因我没有书写启动脚本在开机的时候启动mpd,因为对于防火墙来说 在没有用的时候多开一个端口就多一份危险,但是也许很多人需要在开机的时候自动运行 mpd,下面我还是提供一个启动脚本给大家,可以放在/usr/local/etc/rc.d/目录下面 记住要加上执行权限。 #!/bin/sh PREFIX=/usr/local case "$1" in start) if [ -x ${PREFIX}/sbin/mpd -a \ -f ${PREFIX}/etc/mpd/mpd.conf ]; then ${PREFIX}/sbin/mpd -b echo -n ' mpd ' fi ;; stop) killall mpd && echo -n ' mpd ' ;; *) echo "Usage: 'basename $0' {startstop}" >&2 ;; esac exit 0 ; 下面我们要开启防火墙来测试一下了,我们开启防火墙还需要修改一下rc.conf文件 我们需要添加下列配置 firewall_enable="YES" firewall_type="/etc/ipfw.conf" gateway_enable="YES" natd_enable="YES" natd_interface="rl0" natd_flags="-f /etc/natd.conf" 其中两个需要说明,firewall_type=后面我这里是指定了一个文件来做定制配置,ipfw 还有其他几种默认的方式可选,例如open,client,close等等。我们用不到就不说了 无论如何一定要有以下这句,否则你的网关无法正常运转 gateway_enable="YES" 大家注意到我的转发界面设置的是rl0也就是我的网卡,这在使用ppp的时候是没有问题的, 但是如果用mpd作PPPoE拨号时候无论如何不行,必须设置成mpd的创建的ng0设备上。 我开始的想法如果无法把pptp的监听设定在外网界面上的情况下就把端口用natd从外网 转进来,谁知道pptp还需要端口以外的部分进行连接,所以现在natd基本上是没有什么 作用的。