wg-easy介绍

wg-easy是一个基于docker的wireguard+wireguard管理UI的一个应用程序,本教程基于ubuntu22.04下搭建,

有很长一段时间我都用的路由器(openwrt)自带的wireguard,但是配置和维护起来太过于麻烦,感觉唯一好处就是轻量化

ubuntu的网络配置和docker的安装参考教程

安装wg-easy

sudo docker pull ghcr.io/wg-easy/wg-easy

启动wg-easy

sudo docker run -d \
 --name=wg-easy \
 -e WG_HOST= {域名或者ip地址} \
 -e WG_PORT={服务器端口号,生成配置时调用} \
 -e PASSWORD={面板登录密码} \
 -v ~/wg-easy/:/etc/wireguard \ 
 #账户配置信息
 -v ~/wg-easy/config.js:/app/config.js \
 # 主要配置信息,注意第一次启动不要用这个,需要先从容器里面拷出来
 # 拷贝命令 sudo docker cp wg-easy:/app/config.js ~/wg-easy/config.js 
 -p 51820:51820/udp \
 -p 51821:51821/tcp \
 --cap-add=NET_ADMIN \
 --cap-add=SYS_MODULE \
 --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
 --sysctl="net.ipv4.ip_forward=1" \
 --restart unless-stopped \
ghcr.io/wg-easy/wg-easy

进阶教程

ubuntu路由配置

192.168.200.0/24 wireguard专网
192.168.10.0/24 内网
172.17.0.2 wg-easy容器ip

sudo route add -net 192.168.200.0 netmask 255.255.255.0 gw 172.17.0.2

wg-easy配置路由转发

sudo docker exec -it wg-easy bash
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i eth0 -o wg0 -j ACCEPT
iptables -A FORWARD -i wg0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o wg0 -j MASQUERADE

此时进入ubuntu测试能否ping通其它wg客户端ip,如果配置成功是可以访问的

ubuntu配置路由转发

echo "1" > /proc/sys/net/ipv4/ip_forward
sudo iptables -A FORWARD -i ens18 -o docker0 -j ACCEPT
sudo iptables -A FORWARD -i docker0 -o ens18 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o docker0 -j MASQUERADE

此时在内网电脑上添加如下命令,或者在路由器上面添加一条静态路由也可以

route add 192.168.200.0 mask 255.255.255.0 192.168.10.2

然后进行ping测试能否ping通其它wg客户端ip,如果配置成功是可以访问的

wg-easy永久路由转发配置

将上面三条iptables命令写入config.js即可

ubuntu永久路由和转发配置

转发配置永久保存命令

sudo apt install iptables-persistent
sudo iptables-save -f /etc/iptables/rules.v4

路由配置永久保存命令

sudo vim /etc/netplan/00-installer-config.yaml

配置文件参考

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens18:
      dhcp4: true
    docker0:
      routes:
      - to: 192.168.200.0/24
        via: 172.17.0.2
  version: 2
netplan apply

重启wg-easy测试

最后修改:2024 年 03 月 23 日
如果觉得我的文章对你有用,请随意赞赏