# iodine
iodine基于C语言开发,分为服务端程序iodined和客户端程序iodine,主要工作模式有直连模式和中继模式两种。iodine支持A、TXT、CNAME、MX、NULL等多种查询请求类型,通过一台DNS服务器即可建立一条数据通道。
网络拓扑:

#### DNS服务器
本地搭个简单的DNS服务器
“`
yum install bind* #安装bind服务
vim /etc/named.conf #修改named配置文件
“`

“`
vim /etc/named.rfc1912.zones #添加需要解析的域名www.dns.com
“`

添加对应的解析文件并修改
“`
cp /var/named/named.localhost /var/named/named.dns.com
vim /var/named/named.dns.com
“`

虽然按照上面配置好了可能还是解析不了,可能有以下几个原因
防火墙开放53端口:`firewall-cmd –add-port=53/udp`
文件权限:
“`
chown named.named /var/named
chown named.named /var/named/*
“`
按照上面配置好后,记得重新启动一下服务`systemctl restart named.service`,一台简易的dns服务器就搭建起来了,测试一下

服务端
“`
git clone https://github.com/yarrick/iodine
cd iodine
make install
或
apt install iodine(kali默认自带)
“`
make install之后目录下会出现一个bin文件夹,里面有两个可执行文件iodined(服务端)、iodine(客户端)
“`
iodined -f -P 123456 10.1.1.1 www.dns.com
-f 前台显示,运行后一直在命令行等待
-P 认证密码
10.1.1.1 自定义局域网虚拟IP
www.dns.com DNS服务器域名
“`

此时服务端会多出现一块dns0的虚拟网卡,地址是刚刚设置的10.1.1.1

客户端
“`
iodine -f -P 123456 192.168.137.150 www.dns.com
IP为服务器IP
域名需要与服务端保持一致
“`

此时客户端也会多出来一块dns0网卡,地址为10.1.1.2,与服务端的网卡处于同一局域网

测试一下连通性

远程登录服务器














请登录后查看评论内容