Open AndersonGhost opened 10 months ago
搭建方法为:docker-compose up -d 其中,docker-compose.yml的内容如下:
version: '3.3'
services:
sshwifty:
restart: always
ports:
- '8090:8182' # 8090可以改成任意服务器没有使用过的端口,8182不要修改
container_name: sshwifty
image: 'niruix/sshwifty:latest'
如果你用的是docker-compose
的话,除了打开Docker的IPv6支持,还需要在docker-compose.yaml
里指定容器的IPv6地址,否则容器里的程序会无法在建立SOCKET的时候正确的取得本地网络接口(这也是导致connect: cannot assign requested address
错误的原因)。
具体来说,你可以按照下面的样例修改你的docker-compose.yaml
:
version: '3.3'
services:
sshwifty:
restart: always
ports:
- '8090:8182'
container_name: sshwifty
image: 'niruix/sshwifty:latest'
networks:
sshwifty-network:
ipv6_address: ... #在这里指定容器的IPv6地址
networks:
sshwifty-network:
enable_ipv6: true
driver: bridge
ipam:
driver: default
config:
- subnet: ... #在这里指定容器的IPv6子网/段
gateway: ... #这里指定IPv6网关地址
如果使用docker 一键安装,如何开启ipv6呢?使用什么命令呢?docker-compose还是挺麻烦的
如果你是通过docker run ...
的方式部署Sshwifty(见:https://github.com/nirui/sshwifty/blob/master/README.md#docker-image ),那么只要Docker打开了IPv6支持即可,因为docker run
会使用默认的bridge
network( https://docs.docker.com/config/daemon/ipv6/#use-ipv6-for-the-default-bridge-network )。
感谢大佬!成功了!
1.安装服务的机器物理ip支持ipv4和ipv6,系统为Debian11,版本为5.10.0-23-amd64。
2.配置docker支持ipv6:使用如下方法配置docker使其支持ipv6. 编辑 /etc/docker/daemon.json ,加上以下内容。(如果没有这个文件直接创建。) { "ipv6": true, "fixed-cidr-v6": "fd00::/80", "experimental": true, "ip6tables": true } 重启docker engine sudo systemctl restart docker 测试 sudo docker run --rm -it busybox ping -6 -c4 ipv6-test.com sudo docker run --rm -it busybox ifconfig 显示如下:
3.使用搭建好的webssh连接纯ipv6的小鸡,显示如下:connect: cannot assign requested address