wireguard使用


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 地址

请原谅那些奇怪的符号,写出来已经是我最大的勇气 : )


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM