MPD(multi-link PPP daemon)之前在FreeBSD4的世界時,實作過poptop的pptpd VPN
但在6的世界裡,因為ppp版本的問題和面臨poptop又改版
實作過程可說是處處碰壁…
最後雖然於官方下載了早期的舊版本,自行make、連線成功
但這種做法實在讓人很不放心…
再加上poptop對BSD系列的支援度一直沒有很完整的文件
官方的指南也根本沒提到…(沒辨法…誰叫poptop本來就不是專為FreeBSD設計的)
但在Linux上就有很完善的教學,所以使用Linux的user還是可以試試看
以上種種原因,讓我決定丟掉用了三年的poptop
找到另一個專為FreeBSD設定的pptpdVPN _ MPD
安裝過程不旦無痛,設定檔和管理上也很人性化
簡單易懂…(開始覺得我以前的青春都白費了><)
癈話就到這邊,接下來就是無痛安裝步驟!!
#==================================
Ports 安裝
路徑:/usr/ports/net/mpd
安裝:make install clean
conf 設定
環境:em0:163.17.0.1(WAN) em1:192.168.1.254(LAN)
VPN:192.168.1.33-35(當作vpn分配ip)
路徑:/usr/local/etc/mpd/
檔案:mpd.conf
編輯:
檔案:mpd.link
編輯:
檔案:mpd.secret
編輯:
加入rc.conf
路徑:/etc/rc.conf
編輯加入:
pf 防火牆設定
路徑:/etc/pf.conf
編輯:
啟動mpd
指令:/usr/local/etc/rc.d/mpd start
stop
restart
查看 sockstat |grep mpd
root mpd 889 3 dgram -> /var/run/logpriv
root mpd 889 15 tcp4 163.17.0.1:1723 *:*
有以下兩行就是mpd正常運作了
查看ifconfig
ng0: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng1: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng2: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
可看見已經開啟三個通道,只要有人連入就會看到
以上MPD VPN Server 就架設完成了
client 端的連線設定->先貼公司的<-
晚點再自已轉過來
但在6的世界裡,因為ppp版本的問題和面臨poptop又改版
實作過程可說是處處碰壁…
最後雖然於官方下載了早期的舊版本,自行make、連線成功
但這種做法實在讓人很不放心…
再加上poptop對BSD系列的支援度一直沒有很完整的文件
官方的指南也根本沒提到…(沒辨法…誰叫poptop本來就不是專為FreeBSD設計的)
但在Linux上就有很完善的教學,所以使用Linux的user還是可以試試看
以上種種原因,讓我決定丟掉用了三年的poptop
找到另一個專為FreeBSD設定的pptpdVPN _ MPD
安裝過程不旦無痛,設定檔和管理上也很人性化
簡單易懂…(開始覺得我以前的青春都白費了><)
癈話就到這邊,接下來就是無痛安裝步驟!!
#==================================
Ports 安裝
路徑:/usr/ports/net/mpd
安裝:make install clean
conf 設定
環境:em0:163.17.0.1(WAN) em1:192.168.1.254(LAN)
VPN:192.168.1.33-35(當作vpn分配ip)
路徑:/usr/local/etc/mpd/
檔案:mpd.conf
編輯:
################################################# # # MPD configuration file # ################################################# default: load pptp #我開啟三個通道 pptp: load vpn0 load vpn1 load vpn2 #下方的通道名稱請跟上面對應 #ng是VPN之後會產生的通道介面,可自行更改 #編號是由0開始,因此第二組就是ng1,以此類推 vpn0: new -i ng0 vpn0 vpn0 set ipcp ranges 192.168.1.254/32 192.168.1.33/32 load pptp_def vpn1: new -i ng1 vpn1 vpn1 set ipcp ranges 192.168.1.254/32 192.168.1.34/32 load pptp_def vpn2: new -i ng2 vpn2 vpn2 set ipcp ranges 192.168.1.254/32 192.168.1.35/32 load pptp_def pptp_def: set iface disable on-demand set iface enable proxy-arp set iface idle 0 set iface enable tcpmssfix set bundle enable multilink set link yes acfcomp protocomp set link no pap chap set link enable chap-msv2 #連線類型 set link keep-alive 10 60 set link mtu 1460 set ipcp yes vjcomp set ipcp dns 163.17.1.1 #設定dns set bundle enable compression set ccp yes mppc set ccp yes mpp-e40 set ccp yes mpp-e128 #加密方式 set ccp yes mpp-stateless |
檔案:mpd.link
編輯:
######################################## # # MPD links file # ######################################## vpn0: set link type pptp set pptp self 163.17.0.1 set pptp enable incoming set pptp disable originate vpn1: set link type pptp set pptp self 163.17.0.1 set pptp enable incoming set pptp disable originate vpn2: set link type pptp set pptp self 163.17.0.1 set pptp enable incoming set pptp disable originate |
檔案:mpd.secret
編輯:
#帳號 密碼 指定ip zgod "vpn7788978" user "fuck978978" |
加入rc.conf
路徑:/etc/rc.conf
編輯加入:
#-----------PPTPd------------------ mpd_enable="YES" mpd_flags="-b" #------------以下是原本的pf 設定---------- #---------- Gateway ------------ gateway_enable="YES" #--------- PacketFilter----------- pf_enable="YES" pf_rules="/etc/pf.conf" pflog_enable="YES" pflog_logfile="/var/log/pflog" |
pf 防火牆設定
路徑:/etc/pf.conf
編輯:
#開啟1723 port 和 47協定(不是47port哦) #定義vpn 介面的開通 ext_if = "em0" # WAL int_if = "em1" # LAN vpn_if = "ng" # VPN lan_add = "192.168.9.0/24" #---------TCP 1723 pass------ pass quick on $ext_if proto tcp from any to $ext_if \ port 1723 flags S/SA keep state #---------Porot 47 (pptp)-------- pass in on $ext_if proto 47 from any to $ext_if keep state #--------VPN LAN OK------------ pass on $vpn_if from $lan_add to $lan_add keep state pass out on $ext_if proto 47 all keep state |
pf 詳細設定,請參考[FreeBSD6][手冊]防火牆_PF那篇! |
啟動mpd
指令:/usr/local/etc/rc.d/mpd start
stop
restart
查看 sockstat |grep mpd
root mpd 889 3 dgram -> /var/run/logpriv
root mpd 889 15 tcp4 163.17.0.1:1723 *:*
有以下兩行就是mpd正常運作了
查看ifconfig
ng0: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng1: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
ng2: flags=8890<POINTOPOINT,NOARP,SIMPLEX,MULTICAST> mtu 1500
可看見已經開啟三個通道,只要有人連入就會看到
以上MPD VPN Server 就架設完成了
client 端的連線設定->先貼公司的<-
晚點再自已轉過來