Skip to content

--- tags: - TCPcategories: - Network - Linuxdate:created: 2020-08-20# updated: 2024-01-19---

TCP Over DNS to bypass campus network billing

1. Requirements- VPS -> Take CentOS as an example-> IP is represented by 123.123.123.123- Domain name -> represented by domain.com-> Subdomain names are represented by tunnels

2. Set up domain name resolution|host record|Record|value|

| ---- | ----- | ----- | |NS|d2t|tunnel.domain.com| |A|tunnel|123.123.123.123 |

3. Disguise program (iodine)### Server

(1). Install iodine```

git clone https://github.com/yarrick/iodine.git cd iodine make make install ``` - Compilation and installation require GCC environment

(2). Run iodineiodined -f -c -P password 10.0.0.1 d2t.domain.com

  • Note:> -f runs in the foreground> -c disables checking the client IP address of all incoming requests; by default, requests from non-matching IPs will be rejected.> -P sets authentication password> 10.0.0.1 is a reserved address

ClientThe client is Ubuntu20.04 LTS in WSL2#### (1). Install iodinesudo apt-get install iodine

(2). Run iodinesudo iodine -f -P password d2t.domain.com

(3). Open a new Terminal, connect to the server through SSH, and use 9999 as the forwarding port.ssh USER@10.0.0.1 -p1234 -D 9999

  • Note:> USER represents the username of the VPS> 1234 represents the port of SSH on the VPS

Use a proxy to access the Internet

(1). Install the plug-in SwitchyOmega in the browser

(2). Create a new Proxy Profile|Protocol|Server|Port|

|--------|------ |----| |Socks5|localhost|9999|

(3). Click on SwitchyOmega in the upper right corner of the browser to select the proxy created in the previous step to access the Internet.

REF

[1]. https://fanqxu.github.io/2019/03/20/Bypass-campusNet/

[2].OSI model