@startuml title 动态DNS actor 访客 as User package "服务端(公网)" as dns_server_{ component [服务端私有网络A]{ [mysql:(172.1.1.4:3306)] as dns_server_remote_local_ [clickhouse:(172.1.1.5:3306)] } component [服务端私有网络B]{ [mysql:(172.1.2.4:3306)] [clickhouse:(172.1.2.5:3306)] } } package "客户端(私有网络)" as dns_remote_local_{ component [客户端私有网络A]{ [mysql:(162.1.1.4:3306)] as dns_client_remote_local_ [clickhouse:(162.1.1.5:3306)] } component [客户端私有网络B]{ [mysql:(162.1.2.4:3306)] [clickhouse:(162.1.2.5:3306)] } } package "客户端(用户本地)" as dns_local_ { } note "用户本地网络" as local_net_ note "服务端网络" as server_net_ note "客户端私有网络" as remote_net_ '(User) .... local_condition_ 'local_condition_ ... (target) [User] ...right...> dns_local_: DNS连接到本地 dns_local_ ...right...> local_net_: 访问本地网络(本地DNS) dns_local_ ...up...> dns_server_remote_local_: 远程DNS解析 dns_server_ ...up...> server_net_: server本地的网络 dns_server_ ...down...> dns_remote_local_: 访问的地址在远程的客户端中 dns_remote_local_ ...down...> dns_client_remote_local_: 远程客户端所在的私有网络 dns_remote_local_ ...down...> remote_net_: 远程客户端中的其他网络 @enduml