出门在只有IPV4但是需要访问家里的IPV6设备,简单的利用服务中转
首先有一台拥有IPV6和IPV4的服务器。在服务器上执行
curl https://ipv6.ddnspod.com/
docker默认不开启IPV6,需要手动开启(没有使用docker的略过相关部分,自行配置nginx)
vi /etc/docker/daemon.json
按i键,然后粘贴下面的代码
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64" // 确保这个范围没有和现有的网络冲突
}
输入":wq"回车(注意冒号)
然后重启 Docker 服务:
sudo systemctl restart docker
确认 Docker 网络的 IPv6 配置
docker run -it –network bridge alpine sh
# aws
ping6 google.com
# 阿里云
ping -6 aliyun.com
# 会输出相关信息
PING google.com (2404:6800:4004:801::200e): 56 data bytes
64 bytes from 2404:6800:4004:801::200e: seq=0 ttl=116 time=1.247 ms
在docker上安装nginx的ui版。docker-compose.yml文件的代码
version: '3.0'
services:
app:
image: 'jc21/nginx-proxy-manager:2.9.14'
restart: unless–stopped
container_name: nginx–proxy–manager #容器名称
ports:
– '80:80'
– '81:81'
– '443:443'
volumes:
– /root/software/nginx–proxy–manager/data:/data
– /root/software/nginx–proxy–manager/html:/data/html
– /root/software/nginx–proxy–manager/letsencrypt:/etc/letsencrypt
networks:
nginx-proxy-manager-network:
ipv6_address: "2001:db8:2::2" # 可选,手动指定 IPv6 地址
networks:
nginx-proxy-manager-network:
driver: bridge
enable_ipv6: true
ipam:
config:
– subnet: "2001:db8:2::/64" # 设置 IPv6 子网
把文件上传到服务器指定目录,在指定目录下执行。(没有安装docker-compose的自行安装)
docker-compose up -d
步骤 1:访问 Nginx Proxy Manager UI
- 打开浏览器并进入 NPM 的管理界面。
- 登录到 Nginx Proxy Manager。
步骤 2:添加或编辑代理主机 (Proxy Host)
- 在 NPM 的侧边栏中选择 Proxy Hosts。
- 点击 Add Proxy Host 创建一个新的代理主机,或者选择现有的代理主机并点击 Edit 进行编辑。
步骤 3:配置代理主机的域名和目标服务
Domain Names 1. 在 Domain Names 字段中,输入客户端访问的域名或 IP 地址(即面向客户端的 IPv4 地址或域名)。
- 这是客户端使用 IPv4 访问的入口。例如 example.com 或 192.0.2.1。
Scheme 2. 在 Scheme 下拉列表中,选择协议:
- 如果后端服务器使用 HTTP,请选择 http。
- 如果后端服务器使用 HTTPS,请选择 https。
Forward Hostname / IP 3. Forward Hostname / IP 字段中,输入你后端服务器的 域名,该域名解析为 IPv6 地址。
- 例如:ipv6.example.com。
- Nginx 将会解析这个域名并与后端服务器通过 IPv6 建立连接。
Forward Port 4. 在 Forward Port 中输入后端服务器的端口号。
- 例如,如果你的后端服务监听 80 端口,则输入 80,如果监听 443 端口,则输入 443。
步骤 4:高级设置 (Custom Nginx Configuration)
如果你希望进行进一步的自定义配置,例如控制客户端请求头或其他高级设置,可以进入高级设置:
例如,如果你希望明确设定 Nginx 在使用 IPv6 转发请求时的行为,可以添加如下配置:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
这些设置会确保 Nginx 保留客户端的原始请求信息,如 Host 和 IP 地址。
评论前必须登录!
注册