ServiceEntry not working properly

I install istio 1.10 and kubenetes v1.19.0 with profile demo enabled.

Base on the document: service-entry, use the sleep pod as client and arbitary web service on vm serving at port 9000.

I create a service entry for this web service on vm :

kind: ServiceEntry
  name: sonarqube
  namespace: external
  - ""
  location: MESH_INTERNAL
  - number: 9000
    name: http
    protocol: HTTP
  resolution: STATIC
    - address:

in my sleep pod in namespace external:

[root@apiserver sleep]# kubectl exec -it sleep-79f64648b5-j4bvw -n external -c sleep -- /bin/sh
/ $ curl
curl: (6) Could not resolve host:

apparently, the dns is not working. but I don’t know how to debug it?

I also notice that smart dns is available on since v1.8.0, how to let service running in or out of mesh
access each other using service dns ?