用 WireGuard 科學上網
2018年10月31日 10:48 PDF版
WireGuard 的立意是創建「 快速、現代、安全的 VPN 隧道 」。
通過 WireGuard 組建起來的 VPN ,藉助其中一台可以科學上網的電腦,能使 VPN 內所有其它電腦都具有科學上網的能力。
本文簡要介紹 WireGuard 的組網要點及步驟,其它四篇介紹相關的操作方法。
- 用 Linode 主機搭建 WireGuard 網路 ,實例介紹 Linode 伺服器與本地 Ubuntu 電腦組建 WireGuard 網路的步驟;
- 用 wg-quick 調用 wg0.conf 管理 WireGuard ,如何配置 wg0.conf 的各項參數;
- 用 wg 在命令行運行 WireGuard ,通過命令行使用 WireGuard 的方法;
- 與配置 WireGuard 有關的 Ubuntu 命令,介紹一些 Ubuntu 命令。
1. WireGuard 組網的三個主要構成
- 虛擬專用網,在兩台或更多電腦上,分別安裝 WireGuard ,配置相應的網路參數,就可以把它們組建成一個虛擬專用網,互相之間能夠用內網地址 Ping 通;
- 公鑰/私鑰,為每台電腦生成一組公鑰與私鑰,併合成到虛擬網卡中,使虛擬內網中兩台電腦間的通信具有私密性;
- 路由轉發,在原先就能夠科學上網的電腦啟動 ip 轉發功能,並設置相應的路由規則,使虛擬內網的其它電腦能夠通過這台電腦全部實現科學上網。
2. WireGuard 組網的主要步驟
組建一個 WireGuard 網路一般需要以下步驟。
- 在兩台電腦安裝 WireGuard ,安裝過程簡單,但需要注意查看是否有出錯提示並做相應的處理。
- 生成兩台電腦各自的公鑰與私鑰。並準備好伺服器的 IP 地址 、埠號、內網地址、公鑰與私鑰備用;準備好本地機的公鑰與私鑰備用。
- 準備好以上參數就可以進行組網及參數配置,WireGuard 提供了命令行與配置文件兩種不同的實現方式,這兩種方式實現的功能相同,只是具體操作方法上有些區別。推薦先用命令行方式做測試,測試通過後再使用配置文件的方式。
- 配置文件的方式,就是通過編輯配置文件( 比如 wg0.conf )設置各種參數,然後通過
WireGuard
自帶的wg-quick
命令來啟動或關閉WireGuard
網路。好處是操作方便,不足就是調試階段不夠方便(其實也不難)。詳細介紹見:” 2.用 wg-quick 調用 wg0.conf 管理 WireGuard ” 。 - 命令行方式,就是把組網命令一行一行輸入,完成組網。主要通過
WireGuard
自帶的wg
命令與系統自有的ip
及iptables
命令實現。命令行方式靈活,但如果重複操作或繁瑣一些,詳細介紹見:” 3.用 wg 在命令行運行 WireGuard ” 。
- 配置文件的方式,就是通過編輯配置文件( 比如 wg0.conf )設置各種參數,然後通過
- 配置與測試又可以分兩步進行,第一步先把內網調試通過,然後再進行第二部數據轉發的配置,當基本的組網完成之後,兩台電腦的內網地址互相之間應該都能 Ping 通。
- 然後就可以進行數據轉發的配置,需要在伺服器端做兩項配置:
- 以配置文件方式或命令行方式設置伺服器的路由規則,把數據流轉到虛擬網卡。
- 在伺服器端啟動 IP 轉發( 使
net.ipv4.ip_forward=1
);
這時應該能從本地機 Ping 通 Google.com ,並能通過瀏覽器訪問 Google.com 。
一個實例見:1.用 Linode 主機搭建 WireGuard 網路 。
3. 參考鏈接
- WireGuard 官網:https://www.wireguard.com/
- 官方 Android 版:https://play.google.com/store/apps/details?id=com.wireguard.android
- wg-quick 命令官方介紹:https://git.zx2c4.com/WireGuard/about/src/tools/man/wg-quick.8
- wg 命令官方介紹:https://git.zx2c4.com/WireGuard/about/src/tools/man/wg.8
- Windows 系統運行的 WireGuard 客戶端(同時提供免費可用伺服器):https://tunsafe.com/
- 內置 WireGuard 的虛擬主機:https://www.azirevpn.com
- 內置 WireGuard 的虛擬主機:https://mullvad.net/zh-hant/
- WireGuard 配置和上網流量優化: https://blog.mozcp.com/wireguard-usage/
- WireGuard 介紹及客戶端使用教程:https://medium.com/@xtarin/wireguard
- Linode 提供的 WireGuard 安裝教程:https://www.linode.com/docs/networking/vpn/set-up-wireguard-vpn-on-ubuntu/
- 搭建 WireGuard VPN Server:https://marskid.net/2018/09/20/wireguard-vpn-set-up/
喜歡、支持,請轉發分享↓Follow Us 責任編輯:林玲