¿Cuál es el problema con cambiar el DNS y poder acceder a Microsoft?
Recientemente, después de reinstalar el sistema Windows 10, descubrí que el navegador Edge no podía iniciar sesión en la cuenta de Microsoft para la sincronización de datos. La manifestación específica fue que no se podía abrir la página de inicio de sesión. Anteriormente, al acceder a páginas como Hotmail a través de un navegador, a menudo ocurría que la página no se podía abrir o se abría muy lentamente. Sin embargo, esta vez no se podía abrir en absoluto, lo cual era muy molesto. Después de una exploración repetida, finalmente descubrí a través de la búsqueda de Bing que se trataba de un problema de resolución de DNS nacional. Después de configurar el servidor DNS del sistema en 4.2.2.2 y 4.2.2.1, el problema se resolvió con éxito. Estos dos servidores de resolución de nombres de dominio son gratuitos de Microsoft. Servidores DNS para el mundo, después de usar este servidor DNS, no solo se pueden abrir los servicios de Microsoft, sino que la velocidad de acceso también es muy rápida. Sin embargo, después de usar Microsoft DNS durante unos días, descubrí que había un problema al acceder a Taobao. No se podía abrir el sitio web de Taobao. A través de la herramienta de depuración del navegador, descubrí que había un problema con la resolución del nombre de dominio de g. alicdn.com, y luego se restableció el servidor DNS del sistema. Después de configurarlo como servidor del operador, el problema se resolvió.
En este punto, surge un problema en el que no puedes quedarte con el pastel y comértelo también. Puedes usar el DNS de Microsoft para acceder rápidamente a los servicios de Microsoft, pero hay problemas para acceder a algunos sitios nacionales usando el DNS del operador nacional; , no se puede acceder a sitios nacionales. Es normal, pero hay problemas para acceder a algunos sitios extranjeros como Microsoft. Entonces surgió una pregunta en mi mente: ¿existe una solución que pueda usar el servidor DNS de Microsoft cuando visite sitios extranjeros y usar el DNS del operador cuando visite sitios nacionales? Finalmente, Huang Tian valió la pena, esta solución realmente la encontré.
La idea básica de la solución es construir un servidor DNS usted mismo a través de DNSmasq en el sistema Linux, y DNSmasq permite configurar diferentes servidores DNS para diferentes nombres de dominio, lo que resolvió perfectamente mi problema. DNSmasq es un software de código abierto muy pequeño que proporciona muchas funciones como DHCP, DNS y TFTP. Debido a su pequeño tamaño y potentes funciones, el sistema Openwrt lo utiliza como servidor DHCP y DNS, y resulta que tengo un Openwrt en línea. servidor. Debido a que Openwrt adopta un método de configuración gráfica, es muy sencillo configurar las funciones anteriores. Consulte la figura a continuación para obtener más detalles:
En la figura, las configuraciones clave se han marcado con un cuadro rojo, entre los cuales, "La configuración de "reenvío de DNS" sirve para configurar diferentes servidores de resolución para diferentes nombres de dominio. Debido a que el autor espera proporcionar servicios DNS a la red externa, la opción "Sólo servidor local" no está marcada.
Después de completar la configuración anterior, solo necesita apuntar el servidor DNS del sistema al servidor openwrt y listo. Lo que hay que recordar es:
Si, como el autor, necesita acceder al servidor DNS desde la red externa, debe abrir el firewall openwrt para permitir el acceso al puerto 53 de TCP y UDP. protocolos desde la interfaz de red externa; si openwrt El servidor en sí es el enrutador de salida de la LAN, por lo que no se requieren las configuraciones de muro de protección anteriores.
Hay mucha información sobre la instalación y configuración de dnsmasq en sistemas Linux en Internet, no entraré en detalles aquí.
Además, aunque este método puede resolver mi problema, requiere que otra máquina actúe como servidor DNS. No todos son como el autor, y resulta que hay un código abierto en la red pública que se puede usar. para tirar el servidor. Por esta razón, el autor está considerando escribir un servidor DNS simple y registrarlo como un servicio del sistema, que se iniciará automáticamente cuando se inicie el sistema. Afortunadamente, existe una biblioteca de espacio DNS de código abierto en Internet: ARSoft.Tools. .Net, basado en esta biblioteca, el autor solo necesita escribir código para encapsularlo en un servicio del sistema Windows, y la carga de trabajo debería ser muy pequeña.