VPN是什么?中文翻譯叫做:虛擬專用網絡。功能是,在公用網絡上建立專用網絡,進行加密通訊。
適用的場合:
1.你的公司網絡在一個局域網,不能外部訪問。有一天你外出度假了,想訪問一下公司的內部網絡,外網是不能直接訪問的。如果公司的網絡有一臺主機設置了VPN,你就可以通過連上這臺VPN主機,來訪問公司內部網絡啦。
2.如果你的主機是在國外,你可以在這臺主機上配置VPN,然后你的電腦連上VPN之后就可以翻墻啦。
3.某臺服務器(如游戲服務器)限制了一些IP連接到它上面,這時你配置VPN,連上VPN之后,就可以繼續訪問那臺服務器咯。
4.etc…
我們以Ubuntu為例,說一下怎樣配置VPN服務器。
1、用root賬戶登陸服務器
2、安裝PPTPD
apt-get install pptpd
3、編輯pptpd.conf文件
vi /etc/pptpd.conf
取消注釋下面內容
?localip 192.168.0.1
?remoteip 192.168.0.234-238,192.168.0.245
這幾句的意思是:當外部計算機通過pptp聯接到vpn后所能拿到的ip地址范圍和服務器的ip地址設置。
4、添加用于登陸的賬戶
`vi /etc/ppp/chap-secrets `
格式如下:
~~~
?#client server secret IP addresses
root ?pptpd ?123456
~~~
從左到右依次是用戶名,自己指定。服務器,填寫pptpd,密碼,自己指定。IP,填*即可。中間用空格分別隔開。
5、設置DNS解析,編輯pptpd-options文件
vi /etc/ppp/pptpd-options
找到ms-dns,取消掉注釋,并修改DNS地址,這里我推薦大家用
Google DNS 8.8.8.8 和 8.8.4.4
更改為如下內容
ms-dns 8.8.8.8
ms-dns 8.8.4.4
6、開啟轉發
vi /etc/sysctl.conf
取消注釋以下內容
net.ipv4.ip_forward=1 ? ? ? ? ? ? ?//這句話意思是:打開內核IP轉發
更新一下配置
sudo sysctl -p
7、安裝iptables并設置
~~~
apt-get install iptables
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
~~~
后面這句話作用是:立刻讓LINUX支持NAT(platinum)
8、重新啟動服務
/etc/init.d/pptpd restart
9、大功告成,VPN服務器就這么配置好了。
接下來,利用IP地址,剛才設置的VPN賬號和密碼,就可以連你的VPN啦。
遇到的問題解決如下:
速度如果太慢的話:
~~~
/sbin/iptables -I FORWARD -p tcp --syn -i ppp+ -j TCPMSS --set-mss 1356
~~~
sudo iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
這條規則上面需要再增加一條,否則搭建好以后,是訪問不出去的。
~~~
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 你的公網IP
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
~~~