Tag: iodine

  • iOS DNS Tunnel

    一直想留个 dns tunnel 的实例给手机用,以便不时之需。最近发现有个特殊场景,需要用到 dns tunnel。 很多年前调研的时候,选定了 iodine,但是客户端是个问题,windows的程序古早,而且需要 openvpn 古早版本的 tuntap 驱动,iOS之前一直没有找到合适的客户端,拿电脑开热点有点过于傻(虽然我还是买了个 Connectify并用过几次),带个 OpenWRT 的路由(gl-inet)配充电宝好像是可以但是也挺麻烦。 其他方案也看过,dns2tcp 算是接受度很高的方案,但是没找到 iOS 的客户端。 Github 上有个 iOS 版的开源项目,不想折腾。 最近又发现一个上架了的开源项目,Purple Haze,使用的方案是基于 iodine 的,省事了。 服务器,iodined MTU是个大问题,如果不指定,客户端每次建立连接都要去试。大概观察了一下客户端的日志,选了个小的 1120,客户端也得同步设置。 NAT是需要开启的。eth0是公网的出口设备。 实测,速度大概比 56k 猫的速度快一点,图片什么的基本看不到了,而且丢包率可观。 再,如果iodined的服务器有其他网络,需要指定出口,例如: 流量按本机的路由表转给其他二层设备,直接添加路由,并根据需求在出口设备上加 NAT。 流量转给一个 point-to-point 设备,例如 wireguard、sit tunnel,OpenVPN TUN等,或者 OpenVPN TAP 类似的 二层设备 例如,全部流量转给 wireguard wg0,table 33

  • iodine on Ubuntu/macOS

    iodine 是一个比较著名(但是好久没更新版本)的DNS Tunnel,所谓 IP over DNS,用 DNS 的协议来承载 IP 包,所以特点是慢,但是针对某些 DNS 可用的场景,可以凑合解决上网的问题。