Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The port 53 is already used on windows by some other services #426

Closed
HomeOfTheWizard opened this issue Aug 25, 2023 · 5 comments
Closed

Comments

@HomeOfTheWizard
Copy link

Hi,

I am on windows 10 Family v 22h2
docker desktop 4.21.1
DSP version 3.16.0
https://github.com/mageddo/dns-proxy-server/releases/tag/3.16.0-snapshot

I cannot launch the app via docker or via executable manually.
It is because the port 53 is already in use by some windows services
https://superuser.com/questions/1633432/why-windows-10-has-a-svchost-process-that-listen-on-port-53
https://answers.microsoft.com/en-us/windows/forum/all/solved-unable-to-stop-internet-connection-sharing/b01e1ebc-4f9d-4bf6-8d15-37a782fa03ff

I cant turn off this service cause it is used by HyperV, so I cannot launch docker if I turn it off.

@HomeOfTheWizard
Copy link
Author

here are the logs for the docker run

2023-08-25 18:04:10 16:04:10.522 [main           ] INF com.mageddo.dnsproxyserver.config.Configs         l=166  m=build                           status=configuring, configFile=/app/conf/config.json
2023-08-25 18:04:10 16:04:10.538 [main           ] INF com.mageddo.dnsproxyserver.docker.EventListener   l=33   m=onStart                         status=binding-docker-events, dockerConnected=false
2023-08-25 18:04:10 16:04:10.540 [main           ] INF c.mageddo.dnsproxyserver.server.dns.UDPServerPool l=31   m=start                           Starting UDP server, addresses=/0.0.0.0:53
2023-08-25 18:04:10 16:04:10.552 [Thread-4       ] INF com.mageddo.dnsproxyserver.server.dns.TCPServer   l=50   m=start0                          status=tcpServerStarting, port=53
2023-08-25 18:04:10 16:04:10.552 [main           ] INF c.mageddo.dnsproxyserver.server.dns.ServerStarter l=32   m=start                           status=startingDnsServer, protocol=UDP_TCP, port=53
2023-08-25 18:04:10 16:04:10.556 [main           ] INF com.mageddo.http.WebServer                        l=134  m=start                           status=startingWebServer, port=5380
2023-08-25 18:04:15 16:04:15.539 [Thread-2       ] WAR c.m.d.dnsconfigurator.DnsConfigurators            l=58   m=lambda$configurationHook$0      status=failedToConfigureAsDefaultDns, path=/host/etc/systemd/resolved.conf,/host/etc/resolv.conf,/etc/systemd/resolved.conf,/etc/resolv.conf, msg=Could not initialize class com.github.dockerjava.transport.DomainSocket
2023-08-25 18:04:15 java.lang.NoClassDefFoundError: Could not initialize class com.github.dockerjava.transport.DomainSocket
2023-08-25 18:04:15 at com.github.dockerjava.transport.UnixSocket.get(UnixSocket.java:29)
2023-08-25 18:04:15 at com.github.dockerjava.httpclient5.ApacheDockerHttpClientImpl$2.createSocket(ApacheDockerHttpClientImpl.java:153)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.io.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:125)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:409)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:164)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.InternalExecRuntime.connectEndpoint(InternalExecRuntime.java:174)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ConnectExec.execute(ConnectExec.java:135)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ProtocolExec.execute(ProtocolExec.java:172)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.HttpRequestRetryExec.execute(HttpRequestRetryExec.java:93)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ContentCompressionExec.execute(ContentCompressionExec.java:128)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement$1.proceed(ExecChainElement.java:57)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.RedirectExec.execute(RedirectExec.java:116)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.ExecChainElement.execute(ExecChainElement.java:51)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.InternalHttpClient.doExecute(InternalHttpClient.java:178)
2023-08-25 18:04:15 at org.apache.hc.client5.http.impl.classic.CloseableHttpClient.execute(CloseableHttpClient.java:67)
2023-08-25 18:04:15 at com.github.dockerjava.httpclient5.ApacheDockerHttpClientImpl.execute(ApacheDockerHttpClientImpl.java:191)
2023-08-25 18:04:15 at com.github.dockerjava.httpclient5.ApacheDockerHttpClient.execute(ApacheDockerHttpClient.java:9)
2023-08-25 18:04:15 at com.github.dockerjava.core.DefaultInvocationBuilder.execute(DefaultInvocationBuilder.java:228)
2023-08-25 18:04:15 at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:202)
2023-08-25 18:04:15 at com.github.dockerjava.core.DefaultInvocationBuilder.get(DefaultInvocationBuilder.java:74)
2023-08-25 18:04:15 at com.github.dockerjava.core.exec.ListContainersCmdExec.execute(ListContainersCmdExec.java:44)
2023-08-25 18:04:15 at com.github.dockerjava.core.exec.ListContainersCmdExec.execute(ListContainersCmdExec.java:15)
2023-08-25 18:04:15 at com.github.dockerjava.core.exec.AbstrSyncDockerCmdExec.exec(AbstrSyncDockerCmdExec.java:21)
2023-08-25 18:04:15 at com.github.dockerjava.core.command.AbstrDockerCmd.exec(AbstrDockerCmd.java:35)
2023-08-25 18:04:15 at com.mageddo.dnsproxyserver.docker.DpsContainerManager.findDpsContainer(DpsContainerManager.java:99)
2023-08-25 18:04:15 at com.mageddo.dnsproxyserver.docker.DpsContainerManager.findDpsContainerIP(DpsContainerManager.java:113)
2023-08-25 18:04:15 at com.mageddo.dnsproxyserver.dnsconfigurator.DpsIpDiscover.findDpsIP(DpsIpDiscover.java:25)
2023-08-25 18:04:15 at com.mageddo.dnsproxyserver.dnsconfigurator.DnsConfigurators.findIpAddr(DnsConfigurators.java:70)
2023-08-25 18:04:15 at com.mageddo.dnsproxyserver.dnsconfigurator.DnsConfigurators.lambda$configurationHook$0(DnsConfigurators.java:50)
2023-08-25 18:04:15 at java.base@19.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
2023-08-25 18:04:15 at java.base@19.0.2/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:358)
2023-08-25 18:04:15 at java.base@19.0.2/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
2023-08-25 18:04:15 at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
2023-08-25 18:04:15 at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
2023-08-25 18:04:15 at java.base@19.0.2/java.lang.Thread.run(Thread.java:1589)
2023-08-25 18:04:15 at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
2023-08-25 18:04:15 at org.graalvm.nativeimage.builder/com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:203)

@HomeOfTheWizard
Copy link
Author

Here are the logs for the executable's run

18:05:43.457 [main           ] INF com.mageddo.dnsproxyserver.config.Configs         l=166  m=build                           status=configuring, configFile=C:\Users\OZ\programs\Windows-X64\conf\config.json
18:05:43.493 [main           ] INF com.mageddo.dnsproxyserver.docker.EventListener   l=33   m=onStart                         status=binding-docker-events, dockerConnected=true
18:05:43.493 [main           ] INF c.m.dnsproxyserver.docker.DpsContainerManager     l=40   m=setupNetwork                    status=dpsNetwork, active=false
18:05:43.493 [main           ] INF com.mageddo.dnsproxyserver.docker.EventListener   l=41   m=onStart                         status=autoConnectDpsNetworkDisabled, dpsNetwork=false, dpsNetworkAutoConnect=false
18:05:43.500 [main           ] INF c.mageddo.dnsproxyserver.server.dns.UDPServerPool l=31   m=start                           Starting UDP server, addresses=/0.0.0.0:53
18:05:43.501 [main           ] INF c.mageddo.dnsproxyserver.server.dns.ServerStarter l=32   m=start                           status=startingDnsServer, protocol=UDP_TCP, port=53
18:05:43.501 [Thread-12      ] INF com.mageddo.dnsproxyserver.server.dns.TCPServer   l=50   m=start0                          status=tcpServerStarting, port=53
18:05:43.501 [Thread-11      ] ERR com.mageddo.dnsproxyserver.server.dns.UDPServer   l=46   m=start0                          status=dnsServerStartFailed, address=/0.0.0.0:53, msg=Address already in use: bind
java.net.BindException: Address already in use: bind
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.jni.functions.JNIFunctions$NewObjectWithObjectArrayArgFunctionPointer.invoke(JNIFunctions.java)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.jni.functions.JNIFunctions.ThrowNew(JNIFunctions.java:882)
        at java.base@19.0.2/sun.nio.ch.Net.bind0(Net.java)
        at java.base@19.0.2/sun.nio.ch.Net.bind(Net.java:555)
        at java.base@19.0.2/sun.nio.ch.DatagramChannelImpl.bindInternal(DatagramChannelImpl.java:1247)
        at java.base@19.0.2/sun.nio.ch.DatagramChannelImpl.bind(DatagramChannelImpl.java:1217)
        at java.base@19.0.2/sun.nio.ch.DatagramSocketAdaptor.bind(DatagramSocketAdaptor.java:111)
        at java.base@19.0.2/java.net.DatagramSocket.createDelegate(DatagramSocket.java:1427)
        at java.base@19.0.2/java.net.DatagramSocket.<init>(DatagramSocket.java:328)
        at com.mageddo.dnsproxyserver.server.dns.UDPServer.start0(UDPServer.java:36)
        at java.base@19.0.2/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
        at java.base@19.0.2/java.util.concurrent.FutureTask.run(FutureTask.java:317)
        at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
        at java.base@19.0.2/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
        at java.base@19.0.2/java.lang.Thread.run(Thread.java:1589)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
        at org.graalvm.nativeimage.builder/com.oracle.svm.core.windows.WindowsPlatformThreads.osThreadStartRoutine(WindowsPlatformThreads.java:178)
18:05:43.540 [main           ] INF com.mageddo.http.WebServer                        l=134  m=start                           status=startingWebServer, port=5380
18:05:48.640 [Thread-1       ] INF c.m.d.dnsconfigurator.DnsConfigurators            l=112  m=getInstance0                    usingDnsConfigurator=DnsConfiguratorDefault

@kassi
Copy link

kassi commented Oct 23, 2023

Same on MacOS, trying to run the docker service.

@mageddo
Copy link
Owner

mageddo commented Apr 23, 2024

Hey, it's really troublesome because Windows hasn't an option to specify a custom port, what you can do is try like @kassi said and run DPS inside a container pointing windows to the to the container IP instead.

@mageddo
Copy link
Owner

mageddo commented May 29, 2024

Closing this issue, feel free to reopen it when you are able to respond

@mageddo mageddo closed this as completed May 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants