wireguard安装与配置
wireguard安装与配置
1、wg安装
sudo apt-get install wireguard
2、服务端⽣成密钥对
# 开启ipv4流量转发
echo "net.ipv4.ip_forward = 1" >> /f
sysctl -p
# 创建并进⼊WireGuard⽂件夹
mkdir -p /etc/wireguard && chmod 0777 /etc/wireguard
cd /etc/wireguard
umask 077
# ⽣成服务器和客户端密钥对
wg genkey | tee server_privatekey | wg pubkey > server_publickey
wg genkey | tee client_privatekey | wg pubkey > client_publickey
3、配置⽂件⽣成
>>>>>#⽣成服务端的配置⽂件 /etc/f>>>>>#
peerecho "
[Interface]
PrivateKey = $(cat server_privatekey) # 填写本机的privatekey 内容
Address = 10.0.8.1/24
PostUp  = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 50814 # 注意该端⼝是UDP端⼝
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey =  $(cat client_publickey)  # 填写对端的publickey 内容
AllowedIPs = 10.0.8.10/24" > f
# 设置开机⾃启
systemctl enable wg-quick@wg0
# 重要!如果名字不是eth0, 以下PostUp和PostDown处⾥⾯的eth0替换成⾃⼰服务器显⽰的名字
# ListenPort为端⼝号,可以⾃⼰设置想使⽤的数字
# 以下内容⼀次性粘贴执⾏,不要分⾏执⾏
>>>>>#⽣成客户端的配置⽂件 /etc/f>>>>>#
echo "
[Interface]
PrivateKey = $(cat client_privatekey)  # 填写本机的privatekey 内容
Address = 10.0.8.10/24
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = $(cat server_publickey)  # 填写对端的publickey 内容
Endpoint = server公⽹的IP:50814
AllowedIPs = 0.0.0.0/0, ::0/0
PersistentKeepalive = 25" > f
# 注:⽂件在服务端配好了可以下载下来传到客户端
4、启动WireGuard
>>>>####服务端>>>####
# 启动WireGuard
wg-quick up wg0
# 停⽌WireGuard
wg-quick down wg0
# 查看WireGuard运⾏状态
[root@localhost~]# wg
interface: wg0
public key: b8fztAWxqS/SKQ619YTM09siKESbzoUiBeautnFsaGU=
private key: (hidden)
listening port: 50814
peer: HF7vS/rpk2tEQ1WxWnh78Rp8lSuwEMLISqQsX6MFlwk=
endpoint: 221.225.202.158:11562
allowed ips: 10.0.8.0/24
latest handshake: 34 seconds ago
transfer: 16.26 KiB received, 12.87 KiB sent
>>>>####客户端>>>####
# 启动WireGuard
wg-quick up client
# 停⽌WireGuard
wg-quick down client
# 查看WireGuard运⾏状态
[root@localhost~]# wg
[root@v2 ~]# wg
interface: client
public key: HF7vS/rpk2tEQ1WxWnh78Rp8lSuwEMLISqQsX6MFlwk=
private key: (hidden)
listening port: 59633
fwmark: 0xca6c
peer: b8fztAWxqS/SKQ619YTM09siKESbzoUiBeautnFsaGU=
endpoint: server公⽹的IP:50814
allowed ips: 0.0.0.0/0, ::/0
latest handshake: 17 seconds ago
transfer: 9.96 KiB received, 19.09 KiB sent
persistent keepalive: every 25 seconds
5、2台机器测试10⽹段的互ping
ping 10.0.8.1
6、客户端路由配置
[root@v2 ~]# ip route add 103.52.188.136 via 192.168.1.2
[root@v2 ~]# ip route add 0.0.0.0/0 via 10.0.8.1  # 所有的流量都⾛这个ip
7、server端
apt -y install tcpdump
# 监视指定⽹络接⼝的数据包
tcpdump -i wg0 # 我们的转发都是经过这个私⽹来进⾏的可以客户ping的同时,服务端进⾏抓包查看
8、windows连接
9、安装qrencode⼆维码分享
apt-get install qrencode
⽣成⼆维码
qrencode -t ansiutf8 < f
其他:
命令⾏界⾯
可以通过添加⼀个新接⼝ip-link(8),它应该⾃动处理模块加载:
# ip link add dev wg0 type wireguard
(⾮ Linux ⽤户将改为编写wireguard-go wg0.)
⼀个 IP 地址和对等体可以被分配ifconfig(8)或ip-address(8)
# ip address add dev wg0 192.168.2.1/24
或者,如果总共只有两个对等点,则可能更需要这样的操作:
# ip address add dev wg0 192.168.2.1 peer 192.168.2.2
该接⼝可以使⽤包含的实⽤程序配置密钥和对等端点:
# wg setconf f
或者
# wg set wg0 listen-port 51820private-key /path/to/private-key allowed-ips 192.168.88.0/24 endpoint 209.202.254.14:8172最后,可以使⽤ifconfig(8)或激活接⼝ip-link(8):
# ip link set up dev wg0
还有wg show和wg showconf命令,⽤于查看当前配置。调⽤wg不带参数默认为呼吁wg show所有WireGuard接⼝。
密钥⽣成
WireGuard 需要 base64 编码的公钥和私钥。这些可以使⽤该实⽤程序⽣成:
$ umask 077
$ wg genkey > privatekey
这将privatekey在包含新私钥的 stdout 上创建。
然后,您可以从您的私钥派⽣您的公钥:
$ wg pubkey < privatekey > publickey
这privatekey将从标准输⼊读取并将相应的公钥写⼊publickey标准输出。
当然,您可以⼀次完成所有这些:
$ wg genkey | tee privatekey | wg pubkey > publickey

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论