使用FreeBSD配置基于ADSL的VPN网关+防火墙( 三 )


bob "x34"foon" 192.168.1.10/24 之后我们还可以添加一句来默认让mpd执行pptp的这组设置 , 需要修改配置文件的这个
部分: default:
load pptp sample文件里面还有配置多用户登陆的情况下的样本 , 我就不用在写了 , 配置是一样的
改完这些之后只要运行mpd -b就可以启动了
由于考虑到安全原因我没有书写启动脚本在开机的时候启动mpd , 因为对于防火墙来说
在没有用的时候多开一个端口就多一份危险 , 但是也许很多人需要在开机的时候自动运行
mpd , 下面我还是提供一个启动脚本给大家 , 可以放在/usr/local/etc/rc.d/目录下面
记住要加上执行权限 。#!/bin/shPREFIX=/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" {start|stop}" >&2

esac
exit 0

【使用FreeBSD配置基于ADSL的VPN网关+防火墙】下面我们要开启防火墙来测试一下了 , 我们开启防火墙还需要修改一下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基本上是没有什么
作用的 。
下面我就给大家我的/etc/ipfw.conf里面关于如何让pptp连接通过的语句 add 40009 allow tcp from me 1723 to any
add 40010 allow tcp from any to me 1723
add 40011 allow gre from me to any
add 40012 allow gre from any to me 只有添加了这四句才可以使得客户端连接上网关 , 但是如果只有这四个 , 客户端连上了是
什么也干不了的 , 所以还要为客户端设置下面两个规则才行 add 40007 allow ip from any to 192.168.1.30 keep-state setup
add 40008 allow ip from 192.168.1.30 to any keep-state setup 注意我得配置中192.168.1.30是我分配给客户端得内网地址 , 如果你的地址定义跟我
不同你需要修改这个地址
由于安全原因 , 我不能把我完整的配置文件都放出来给大家了 , 关于其他的规则 , 请大家
参考iceblood写的通过FreeBSD共享ADSL上网等文章得防火墙设置或者查看man 8 ipfw
来定制自己的规则 。
最后我还要感谢我的好朋友+同学platinum在配置过程中帮助我测试并提供了很多的资料
给我 , 帮助我最终解决了所有问题 。
当然还有我家宝宝 , 忍受了我两天都没顾上照顾她:)感谢她对我的支持嘻嘻 。

推荐阅读