不習慣用FreeBSD,所以花了一點時間研究要怎麼裝orz
感覺比Linux的還麻煩QQ
首先先裝mpd
到/usr/ports/net/mpd/底下輸入
make install clean
這樣就安裝好了~
接下來是要作設定,先修改/usr/local/etc/mpd/mpd.conf
default: load pptp1 pptp1: new -i ng0 pptp1 pptp1 set ipcp ranges 192.168.88.1/32 192.168.88.56/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 你的DNS Server IP
#set ipcp nbns 192.168.88.1 set bundle enable compression set ccp yes mppc set ccp yes mpp-e40 set ccp yes mpp-e128 set ccp yes mpp-stateless
"pptp1:"這種是用來作標籤整理用的,所以取什麼應該都OK
只是load的時候記得改成對應的就好了
另外要注意的是set ipcp dns 的參數記得改成你要的dns server
通常跟你的機器上原本所設的DNS一樣就可以了
再來是修改/usr/local/etc/mpd/mpd.links
pptp1: set link type pptp set pptp self 你的public IP set pptp enable incoming set pptp disable originate
set pptp self這邊是輸入你VPN Server的IP
編輯密碼檔 /usr/local/mpd/mpd.secret
輸入你要登入的帳號和密碼就可以了
例如:
carlcarl carlcarlpassword carlcarl2 carlcarl2password
修改/etc/rc.conf,加上
mpd_enable="YES"
接下來啟動服務
/usr/local/etc/rc.d/mpd start
到這裡為止你用VPN連線應該是能夠連到你的VPN Server了
但是還是沒辦法連外,例如想要用瀏覽器看google網頁應該是不行的
所以還要再另外設定NAT(natd)和firewall(ipfw)
首先先修改/etc/rc.conf,加上
ifconfig_bge0_alias0="inet 192.168.88.1 netmask 255.255.255.0" gateway_enable="YES" firewall_enable="YES" firewall_script="/root/ipfw.rules" natd_enable="YES" natd_interface="bge0"
ifconfig_bge0_alias0的bge0記得改成你Public IP 網卡的名稱
natd_interface 參數指定裝置的bge0也是一樣
剛才rc.conf裡有個firewall_script是指定你預設要讀的firewall rule
所以在/root/底下新增一個ipfw.rules檔案,加上執行的權限(chmod +x ipfw.rules),並加入以下內容
$IPFW add 100 divert natd all from 192.168.88.56 to any via msk0 $IPFW add 101 divert natd all from any to 你的PublicIP via msk0 #$IPFW add 100 divert natd all from any to any via msk0 $IPFW add 105 allow ip from any to any
一到三都是指定NAT的rule
如果不介意速度的話,可以只用第三條和第四條規則
我之前只用第三和第四條,可是連一般網路傳輸的速度也被拉下來
所以後來在前面自己加了兩條比較準確的規則,然後把第三條規則給註解掉這樣
第三條規則的意思是所有進入出去的封包都要經過NAT程序查看
而我的第一條規則負責看NAT出去的,所以只看來源是192.168.88.56的
第二條規則負責處理NAT進來的,這邊是看目標是VPN Server的IP
當然通常不是每個到VPN Server的封包都一定是要NAT進來的,會有一些其餘的封包也會被NAT抓進去作檢查
這邊不知道能不能改善第二條規則就是了,不過也算是比第三條規則好一些了
另外記得後面的msk0要改成你的要的網卡裝置名稱
改完之後重開應該就可以了~
參考網頁
http://blog.weithenn.org/2009/05/freebsdmpd-pptp-vpn.html
http://www.section6.net/wiki/index.php/Setting_up_a_PPTP_VPN_server_in_FreeBSD
http://www.huomo.cn/os/article-148b0.html
http://zqliangzm.blog.163.com/blog/static/25903097200810510231119/
http://www.jb51.net/os/Unix/8786.html
http://www.twbsd.org/cht/articles/vpn.htm