<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>WireGuard on duojilu</title><link>https://www.duojilu.com/tags/wireguard/</link><description>Recent content in WireGuard on duojilu</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 26 Dec 2021 19:26:12 +0800</lastBuildDate><atom:link href="https://www.duojilu.com/tags/wireguard/index.xml" rel="self" type="application/rss+xml"/><item><title>Ubuntu 20.04配置WireGuard</title><link>https://www.duojilu.com/archives/157/</link><pubDate>Sun, 26 Dec 2021 19:26:12 +0800</pubDate><guid>https://www.duojilu.com/archives/157/</guid><description>&lt;p&gt;安装包&lt;/p&gt;
&lt;p&gt;$ sudo apt update&lt;br&gt;$ sudo apt upgrade -y&lt;br&gt;$ sudo apt install -y iptables wireguard&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;开启ipv4转发&lt;/p&gt;
&lt;p&gt;$ sudo vim /etc/sysctl.conf&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;取消net.ipv4.ip_forward=1这一行的注释, 再执行下面命令生效&lt;/p&gt;
&lt;p&gt;$ sudo sysctl -p&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;配置WireGuard服务&lt;/p&gt;
&lt;p&gt;生成私钥和公钥&lt;/p&gt;
&lt;p&gt;$ sudo su -&lt;/p&gt;
&lt;h1&gt;wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey&lt;/h1&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1
2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查看并复制私钥内容&lt;/p&gt;
&lt;p&gt;$ cat /etc/wireguard/privatekey&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;创建网络配置文件&lt;/p&gt;
&lt;p&gt;$ sudo vim /etc/wireguard/wg0.conf&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;使用上面的私钥替换配置文件中的相关内容, 同时需要注意替换eth0为实际的网卡设备名称&lt;/p&gt;
&lt;p&gt;[Interface]&lt;br&gt;Address = 10.10.10.1/24&lt;br&gt;SaveConfig = true&lt;br&gt;ListenPort = 51820&lt;br&gt;PrivateKey = 上面复制的私钥内容&lt;br&gt;PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;br&gt;PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1
2
3
4
5
6
7&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;修改配置文件的权限&lt;/p&gt;
&lt;p&gt;$ sudo chmod 600 /etc/wireguard/privatekey&lt;br&gt;$ sudo chmod 600 /etc/wireguard/wg0.conf&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1
2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;启动WireGuard接口&lt;/p&gt;
&lt;p&gt;$ sudo wg-quick up wg0&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;执行后会输出下面内容&lt;/p&gt;
&lt;p&gt;root@localhost:/etc/wireguard# wg-quick up wg0&lt;br&gt;[#] ip link add wg0 type wireguard&lt;br&gt;[#] wg setconf wg0 /dev/fd/63&lt;br&gt;[#] ip -4 address add 10.10.10.1/24 dev wg0&lt;br&gt;[#] ip link set mtu 1420 up dev wg0&lt;br&gt;[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1
2
3
4
5
6&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;配置开机启动服务&lt;/p&gt;
&lt;p&gt;$ sudo wg-quick down wg0 // 先停掉之前手工启动的端口&lt;br&gt;$ sudo systemctl enable wg-quick@wg0.service&lt;br&gt;$ sudo systemctl start wg-quick@wg0.service&lt;br&gt;$ sudo wg show // 查看启动的端口信息&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1
2
3
4&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;客户端配置&lt;/p&gt;
&lt;p&gt;客户端下载(Windows+Android)&lt;br&gt;Android客户端&lt;/p&gt;
&lt;p&gt;在服务器端使用下面命令生成二维码&lt;/p&gt;
&lt;p&gt;$ sudo su&lt;/p&gt;
&lt;h1&gt;apt install -y qrencode&lt;/h1&gt;
&lt;h1&gt;mkdir -p /etc/wireguard/clients&lt;/h1&gt;
&lt;h1&gt;wg genkey | sudo tee /etc/wireguard/clients/mobile.key | wg pubkey | sudo tee /etc/wireguard/clients/mobile.key.pub&lt;/h1&gt;
&lt;h1&gt;cat /etc/wireguard/clients/mobile.key // 复制私钥内容&lt;/h1&gt;
&lt;h1&gt;vim /etc/wireguard/clients/mobile.conf&lt;/h1&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1
2
3
4
5
6&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;[Interface]&lt;br&gt;PrivateKey = 上面复制的私钥内容&lt;br&gt;Address = 10.10.10.2/24&lt;br&gt;DNS = 1.1.1.1, 1.0.0.1&lt;/p&gt;
&lt;p&gt;[Peer]&lt;br&gt;PublicKey = 服务器的公钥(/etc/wireguard/publickey)&lt;br&gt;AllowedIPs = 0.0.0.0/0&lt;br&gt;Endpoint = 服务器的公网IP地址:51820&lt;/p&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1
2
3
4
5
6
7
8
9&lt;/code&gt;&lt;/pre&gt;
&lt;h1&gt;qrencode -t ansiutf8 &amp;lt; /etc/wireguard/clients/mobile.conf&lt;/h1&gt;
&lt;pre class="wp-block-code"&gt;&lt;code&gt;1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;使用Android客户端扫描屏幕二维码即可完成添加&lt;br&gt;管理工具脚本&lt;/p&gt;
&lt;p&gt;这个脚本可以更方便的管理, 省了手工复制粘贴密钥了&lt;br&gt;https://github.com/complexorganizations/wireguard-manager&lt;br&gt;————————————————&lt;br&gt;版权声明：本文为CSDN博主「DexterLien」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。&lt;br&gt;原文链接：https://blog.csdn.net/lpwmm/article/details/113181101&lt;/p&gt;</description></item></channel></rss>