虽然wireguard因为其流量特征明显,并不能用于“七木棍”,但是加一个声明总比不加好:

请合理利用wireguard技术,遵守当地法律法规。使用wireguard造成的影响作者概不负责!

关于什么是“七木棍”

本文假设你已经有一个可以正常被访问的网址(下面会用http://wg-server.com代指这个网址)或者固定的公网IPV4/IPV6地址(如果是这种情况,在后文中就用这个地址代替http://wg-server.com就行)。不固定的公网IPV4/IPV6我个人没试过,不保证可用性。

本文假设http://wg-server.com连接到的设备(下面简称server)具有七木棍,否则你在访问docker时可能会非常慢,且无法下载docker。

本文假设server是ubuntu系统。你可以同理得到其他Linux系统的配置方法。

本文不讨论具体的wireguard原理,但是我会尽可能详细地介绍配置的作用。


wireguard分成两部分:server和client,参考下图:

本文将分成server端和client端分别介绍搭建方法。由于后续你会看到的原因,client端的配置将会非常简单,本文主要关注在server端。


server端配置

下载、配置docker

首先,你需要在server上下载、配置docker。下面内容都来自 Install Docker Engine on Ubuntu (你可能需要魔法来访问),但是为了讲解方便,我会做一个转载。建议你对照阅读。

先删除冲突的包(命令行执行。本文剩下代码块的内容都是在命令行执行):

for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done

因为后续需要使用apt下载http://docker.com的内容,而http://docker.com需要魔法,所以先为apt配置proxy:

# after setting up http_proxy https_proxy
echo "Acquire::http::Proxy \"$http_proxy\";" | sudo tee -a /etc/apt/apt.conf
echo "Acquire::https::Proxy \"$https_proxy\";" | sudo tee -a /etc/apt/apt.conf

之后加docker的gpg key、并让apt update做索引。注意,如果你不加apt的proxy,这一步很可能会慢到不可接受。

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

然后就是下载了。同样,如果你没有配置apt的proxy,这一步很可能会慢到不可接收。

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

下载结束后,跑一个hello-world看一下是否异常:

sudo docker run hello-world

另外,如果你不希望通过sudo跑docker,可以参考 Linux post-installation steps for Docker Engine 进行设置。之后我们的docker命令默认不带sudo,如果你不做配置的话请自行加上sudo。

 

此外,docker拉取镜像也需要proxy,它的配置方法是:将下面的内容粘贴进~/.docker/config.json。

{
	"proxies": {
	    "default": {
			"httpProxy": "$http_proxy",
			"httpsProxy": "$https_proxy",
			"noProxy": "127.0.0.0/8, .local, localhost"
		}
	}
}

记得将里面的$http_proxy和$https_proxy换成你的proxy配置。

 

拉取wg-easy

GitHub – wg-easy/wg-easy: The easiest way to run WireGuard VPN + Web-based Admin UI. wg-easy是一个非常easy的跑WireGuard server的docker镜像。

你可以先pull一下镜像,以检查网络问题。

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

之后就可以跑docker镜像了(你也可以看 https://github.com/wg-easy/wg-easy/blob/master/README.md 来自行做配置):

docker run -d \
        --name=studio-wg \
        -e LANG=en \
        -e WG_HOST=wg-server.com \
        -e PASSWORD=12345 \
        -e WEBUI_HOST="0.0.0.0" \
        -e WG_PERSISTENT_KEEPALIVE="25" \
        -v ${HOME}/.wg-easy:/etc/wireguard \
        -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 always \
        -e WG_DEFAULT_DNS="114.114.114.114" \
        -e WG_DEFAULT_ADDRESS="10.8.0.x" \
        -e WG_ALLOWED_IPS="0.0.0.0/0, ::/0" \
        ghcr.io/wg-easy/wg-easy

一行行解释:

  • –name==studio-wg:你的docker容器名字,和wireguard服务本身无关。
  • –e LANG=en:你的wireguard跑起来后,控制面板的语言。我这里选了英文,你可以选中文。
  • -e WG_HOST=http://wg-server.com:你的wireguard server的hostname是http://wg-server.com
  • -e PASSWORD=12345:你的wireguard跑起来后的控制面板的密码是12345,建议按照自己的喜好修改。
  • -e WEBUI_HOST=”0.0.0.0″:这个是必须的,否则你不能访问http://wg-server.com的控制面板。
  • -e WG_PERSISTENT_KEEPALIVE=”25″:25秒时间让wireguard连接alive。你可以自行查资料,这里不详细解释了。
  • -v ${HOME}/.wg-easy:/etc/wireguard:将本机的${HOME}/.wg-easy挂载到/etc/wireguard。后者是wireguard的配置文件夹,前者是你server上的一个用于保存wireguard配置的文件夹。
  • -p 51820:51820/udp、-p 51821:51821/tcp:端口映射。其中51820会被用于数据传输,51821用于wireguard的控制面板。
  • –cap-add的两个、–sysctl的两个:目前不用了解。
  • –restart always:容器会在server重启、docker挂掉等情况发生后自动重启。
  • -e WG_DEFAULT_DNS=”114.114.114.114″:默认使用DNS设置为114.114.114.114。注意,这个如果不配置会使用”1.1.1.1″——这个是CloudFlare的DNS,目前连接并不稳定。不了解的话114.114.114.114就行。
  • -e WG_DEFAULT_ADDRESS=”10.8.0.x”:所有的设备将使用10.8.0.x网段。不了解的话不需要修改。
  • -e WG_ALLOWED_IPS=”0.0.0.0/0, ::/0″:设置后续产生的client端的AllowedIps字段内容为”0.0.0.0/0, ::/0″。这个设置会让client所有的流量走server。如果需要“仅控制内网流量走server”,可以改成”10.8.0.0/24″。
  • http://ghcr.io/wg-easy/wg-easy:使用wg-easy镜像。

注意,如果你的server来自云服务商,请检查准入策略,将51820端口开放UDP连接、51821端口开放TCP连接。

执行完之后,你的服务应该就跑起来了。此时你可以通过http://wg-server.com:51821来访问wireguard的控制面板。

 

client端配置

http://wg-server.com:51821上,其实提供了方便的client配置增加、下载手段:

这里的”+ New”就是增加client的方法——你只需要点击后输入client的名字就行,这真是太简单了!。

下面的二维码图案、下载图案则是用于client的配置分发。点击二维码图案,之后在客户端扫码,就可以下载配置。点击下载图案,就可以得到你的配置了。

iPad

下载WireGuard应用(你可能需要其他地区帐号)。

之后在WireGuard应用中点击”+”,点击”Create from QR code”,之后扫http://wg-server.com:51821上配置对应的二维码就行!

Linux

Linux端相对复杂些:

先下载必要包

sudo apt install wireguard
sudo apt install resolvconf

注意,安装完resolveconf之后可能需要reboot下。

之后下载配置到~/Downloads/wg0.conf,然后:

cd /etc/wireguard
sudo cp ~/Downloads/wg0.conf ./wg0.conf

最后:

systemctl start wg-quick@wg0

你就配置好了!

https://www.88531.cn/?p=34150


新软师兄 » 一起来实践的wireguard服务端+客户端设置
50T免费网盘资源大集合【持续更中~~~~】:点击查看

dase kand pornhan.mobi xvideo desi gay pcso 2pm result today pinoytvfriends.com where i can watch bad romeo كلام فى النيك wfporn.com قصص محارم حديثة busporn porngugu.mobi indian sexx vedios sex ka video noticieroporno.com himachal pradesh sex com
nero hentai hentaitgp.com ламия хентай www.mom xxx.com alohaporn.me sahara knite mature fucking tubepatrolporn.com bhabi sex indian girl sex gotporn.mobi xnxx family strocks ang probinsyano july 20 2022 full episode youtube pilipinoteleserye.com ano ang pambansang sasakyan ng pilipinas
احلي سكس محارم pornxporn.org نيك فلاحى multi.xnxx alohaporn.net telugu sex chart سكس قصيرات arabysexy.org نيك نقاب www assames sex com umora.info desi sexy bhabi 8teenx bukaporn.com india hot sex videos