YaDNS-NX Switch

From GameBrew
yaDNS-NX
Yadnsnx.png
General
Authorluiscassih
TypeNetwork
Version2018
LicenseMIT License
Last Updated2018/08/03
Links
Download
Website
Source

This is a docker image with a nginx+bind9 server to allow your Nintendo Switch to connect on your WiFi network while disallowing access to internet or Nintendo servers.

A possible use of this is if you want to connect your Switch to your WiFi network only for FTP or if you don't have internet and the Nintendo Switch won't pass the two checks while connecting to your WiFi.

Note: This docker blocks every nintendo server, every *.nintendo.net and every *.nintendowifi.net.

User guide

How to use

You need to have docker installed on your system.

  • Pull the image from Docker hub: docker pull luiscassih/yadns-nx
  • Run the image: docker run --name yadns-nx -d -p 80:80 -p 53:53 -p 53:53/udp luiscassih/yadns-nx 192.168.1.27 where 192.168.1.27 must be your computer local IP address. You can check yours with a ipconfig, ifconfig or ip address, depending on your OS.
  • On your Nintendo Switch network settings, change the DNS entry of your WiFi Network and set your primary and secundary DNS to your computer ip. e.g. 192.168.1.27.
  • Optional: If you declare a secondary DNS to a valid dns ip like 8.8.8.8 from Google, you will have internet access (no online gaming for the moment) but without a valid connection on nintendo servers.
  • Note: If you have issues with the connection, you may check your firewall settings or if you have other services running on port 80 & 53.

If you are not familiar with docker usage, you may know the docker run command creates a container with the image and names it to yadns-nx, so you only need to run this once. After that (e.g. you restart your computer) you only need to do a docker start yadns-nx to restart the container.

Also if you want this docker to continue running after the system reboot, on the first time running the docker add --restart always to the running command: docker run --name yadns-nx -d -p 80:80 -p 53:53 -p 53:53/udp --restart always luiscassih/yadns-nx 192.168.1.27

But if the container was already created, you can update with: docker update --restart always yadns-nx (or the container id)

Verify doing a docker inspect yadns-nx and looking for

"RestartPolicy": {
"Name": "always",
"MaximumRetryCount": 0
}

After that, the docker will start within the service on the system startup.

The way it works for the moment is fairly simple, it will intercept any request made to *.nintendo.net and *.nintendowifi.net and respond with a 200 OK with X-Organization Nintendo header. This is made for the people who doesn't want to download, install and configure a nginx+bind9 server and only want to connect simply for FTP or so.

You can also customize the nginx.conf to serve your own website instead of returning a simple "200 OK".

Docker toolbox guide

This guide is for users who cannot install the standard version of Docker and needs to use Docker Toolbox (thanks to zboubinou).

  • Download and install docker toolbox as usual.
  • Create a docker VM using docker-machine create vbox in your docker directory or using the quick start terminal.
  • Once the VM is created, shutdown it. Go to virtual box and right click on your VM to access the configuration menu.
  • In network, add a bridge access to your computer wifi card by adding a virtual card or changing an existing one.
  • If you can't access your VM configuration using virtualbox, remove your VM and create a new one using docker-machine: docker-machine create -d "virtualbox" --virtualbox-ui-type "gui" vbox
  • This way your VM will open like any other virtual box VM. Then you can shutdown it and add a bridge access to your VM.
  • Connect to the network on wich you want to ftp before launching the VM. Your VM has now an IP adress on your local network different from your computer IP.

Follow the How to use guide using your VM IP instead of your computer IP.

Host your own public DNS server

You need to configure your router to let pass the port 80 and 53 tcp and 53 udp to your computer.

Then you need to change the ip on the docker run command and use your public ip. Example: if your public ip is 152.168.60.227, do docker run --name yadns-nx -d -p 80:80 -p 53:53 -p 53:53/udp --restart always luiscassih/yadns-nx 152.168.60.227 and then you will have a public dns to share at 152.168.60.227

Every Switch has to put 152.168.60.227 in their Primary DNS. However, if they want to have internet while blocking nintendo server, they need to put 8.8.8.8 (or another valid) in their Seconday DNS.

External links

Advertising: