自己動手搭建安全翻牆VPN
由於下個月要到天朝,於是未雨綢繆有備無患,準備利用實驗室的server搭建個VPN。
以下僅針對 Ubuntu server。
0. 連接到server
1. 安裝pptpd,這是個VPN伺服器端軟體
sudo apt-get install pptpd
2. 修改文件 /etc/pptpd.conf
sudo vi /etc/pptpd.conf
找到# TAG: localip一行,在後面添加以下2行:
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
3. 修改文件 /etc/ppp/pptpd-options
sudo vi /etc/ppp/pptpd-options
找到 #ms-dns這行,去掉前面的#號,修改成google提供的DNS server或其他DNS:
ms-dns 8.8.8.8
ms-dns 8.8.4.4
4. 修改文件 /etc/ppp/chap-secrets,按一行四列添加賬號、伺服器名稱、密碼和IP限制。伺服器名稱(默認 寫pptpd 即可,務必與 pptpd-options 文件的name一行一樣)。如創建一個名為user,密碼為userpasswd,不限制登錄IP的VPN賬號:
user pptpd userpasswd *
5. 修改文件 /etc/sysctl.conf,去掉這一行 #net.ipv4.ip_forward=1 的#號,開啟ipv4 forward,然後運行命令:
sudo sysctl –p
運行後會顯示 net.ipv4.ip_forward = 1,就表示修改生效了。
6. 使用iptables建立一個NAT
sudo apt-get install iptables
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
上面的24表示子網掩碼,代表24個1.
eth0是網卡名字,可以通過命令 ifconfig 查看 (插播悲劇:server的是eth1,我寫的eth0,搞了很久client都不能通過VPN server連到外網,原因竟然是這個)
為防止重啟伺服器後iptables丟失,先運行
iptables-save > /etc/iptables-rules
然後修改文件 /etc/network/interfaces ,在eth0/eth1.. 下面加入
pre-up iptables-restore < /etc/iptables-rules
7. 現在應該就搞定了。
不放心的話可以重啟 server,或者重啟 pptpd
sudo /etc/init.d/pptpd restart
8. 在client端設置連接VPN進行測試,client是Ubuntu的話請看這裡
8.1 測試是否可以連接到VPN server:
ping server_IP
不能的話,問題應該出在前4步。
8.2 測試是否可以連接到外網:
ping 8.8.8.8 (任何其他外網IP都行)
不能的話,問題應該出在第5-6步,看看是否正確設置了 ipv4 forward
8.3 測試是否可以解析DNS:
nslookup google.com
不能的話,應該是伺服器端的DNS設置有問題。
如果以上都沒有問題,恭喜~~
有問題的話,抬頭是google
參考文獻:
pptpd配置:
https://www.wincold.com/archives/46.html#
https://poptop.sourceforge.net/dox/debian-howto.phtml
連接VPN:
https://www.vpncup.com/config/ubuntu
https://ubuntuforums.org/showthread.php?t=1451996
來源:https://profiles.google.com/u/0/Chineseul/posts/BPbNuQ2aeZx
原文標題:自己動手搭建安全翻牆VPN - 美博園
美博園文章均為「原創 - 首發」,請尊重辛勞撰寫,轉載請以上面完整鏈接註明來源!
軟體著作權歸原作者!個別轉載文,本站會註明為轉載。
這裡是你留言評論的地方