DNS Hack
Notice: This method uses plain DNS. For using the same method with secure DNS, click here.
How does it work?
Unblock websites by using a modified DNS server to bypass DNS rules set by your administrator or prevent online browser extensions from accessing their online databases. Although this method can be used to bypass certain browser extensions, it might not work always as some extensions use a different API domain to retrieve data. For disabling enforced extensions, we recommend using this method.
Limitations
A 64-bit Linux PC is required to host the DNS server.
This method might not work in the following cases:
- You are using a managed Wi-Fi network and DNS settings are greyed out.
- Your device has a policy set that prevents you from modifying the DNS settings.
Steps
Setup DNS server on Linux
(This might also work for Windows or Mac, but not tested)
Install and setup AdGuard Home on your server PC for DNS filtering. Ensure the DNS port is set to 53 and the listen interface is set to 'all' during setup, otherwise your Chromebook might not be able to access it later.
(The instructions below are for bypassing browser extensions, skip to step 7 if you are not restricted by an extension.)
Login to your dashboard.
Go to 'filters -> custom filtering rules'.
Find the API service domain of your extension, usually it is the home page of the software. For example, the service domain for GoGuardian is 'goguardian.com', the service domain for IMTLazarus is 'imtlazarus.com'.
Block the API service domain of the extension by writing filtering rules in the format below:
||exampledomain.com^
where 'exampledomain.com' is the actual service domain of the extension.
Click apply the save changes.
Make the DNS server reachable on the internet
Open a terminal and run the commands below to allow incoming TCP/UDP traffic on port 53:
sudo iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT
Configure your router to enable port forwarding. (search Google for specific instructions to your ISP)
Port: 53
Protocol: TCP/UDP
Test if port 53 is reachable on the internet using this tool.
Click here to check your server's IP address, which will be used in step 14.
Configure your Chromebook to use the DNS server
On your Chromebook, go to 'settings -> Wi-Fi', you should see a list of nearby Wi-Fi networks.
Click on the one that you have connected, then click 'network'.
Scroll down and select 'custom name servers'.
Change all the input fields below to '0.0.0.0', then change the first one to your DNS server's IP address.
Click the whitespace around to ensure changes are applied.
Restart your device. You should be able to access blocked websites now.