Wireguard 虚拟组网
为了可以随时随地阅览到笔记,以及更方便快捷的编辑一堆笔记,我真的煞费苦心了。
最初想法是通过 Samba 服务,把服务器的笔记目录挂载到电脑和 IOS 的文件管理器里面,实现类似本地编辑的效果。
但经过尝试发现 Samba 服务默认端口是运营商给封了,无法使用,无奈只能使用虚拟组网技术,实现一个虚拟的局域网,用来挂载目录。
安装 Wireguard
yum install -y yum-utils epel-release
yum-config-manager --setopt=centosplus.includepkgs=kernel-plus --enablerepo=centosplus --save
sed -e 's/^DEFAULTKERNEL=kernel$/DEFAULTKERNEL=kernel-plus/' -i /etc/sysconfig/kernel
yum install -y kernel-plus wireguard-tools
顺便开启 IPv4 流量转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
生成密钥对
wg genkey | tee server_privatekey | wg pubkey > server_publickey
wg genkey | tee client_privatekey | wg pubkey > client_publickey
配置文件
服务端
[Interface]
PrivateKey = #服务端私钥server_privatekey
Address = 10.0.1.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o 网卡设备名 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o 网卡设备名 -j MASQUERADE
ListenPort = 3001
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = #客户端公钥client_publickey
AllowedIPs = 10.0.1.2/32
客户端
[Interface]
PrivateKey = #客户端私钥client_privatekey
Address = 10.0.1.2/24
DNS = 8.8.8.8
MTU = 1420
[Peer]
PublicKey = #服务端公钥server_publickey
AllowedIPs = 0.0.0.0/0,::0
Endpoint = #[服务端IP:port]或[域名]
PersistentKeepalive = 25
启动服务端
- 状态
wg
- 启动
wg-quick up wg0
- 关闭
wg-quick down wg0
- 开机自启
systemctl enable wg-quick@wg0