全幅廣告

2011年11月17日 星期四

如何在Ubuntu中建立VPN server

1、sudo apt-get install pptpd -y 安裝pptpd 
--------------------------------- 
2、修改/etc/pptpd.conf 
option /etc/ppp/pptpd-options
#logwtmp
localip 192.168.100.254 這裡設定你的伺服務IP
remoteip 192.168.100.130-199 這裡設定你要分配給VPN client端的IP
--------------------------------------------------------------------
3、修改 /etc/ppp/chap-secrets
yourname pptpd yourpassword * 它的規則是使用者、pptpd(服務名)、密碼、允許連線網址(設定*表示不論從哪邊連過來都可以進入)
---------------------------------- 
4、修改 /etc/ppp/pptpd-options 
ms-dns xx.xx.xx.xx DNS伺服器位址
--------------------------------------------------------------------
5、重啟pptpd服務
$sudo /etc/init.d/pptpd stop
$sudo /etc/init.d/pptpd start
---------------------------------- 
6、設定防火牆,其中xx.xx.xx.xx 就是伺服器網址,eth0 就是網卡。(以下xx.xx.xx.xx是伺服器IP)請依自己狀況修改。
$sudo iptables -A INPUT -p tcp -m state --state NEW --dport 1723 -j ACCEPT
$sudo iptables -A INPUT -p gre -j ACCEPT
$sudo iptables -A OUTPUT -p gre -j ACCEPT
$sudo iptables -A INPUT -p tcp --sport 1723 -s xx.xx.xx.xx -j ACCEPT
$sudo iptables -A OUTPUT -p tcp --dport 1723 -d xx.xx.xx.xx -j ACCEPT
如果有nat的話,還要再多一條規則:(網址請依自己狀況修改)
$sudo iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o eth0 -j MASQUERADE
----------------------------------
iptables 的規則開機會消失,所以要把它存起來,
iptables-save > /etc/iptables-rules
修改/etc/network/interfaces
在eth0下面加入(沒有eth0請自己加)下面的指令:
pre-up iptables-restore < /etc/iptables-rules
醬子重開機也會自動套用上面第6點新增的規則了。
-----------------------------------
參考網站:http://blog.slps.tp.edu.tw/00086/?p=145(但這個網站的iptables字符都搞混了,全形半形混雜一起,如果照著copy一定會發生錯誤)
參考網站:http://dkyu.com/2009/10/22/ubuntu-9-%E5%AE%89%E8%A3%85-pptp-vpn-%E6%9C%8D%E5%8A%A1/

沒有留言:

張貼留言