CentOS 5/6 快速安裝 VPN Server (PPTP) 「VPN」是一種常用於中、大型企業或團體與團體間的私人網路的通訊方法。藉由 VPN 所建立的加密通道,可以讓你從外部存取公司內部的資源,或透過連線到 VPN 的 Server 當跳板,去存取被限制的外部資源 (俗稱「翻牆」)。 以下把握幾個重點即可快速完成 Linux 的 PPTP 的 VPN Server 架設:
1. 判斷 ppp 是否可用: $ cat /dev/pppcat: /dev/ppp: No such device or address如果出現跟上面一樣的訊息「No such device or address」,那不用擔心,這表示 ppp 是可用的,可以正常架設 pptp。 如果出現的是「Permission denied」,表示 ppp 是關閉的,下面的步驟就可以不用再看了。 2. 安裝 ppp 與 iptables $ yum -y install ppp iptables$ cp -rpf /etc/sysconfig/iptables /etc/sysconfig/iptables.pptpsave$ cd /usr/src3. 請依照你的系統環境下載適合的 pptp 套件: # for CentOS 6.x 32bit$ wget http://poptop.sourceforge.net/yum/stable/rhel6/i386/pptpd-1.3.4-2.el6.i686.rpm# for CentOS 6.x x64$ wget http://poptop.sourceforge.net/yum/stable/rhel6/x86_64/pptpd-1.3.4-2.el6.x86_64.rpm# for CentOS 5.x 32bit$ wget http://poptop.sourceforge.net/yum/stable/rhel5/i386/pptpd-1.3.4-2.rhel5.i386.rpm# for CentOS 6.x x64$ wget http://poptop.sourceforge.net/yum/stable/rhel5/x86_64/pptpd-1.3.4-2.rhel5.x86_64.rpm上面這些載點如果失效,有可能是更新版本了,請自行前往 poptop 的網站下載,或是備用載點。 4. 安裝上一個步驟所下載的 pptp 套件: $ rpm -ivh pptpd-1.3.4-2.el6.i686.rpm5. 編輯 /etc/sysctl.conf,找到: net.ipv4.ip_forward = 0將後面的 0 改成 1 6. 下面的指令全部給它下去: sysctl -pecho "localip 192.168.240.1" >> /etc/pptpd.confecho "remoteip 192.168.240.101-200" >> /etc/pptpd.confecho "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpdecho "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpdiptables --flush POSTROUTING --table natiptables --flush FORWARDiptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPTiptables -A INPUT -p gre -j ACCEPTiptables -t nat -A POSTROUTING -s 192.168.240.0/24 -o eth0 -j MASQUERADEservice iptables saveservice pptpd restartservice iptables restartchkconfig pptpd onchkconfig iptables on這樣就大功告成了!! 上面這些指令會創造一個 192.168.240.* 的網段給連上來的 vpn 用戶使用,並透過 Server 上的 eth0 轉送對外上網的封包 (你可以自行將 192.168.240 與 eth0 改成符合你需求的設定)。 加入 VPN 帳號 接著我們要加入 VPN 的連線帳號。 編輯 /etc/ppp/chap-secrets 以加入 VPN 帳號,一個帳號一行,格式為: 帳號名稱 pptpd 密碼 *例如,我要新增一個帳號為「vpn」,密碼為「test123」,則只要在 /etc/ppp/chap-secrets加入一行: vpn pptpd test123 *加入之後不用重新啟動 pptpd,你就可在 Client 端以 pptp 協定用 VPN 連線至這台 Server 了。 連線測試 連線成功之後,你可以連到 ip.calm9.com 查看你是否用 VPN Server 的 IP 在上網。 下面這張圖的連線資訊是我用 linode 的試用帳號所建立的 VPS,位置在「日本」: iptables 規則說明 在上面的指令中,最重要的是這三條 iptables 規則: iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPTiptables -A INPUT -p gre -j ACCEPTiptables -t nat -A POSTROUTING -s 192.168.240.0/24 -o eth0 -j MASQUERADE說明 pptp 是以 GRE (Generic Routing Encapsulation) 封包透過 1723 Port 進行傳輸,並且設定 VPN 的網段是由哪個網路介面轉送對外的封包。 錯誤處理807 錯誤 在撥接至 VPN 時,如果出現 807 錯誤 (在您的電腦與 VPN 伺服器之間的網路連線已經中斷),或是其它在確認帳號、密碼之前出現的錯誤,如果確定不是自己電腦的問題,你可以編輯 Server 的 /etc/sysconfig/iptables,查看這兩條規則是否有正確出現在檔案裡面: -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT-A INPUT -p gre -j ACCEPT並且,這兩條規則的位置不能在任何「-A INPUT -j REJECT ...」的規則下面。若有這種情形,請把它移到「-A INPUT -J REJECT ...」的上方。 儲存之後,再重新啟動 iptables: service iptables restart734 錯誤在撥接至 VPN 時,如果出現 734 錯誤 (已經終止 PPP 連結控制通訊協定),請修改 Windows 的 VPN 安全性設定:
|
[站务|意见·建议·管理] 软院网搭建的VPN服务器
admin
· 发布于 2017-06-03 13:42
· 1684 次阅读
转载文章时务必注明原作者及原始链接,并注明「发表于 软院网 RuanYuan.Net 」,并不得对作品进行修改。
Blake 发表于 2017-6-3 19:49 在网上搜的 估计是台湾那边人分享的 今天下午测试搭建 但是连接不成功 另外现在iOS不支持pptp协议的VPN了 转向了l2tp 还在尝试 到时候发给你们试用 |