mpd pptp server 配置实例

发表于:2007-06-09来源:作者:点击数: 标签:
查了一下,似乎关于mpd的文章不多,把自己的一个笔记贴出来,大家多指教 [code:1:5344680706]mpdpptpserver配置实例 from:https//bbs.bsdbase.com/index.php?s=act=STf=1t=125 mpdpptpserver配置实例 AborigenYin阿土 tutu@bsdbase.com 2003.03.12 mpd是Fre

查了一下,似乎关于mpd的文章不多,把自己的一个笔记贴出来,大家多指教

[code:1:5344680706]mpd pptp server 配置实例

from: https://bbs.bsdbase.com/index.php?s=&act=ST&f=1&t=125

mpd pptp server 配置实例

Aborigen Yin(阿土)
tutu@bsdbase.com
2003.03.12

mpd 是FreeBSD下的pptp 综合工具,可以用来做pptp客户端和服务器,通过适当配置作vpn也不错,这里只是一个作pptp server的实例

mpd自己带的文档已经很详细了,如果你需要其他的功能,看看文档吧,E文的。

#内核应该有如下支持
# for mpd pptp server
options         NETGRAPH                #netgraph(4) system
options         NETGRAPH_ASYNC
options         NETGRAPH_BPF
options         NETGRAPH_ECHO
options         NETGRAPH_ETHER
options         NETGRAPH_HOLE
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_LMI
# MPPC compression requires proprietary files (not included)    
#options        NETGRAPH_MPPC_COMPRESSION
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_RFC1490
options         NETGRAPH_SOCKET
options         NETGRAPH_UI
#end
#如果没有系统会自动加载相应的内核模块,所以你可以先继续,不必急着编译内核

#安装、配置mpd pptp server.

cd  /usr/ports/net/mpd
make install
cd /usr/local/etc/mpd

#开放5个拨入;
#vi /usr/local/etc/mpd/mpd.conf
#begin of mpd.conf
#
default:
       load client1
       load client2
       load client3
       load client4
       load client5
       
client1:
       new -i ng0 pptp1 pptp1
       set ipcp ranges 172.16.120.80/32 172.16.120.100/32
       load client_standard
#
client2:
       new -i ng1 pptp2 pptp2
       set ipcp ranges 172.16.120.81/32 172.16.120.101/32
       load client_standard
#
client3:
       new -i ng2 pptp3 pptp3
       set ipcp ranges 172.16.120.82/32 172.16.120.102/32
       load client_standard
#
client4:
       new -i ng3 pptp4 pptp4
       set ipcp ranges 172.16.120.83/32 172.16.120.103/32
       load client_standard
#
client5:
       new -i ng4 pptp5 pptp5
       set ipcp ranges 172.16.120.84/32 172.16.120.104/32
       load client_standard
#

client_standard:
       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 mtu 1460
       set link keep-alive 10 60
       set ipcp yes vjcomp
       set ipcp dns 211.239.166.211
#       set ipcp nbns 172.16.120.4
       set bundle enable compression
       set clearcase/" target="_blank" >ccp yes mppc
       set ccp yes mpp-e40
       set ccp yes mpp-e128
       set ccp yes mpp-stateless
#end of mpd.conf

#vi /usr/local/etc/mpd/mpd.links
#bengin of mpd.links
pptp1:
       set link type pptp
       set pptp self 0.0.0.0
       set pptp enable incoming
       set pptp disable originate
#
pptp2:
       set link type pptp
       set pptp self 0.0.0.0
       set pptp enable incoming
       set pptp disable originate
#
pptp3:
       set link type pptp
       set pptp self 0.0.0.0
       set pptp enable incoming
       set pptp disable originate
#
pptp4:
       set link type pptp
       set pptp self 0.0.0.0
       set pptp enable incoming
       set pptp disable originate
#
pptp5:
       set link type pptp
       set pptp self 0.0.0.0
       set pptp enable incoming
       set pptp disable originate
#
#end of mpd.links

#注意:mpd.conf里面,每一个配置项的link名称(new -i ng0 pptp1 pptp1,这一行定义),
#比如client1(links = pptp1),client2(links = pptp2),在mpd.links中必须有相应的link type定义,
#pptp1:
#        set link type pptp
#pptp2:
#        set link type pptp
#其他类推;

#用户名和密码;
#vi /usr/local/etc/mpd/mpd.secret
#bengin of mpd.secret
#username <---> password <-----> ip address range to user
#这里可以指定某个用户拨号时使用的地址
#user1 fortest   172.16.120.111/24
#也可以不指定
user1 fortest   

#end of mpd.secret

#注意:杀死进程时不要使用-9强行结束,否则可能导致进程不能正常关闭设备,必须重新启动系统才能恢复;

#服务管理脚本;
#vi /usr/local/sbin/mpd.sh

#!/bin/sh
case "$1" in

start)
       if [ -x /usr/local/sbin/mpd ]; then
               /usr/local/sbin/mpd -b -d /usr/local/etc/mpd -f mpd.conf && echo 'Mpd PPtP server started.'
       fi
     ;;

stop)
       killall mpd && echo 'Mpd PPtP server stopped.'
     ;;
restart)
       echo .
       echo Restart Mpd PPtP server ......
       $0 stop                     
       sleep 10
       $0 start                     
     ;;
*)
       echo "$0 start | stop | restart"
     ;;

esac
#end of mpd.sh

chmod 700 /usr/local/sbin/mpd.sh
#设置开机自动执行
ln -s /usr/local/sbin/mpd.sh /usr/local/etc/rc.d/mpd.sh

#配置日志记录
touch /var/log/mpd.log
#vi /etc/syslog.conf
#添加如下,!mpd表示mpd这个进程;
!mpd
*.*                                             /var/log/mpd.log
#vi /etc/newsyslog.conf
/var/log/mpd.log                        644  5     100  *     Z
#重新启动syslogd
killall -HUP syslogd

####################################
mpd.sh restart[/code:1:5344680706]


另外,红袖曾经投诉过论坛吃空格的问题,我发现,可以用code这个功能解决,试试?

原文转自:http://www.ltesting.net

 ihweb 回复于:2003-03-14 21:15:38
[quote:521e2720c6="tutux"]查了一下,似乎关于mpd的文章不多,把自己的一个笔记贴出来,大家多指教


另外,红袖曾经投诉过论坛吃空格的问题,我发现,可以用code这个功能解决,试试?[/quote:521e2720c6]全收下!!星期一搞!!

 红袖添香 回复于:2003-03-14 22:00:35
...

好!照单全收~~~ 谢啦~~~

 红袖添香 回复于:2003-03-14 22:07:52
[quote:ff9ebc7513="tutux"]

另外,红袖曾经投诉过论坛吃空格的问题,我发现,可以用code这个功能解决,试试?[/quote:ff9ebc7513]


仍然有对不齐的问题,一般性的文字还没问题,有拓扑图就乱了。

另外这样子就加不上其它bbcode了,如颜色,粗体字等,

不过,还是比原来的要好多了,应该推广!

 quakelee 回复于:2003-03-14 22:14:51
我每次都用mpd -k命令杀掉,不过好像一下子还停不下来,必须再q一下?

 zz 回复于:2003-03-15 03:52:02
跟俺们那个差不多!阿土,你知道怎么用nat指定ip进行转换吗?看过我以前的那个烂图吗?呵呵!

 shiv_kiev 回复于:2003-03-15 05:24:59
我就是用的-9
我说我那个怎么老有不少用不了的设备呢
可重起了好像也不行

 tutux 回复于:2003-03-15 12:29:02
[quote:f393e9e82e="quakelee"]我每次都用mpd -k命令杀掉,不过好像一下子还停不下来,必须再q一下?[/quote:f393e9e82e]


mpd -k 不好用,我还是喜欢用kill。

[quote="zz"]跟俺们那个差不多!阿土,你知道怎么用nat指定ip进行转换吗?看过我以前的那个烂图吗?呵呵![/quote]


http://chinaunix.net/forum/viewtopic.php?p=238238#238238

 ihweb 回复于:2003-03-15 19:29:10
[quote:2583b74328="tutux"][quote:2583b74328="quakelee"]我每次都用mpd -k命令杀掉,不过好像一下子还停不下来,必须再q一下?[/quote:2583b74328]


mpd -k 不好用,我还是喜欢用kill。

[quote="zz"]跟俺们那个差不多!阿土,你知道怎么用nat指定ip进行转换吗?看过我以前的那个烂图吗?呵呵![/quote:2583b74328]


http://chinaunix.net/forum/viewtopic.php?p=238238#238238[/QUOTE]问几个问题:
我安装完成了。
1、偶并没有调内核!(为什么不用呢?)
2、client1: 
       new -i ng0 pptp1 pptp1 
       set ipcp ranges 172.16.120.80/32 172.16.120.100/32 
       load client_standard 

    这里的172.16.120.100/32 是什么意思?!

3、user1 fortest   172.16.120.0/24 
   这个更奇怪!!我的客户端得到的IP居然就是这个 172.16.120.0 居然有0的IP喔!!

tutux 前辈请说一说好吗?!谢了。

 quakelee 回复于:2003-03-15 19:41:41
[quote:3d4a6e0cf9="ihweb"]始父鑫侍猓?
我安装完成了。
1、偶并没有调内核!(为什么不用呢?)
2、client1: 
       new -i ng0 pptp1 pptp1 
       set ipcp ranges 172.16.120.80/32 172.16.120.100/32 
       load client_standar..........[/quote:3d4a6e0cf9]
掩码32就是只有这个地址
明白不,实际上172.16.120.80/32代表的就是172.16.120.80这个地址

 ihweb 回复于:2003-03-15 19:53:34
[quote:b4e7475b3a="quakelee"][quote:b4e7475b3a="ihweb"]始父鑫侍猓?
我安装完成了。
1、偶并没有调内核!(为什么不用呢?)
2、client1: 
       new -i ng0 pptp1 pptp1 
       set ipcp ranges 172.16.120.80/32 172.16.120.100/32 
       load client_standar..........[/quote:b4e7475b3a]
掩码32就是只有这个地址
明白不,实际上172.16.120.80/32代表的就是172.16.120.80这个地址[/quote:b4e7475b3a]那后面的  172.16.120.100/32   是什么意思?!

 quakelee 回复于:2003-03-15 19:55:21
[quote:b08ab69cf3="ihweb"]呛竺娴?  172.16.120.100/32   是什么意思?![/quote:b08ab69cf3]
你成心跟我抬扛是不是,
那句话的意思就是范围是这两个地址!
没别的了

 ihweb 回复于:2003-03-15 19:56:38
[quote:c41b6e5e03="quakelee"][quote:c41b6e5e03="ihweb"]呛竺娴?  172.16.120.100/32   是什么意思?![/quote:c41b6e5e03]
你成心跟我抬扛是不是,
那句话的意思就是范围是这两个地址!
没别的了[/quote:c41b6e5e03]lee 大哥,不要生气嘛!!偶不懂就问而已!!

那第三条呢?

 quakelee 回复于:2003-03-15 20:05:26
[quote:ec4f6f7b71="ihweb"]ee 大哥,不要生气嘛!!偶不懂就问而已!!

那第三条呢?[/quote:ec4f6f7b71]
你真不懂?掩码你都不懂,讨论过好几次了~
不好意思,我以为你开玩笑呢~~
第三行?load client_standard哪个?
就是说省下的规则都跟client_standard相同
其实他每个client开头限制了每个客户端的允许地址,然后其他规则都一样,所以这样写

 ihweb 回复于:2003-03-15 20:08:26
[quote:4f07301993="quakelee"][quote:4f07301993="ihweb"]ee 大哥,不要生气嘛!!偶不懂就问而已!!

那第三条呢?[/quote:4f07301993]
你真不懂?掩码你都不懂,讨论过好几次了~
不好意思,我以为你开玩笑呢~~
第三行?load client_standard哪个?
就是说省下的规则都跟client_standard相同
其实他每个client开头限制了每个客户端的允许地址,然后其他规则都一样,所以这样写[/quote:4f07301993]还是不太明白,感觉这个MPD比PPTP 要好一点,起码w2k 不用去掉那个加密的东西都能拨通!!我下周还会继续搞的,有什么最新情况会在这里反映的。

 tutux 回复于:2003-03-15 20:14:47
[quote:2258e34293="ihweb"]始父鑫侍猓?
我安装完成了。
1、偶并没有调内核!(为什么不用呢?)
2、client1: 
       new -i ng0 pptp1 pptp1 
       set ipcp ranges 172.16.120.80/32 172.16.120.100/32 
       load client_standar..........[/quote:2258e34293]


我写了,内核里没有就自动加载内核模块;

其他的参数mpd的文档都有说明的,干吗偷懒啊?

其中用户名密码那里可以不用地址限制的,我写错了

 quakelee 回复于:2003-03-15 20:17:48
阿土哥,我这里mpd启动的时候会自动加载netgraph的模块不过,好像加载了也不能用,还是要把内核里的关于netgraph的其他项都加上

 tutux 回复于:2003-03-15 20:21:54
[quote:26817e065c="quakelee"]阿土哥,我这里mpd启动的时候会自动加载netgraph的模块不过,好像加载了也不能用,还是要把内核里的关于netgraph的其他项都加上[/quote:26817e065c]

我没有作很多种情形的测试,我总是把它编译到内核里的。

用户名密码部分更正:

#用户名和密码;
#vi /usr/local/etc/mpd/mpd.secret
#bengin of mpd.secret
#username <---> password <-----> ip address range to user
#这里可以指定某个用户拨号时使用的地址
#原来这里写172.16.120.0/24是不对的;
#user1 fortest   172.16.120.111/32
#也可以不指定
user1 fortest
#end of mpd.secret

 ihweb 回复于:2003-03-15 20:23:16
[quote:6fb8fac49e="tutux"]


我写了,内核里没有就自动加载内核模块;

其他的参数mpd的文档都有说明的,干吗偷懒啊?

其中用户名密码那里可以不用地址限制的,我写错了[/quote:6fb8fac49e]

谢谢。还得好好看看文档。谢谢。

请问mpd 是用什么端口进行通讯的?!就是说我的外网防火墙是要凿开那个洞呢?

 tutux 回复于:2003-03-15 20:31:47
[quote:b6310e1a43="ihweb"]

谢谢。还得好好看看文档。谢谢。

请问mpd 是用什么端口进行通讯的?!就是说我的外网防火墙是要凿开那个洞呢?[/quote:b6310e1a43]

#for pptp dial in server
pass in quick on $EXT_NIC proto tcp from any to any port = 1723 keep state 
pass in quick on $EXT_NIC proto gre from any to any 
pass out quick on $EXT_NIC proto tcp from any port = 1723 to any keep state 
pass out quick on $EXT_NIC proto gre from any to any 
# end of pptp

 ihweb 回复于:2003-03-15 20:40:50
[quote:3858d2d385="tutux"][quote:3858d2d385="ihweb"]

谢谢。还得好好看看文档。谢谢。

请问mpd 是用什么端口进行通讯的?!就是说我的外网防火墙是要凿开那个洞呢?[/quote:3858d2d385]

#for pptp dial in server
pass in quick on $EXT_NIC proto tcp from any to any port = 1723 keep state 
pass in quick on $EXT_NIC proto gre from any to any 
pass out quick on $EXT_NIC proto tcp from any port = 1723 to any keep state 
pass out quick on $EXT_NIC proto gre from any to any 
# end of pptp[/quote:3858d2d385]谢谢。

原来mpd 和pptp 也一样的喔。

 ihweb 回复于:2003-03-15 20:51:50
另外想问问,MPD可以和ADSL共存吗?!

(因为偶的ADSL是用PPP来接入的喔,上次听quakelee 说有了mpd 就不能PPP了,不知是否?)

 quakelee 回复于:2003-03-15 21:19:16
[quote:7c9af2934d="ihweb"]另外想问问,MPD可以和ADSL共存吗?!

(因为偶的ADSL是用PPP来接入的喔,上次听quakelee 说有了mpd 就不能PPP了,不知是否?)[/quote:7c9af2934d]
我是说不能用user ppp了
你可以用mpd拨PPPoe呀,我现在就是用mpd做client端的

 ihweb 回复于:2003-03-17 09:20:02
[quote:1e0cadf701="quakelee"][quote:1e0cadf701="ihweb"]另外想问问,MPD可以和ADSL共存吗?!

(因为偶的ADSL是用PPP来接入的喔,上次听quakelee 说有了mpd 就不能PPP了,不知是否?)[/quote:1e0cadf701]
我是说不能用user ppp了
你可以用mpd拨PPPoe呀,我现在就是用mpd做client端的[/quote:1e0cadf701]Quakelee 说说如何实现mpd 拨 PPPoe 吧!!好让偶彻底换PPP 。写了。

 sunt 回复于:2003-03-17 09:54:02
先收藏

 tutux 回复于:2003-03-17 09:54:30
[quote:d5e2502fbe="ihweb"]uakelee 说说如何实现mpd 拨 PPPoe 吧!!好让偶彻底换PPP 。写了。[/quote:d5e2502fbe]


luser,kick

mpd带有例子.

 MaxBSD 回复于:2003-03-17 10:00:50
[quote:bd9306f046="tutux"]

luser,kick

mpd带有例子.[/quote:bd9306f046]

I concur.   

 eliumao 回复于:2003-03-17 10:33:07
土仔,收到,谢谢
省了很多看资料的事.辛苦!!!
有空试试看!!!

 itboy_zs 回复于:2003-06-03 22:17:06
[quote:13a357b64b="quakelee"]
我是说不能用user ppp了
你可以用mpd拨PPPoe呀,我现在就是用mpd做client端的[/quote:13a357b64b]     
\

我想问一下.MPD和USER PPP 应该是可以共存啊.
我有一台服务器是ADSL的用USER PPP来拨PPPOE现在配置了MPD为PPTP SERVER..
我现在在家里可以用ADSL拨号到INTERNET再用VPN连上公司的LAN.