Loading... 以下是一个经过优化的部署unbound服务的Docker Compose文件示例,其中包括参数优化,所有配置都在YAML文件中,不使用卷挂载: ```yaml version: '3.8' services: unbound: image: mvance/unbound:latest ports: - "53:53/udp" - "53:53/tcp" environment: - TZ=UTC - UPSTREAM_RESOLVER=1.1.1.1 - CACHE_MAX_SIZE=500m - NUM_THREADS=4 - MSG_CACHE_SIZE=16m - RRSET_CACHE_SIZE=32m - OUTGOING_RANGE="4096" - INFRA_CACHE_SLABS="4" - INFRA_CACHE_CHUNK_SIZE="128k" - QNAME_MIN_WIRE=0 - QNAME_MIN_STRLEN=0 - DO_IPV6="no" - DO_UDP="yes" - DO_TCP="yes" - DO_DAEMONIZE="no" - HARDEN_GLUE="yes" - HARDEN_DNSSEC_STRICT="yes" - USE_CAPS_FOR_ID="yes" - EDNS_BUFFER_SIZE="4096" - EDNS_DO_QUERY_SOURCE="yes" - EDNS_EXTENDED_RCODE="yes" restart: always networks: unbound-network: ipv4_address: 172.18.19.42 networks: unbound-network: driver: bridge ipam: config: - subnet: 172.18.19.0/24 name: unbound-network ``` 在上述示例中,我们使用了一些额外的环境变量来进行更详细的参数优化: - `MSG_CACHE_SIZE=16m`:设置消息缓存的大小为16兆字节。 - `RRSET_CACHE_SIZE=32m`:设置RRset缓存的大小为32兆字节。 - `OUTGOING_RANGE="4096"`:设置出站端口的范围为4096,用于并发查询。 - `INFRA_CACHE_SLABS="4"`:设置基础缓存的分片数为4,用于提高缓存性能。 - `INFRA_CACHE_CHUNK_SIZE="128k"`:设置基础缓存的块大小为128千字节。 - `QNAME_MIN_WIRE=0`:设置查询名称的最小长度(以字节为单位),默认为0。 - `QNAME_MIN_STRLEN=0`:设置查询名称的最小长度(以字符为单位),默认为0。 - `DO_IPV6="no"`:禁用IPv6支持,如果你的环境不需要IPv6,可以使用此选项。 - `DO_UDP="yes"`:启用UDP查询支持。 - `DO_TCP="yes"`:启用TCP查询支持。 - `DO_DAEMONIZE="no"`:禁用守护进程模式,使unbound以前台模式运行。 - `HARDEN_GLUE="yes"`:启用对DNS回答中的附加信息(例如NS记录)的严格检查。 - `HARDEN_DNSSEC_STRICT="yes"`:启用严格的DNSSEC验证。 - `USE_CAPS_FOR_ID="yes"`:使用大写字母作为查询ID。 - `EDNS_BUFFER_SIZE="4096"`:设置EDNS缓冲区的大小为4096字节。 - `EDNS_DO_QUERY_SOURCE="yes"`:启用查询源IP地址的EDNS选项。 - `EDNS_EXTENDED_RCODE="yes"`:启用扩展的RCODE编码。 这些参数优化可以根据你的需求进行修改,以满足特定的性能和安全要求。 请注意,unbound的参数优化涉及多个方面,根据你的具体需求和环境,可能需要进一步调整和优化参数。 这个示例提供了一个更详细的参数优化的部署unbound服务的Docker Compose文件。你可以根据需要修改这些参数和配置。 最后修改:2023 年 11 月 03 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏