This is a piece of software that lets you tunnel IPv4 data through a DNS server. This can be usable in different situations where internet access is firewalled, but DNS queries are allowed.(Github)
准备工作
域名
一个有公网IP的服务端
下载项目
1 2
git clone https://github.com/yarrick/iodine.git cd iodine
Opened dns0 Setting IP of dns0 to 192.168.0.1 Setting MTU of dns0 to 1130 Opened IPv4 UDP socket Opened IPv6 UDP socket Listening to dns for domain <domain>
Opened dns0 Opened IPv4 UDP socket Sending DNS queries for <domain> to <ip_remote> Autodetecting DNS query type (use -T to override). Using DNS type NULL queries Version ok, both using protocol v 0x00000502. You are user #0 Setting IP of dns0 to 192.168.0.2 Setting MTU of dns0 to 1130 Server tunnel IP is 192.168.0.1 Skipping raw mode Using EDNS0 extension Switching upstream to codec Base128 Server switched upstream to codec Base128 No alternative downstream codec available, using default (Raw) Switching to lazy mode for low-latency Server switched to lazy mode Autoprobing max downstream fragment size... (skip with -m fragsize) 768 ok.. 1152 ok.. ...1344 not ok.. ...1248 not ok.. ...1200 not ok.. 1176 ok.. 1188 ok.. will use 1188-2=1186 Setting downstream fragment size to max 1186... Connection setup complete, transmitting data.