Alpine安装SSH服务,并开启SSH远程登录
apk update
apk add openssh-server
rc-service sshd start
设置开机启动
rc-update add sshd
删除开机启动服务
rc-update del sshd
开放Root登录
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
rc-service sshd restart
apk update
apk add openssh-server
rc-service sshd start
rc-update add sshd
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
rc-service sshd restart
wget https://golang.org/dl/go1.21.5.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz
编辑 /etc/profile 文件,添加以下内容:
export GOROOT=/usr/local/go
export GOPATH=$HOME/gowork
export GOBIN=$GOPATH/bin
export PATH=$GOROOT/bin:$GOBIN:$PATH
go version 1.在服务器上安装/启用Buildx和QEMU(一次即可):
docker run --privileged --rm tonistiigi/binfmt --install all
2.创建一个支持多平台的 builder:
docker buildx create --use --name mybuilder
docker buildx inspect --bootstrap
3.使用buildx构建并推送(同时支持两种架构):
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t your-repo/your-image:tag \
--push .
构建全部架构(不推荐,除非有特殊需求,构建时间会很长):
docker buildx build \
--platform linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6,linux/386,linux/riscv64,linux/ppc64le,linux/s390x \
-t your-repo/image:tag \
--push . L6Z8A-XY2J4-BTZ3P-ZZ7DF-A2Q9C(Portable Edition)#免安装版本
5EZ8G-C3WL5-B56YG-SCXM9-6QZAP(Standard Edition)#安装版本
P427L-9Y552-5433E-8DSR3-58Z68(MAC) #mac版本
mosdns 是 Go 编写的超轻量 DNS 服务器(单二进制 ~10MB,内存 <30MB,常驻低),专为自建 DoH/DoT/anti-pollution设计
优势:
原生支持标准 DoH 服务(/dns-query,兼容 GET/POST)。
只转发上游,无 UI、无额外功能,纯轻量。
支持多个上游、fallback 等。
1.下载并安装 mosdns
wget https://github.com/IrineSistiana/mosdns/releases/latest/download/mosdns-linux-amd64.zip
unzip mosdns-linux-amd64.zip
chmod +x mosdns
mv mosdns /usr/local/bin/mosdns
2.创建目录和 config:
mkdir -p /etc/mosdns
cat > /etc/mosdns/config.yaml <<EOF
log:
level: info
plugins:
- tag: upstreams
type: forward
args:
upstreams:
- addr: tls://1.1.1.1
- addr: tls://dns.google
- tag: doh_http
type: http_server
args:
listen: 127.0.0.1:8053
entries:
- path: /dns-query
exec: upstreams # 所有 /dns-query 请求直接执行 upstreams 插件(forward)
idle_timeout: 30
EOF
3.运行并守护
测试运行:
mosdns -c /etc/mosdns/config.yaml
守护进程(用 Supervisor 或 systemd):
cat > /etc/systemd/system/mosdns.service <<EOF
[Unit]
Description=mosdns DoH proxy
After=network.target
[Service]
ExecStart=/usr/local/bin/mosdns -c /etc/mosdns/config.yaml
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable --now mosdns
apache配置文件添加以下代码进行反代即可绑定域名
<Location /dns-query>
ProxyPass http://127.0.0.1:8053/dns-query
ProxyPassReverse http://127.0.0.1:8053/dns-query
RequestHeader set Upgrade $http_upgrade
RequestHeader set Connection "upgrade"
</Location>