1.編譯與安裝
sudo apt-get install libmnl-dev libelf-dev linux-headers-$(uname -r) build-essential pkg-config
wget https://git.zx2c4.com/WireGuard/snapshot/WireGuard-0.0.20181119.tar.xz
正常的make, make install 就行。
需要注意的:
(1)gcc 好像至少要 4.8 (這里需要可能會升級內核)
(2)要 libmnl.so ,我是centos6.5 環境下
(3)由於涉及編譯驅動模塊,所以需要 內核開發包(需要注意 Makefile 中內核開發包路徑正確)
2.使用
wg genkey | tee privatekey | wg pubkey > publickey
[Interface] PrivateKey = < 這里填寫 Client 上 privatekey 的內容 > Address = 192.168.1.2/24 # Server [Peer] PublicKey = < 這里填寫 Server 上 publickey 的內容 > Endpoint = 1.1.1.1:51820 AllowedIPs = 0.0.0.0/0
(1)服務器(環境 debain9)
成功啟動后,若要實現xx功能,需要開啟IP轉發和數據轉發
IP轉發
echo 1 > /proc/sys/net/ipv4/ip_forward
數據轉發
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT iptables -A INPUT -p udp -m udp --dport <server的端口號> -m conntrack --ctstate NEW -j ACCEPT iptables -A INPUT -s 10.200.200.0/24(隧道網段) -p tcp -m tcp --dport 53 -m conntrack --ctstate NEW -j ACCEPT iptables -A INPUT -s 10.200.200.0/24 -p udp -m udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT iptables -A FORWARD -i wg0 -o wg0 -m conntrack --ctstate NEW -j ACCEPT iptables -t nat -A POSTROUTING -s 10.200.200.0/24 -o eth0 -j MASQUERADE
(2)客戶端 (環境centos6.5)
安裝成功后,無法使用 wg-quick 啟動客戶端,需要使用命令自行啟動
sudo ip link add dev wg0 type w__i@@@r!!e__g¥¥¥u$$$a%%%r**d sudo ip address add dev wg0 10.100.0.101/24 sudo ip link set wg0 up sudo wg setconf wg0 /etc/wi@@@r$$$$e###g@@@ua¥¥¥¥r$$$d/wg0.conf
然后添加路由規則
sudo route add -host <VPS IP> gw <本機網關> sudo route del default sudo route add default dev wg0
關閉使用
sudo ip link del dev wg0
在修改回正常的路由即可
windows下可以這樣修改路由規則
route delete 0.0.0.0 // 刪除所有默認路由 route add 0.0.0.0 mask 0.0.0.0 10.200.200.1 if 16 // 下一跳給10.200.200.1,並由 interface 為 tunsafe 的接口發出, tunsafe會根據規則將目標地址都改成 VPS 地址
請原諒那些奇怪的符號,寫出來已經是我最大的勇氣 : )