上一次帮一个网友解决了ros DDNS更新失败的问题,解决办法其实很简单,他的DNS没填。
上一次帮一个网友解决了ros DDNS更新失败的问题,解决办法其实很简单,他的DNS没填。
由于是邮件回复,阅读顺序应由下至上。
谢谢了!成功了,嘎嘎,太感谢了!—————— 原始邮件 ——————发件人: “haiyang”<[email protected]>;发送时间: 2011年7月12日(星期二) 晚上10:20收件人: “尘埃”<[email protected]>;主题: Re: 回复: 你好,请教一下rOS安装的问题注意命令是“roskey /dev/hda HU6I-XPT”其中是“hda”,不是“hda2”在 2011年7月12日 下午10:14,尘埃 <[email protected]>写道:不知道哪里出现问题了,这三张图片我截图下来了.请您指点一下需要注意的地方,谢谢我是直接在你的博客上下载iso,用虚拟机挂载,正常安装后再上传keygen,npk,再用ssh连接算号就出现上面的情况—————— 原始邮件 ——————发件人: “haiyang”<[email protected]>;发送时间: 2011年7月12日(星期二) 晚上9:39收件人: “尘埃”<[email protected]>;主题: Re: 你好,请教一下rOS安装的问题用sata盘也没关系,如果用sata盘的话,你就得用原来比较早的那个算号器(http://www.awolf.net/content/ros/hu6i-xpt-is-available.html),因为新版算号器只支持IDE硬盘。另外既然都用虚拟机了,就不用netinstall了,。在 2011年7月12日 下午8:59,尘埃 <[email protected]>写道:我的硬盘是sata硬盘在http://www.awolf.net/看到了你写的两边关于ros3.20破解安装的教程,在实体机器上都破解不成功.我考虑是我硬盘的原因,因为我对硬盘接法不懂,难道sata硬盘能接到ide接口上吗,故请教您一下还有我用虚拟机做实验,都是选择的ide然后用netinstall.exe按照你说的方法进行安装,在ssh上显示 ok,random number d等等,但是重启后用winbox.exe连接上后发现cpu并没有执行算好操作,我真的不知道自己哪些步骤做错了,实验了很多次,都是用的你博客上的资源,在虚拟机上也破解不了,请高手给与直接,如果有问题提问我,请发到这个邮箱谢谢!—
—
—
DNS劫持就是通过技术手段,来控制用户解析域名的IP地址。举个例子,正常解析域名www.awolf.net时应该返回IP:64.64.30.60;但现在通过DNS劫持,使域名www.awolf.net解析返回IP:1.1.1.1,以达到控制www.awolf.net该域名,进而控制访问www.awolf.net所打开页面。这就是DNS劫持。
有了DNS劫持,我们就可以随意控制路由器下游用户的域名解析,从而达到限制、强制访问某些网站;或者在用户访问不存在的网站时给予友好的提示;或者把IIS上多个站点用主机头区分……
在ROS上,可以通过对53端口的UDP访问进行dst-nat,to-address指向我们自己的dns服务器或如果Ros开启DNS服务,也可以指向Ros本身。
WinBox设置:
本例中使用ROS自带的DNS服务,ROS IP为192.168.27.254。
首先开启ROS的DNS服务:Winbox中选IP->DNS,在Static页面中点Settings,按下图设置,其中202.96.64.68和202.96.69.38按你所在地区和ISP的DNS填写。
确定后在Winbox中选IP->Firewall,选NAT页面,点红色加号“+”,按下图设置:
Chian=dstnat,Protocol=UDP,Dst.Port=53,Action=dst-nat,To Address=192.168.27
命令行设置:
/ip firewall nat
add action=dst-nat chain=dstnat disabled=no dst-address-type=!local dst-port=53 protocol=tcp to-addresses=192.168.0.1 to-ports=53
add action=dst-nat chain=dstnat disabled=no dst-address-type=!local dst-port=53 protocol=udp to-addresses=192.168.0.1 to-ports=53
/ip dns
set allow-remote-requests=yes cache-max-ttl=1w cache-size=4096KiB max-udp-packet-size=512 primary-dns=202.96.64.68 secondary-dns=202.96.69.38
设置成功的Firewall->Connections效果图:
可以看到去往202.96.64.68的DNS请求都被192.168.27.254回应了。
注意:如果要使用内网服务器做域名解析服务,必须在以上DNS劫持设置规则之上再添加一条允许该服务器访问外网DNS的规则,否则连内网DNS服务器的解析请求都被劫持了,就无法正常进行域名解析了。
例如内网DNS服务器IP是192.168.27.1,则需要在DNS劫持规则之上添加如下规则:
/ip firewall nat
add action=accept chain=dstnat disabled=no dst-port=53 protocol=udp src-address=192.168.27.1
winbox api VB.net 类库:cls_Mikrotik.vb
代码:
Dim mk = New Mikrotik("192.168.0.1")
Dim strUsername As String, strGrid() As String
If Not mk.Login("admin", "Mikrotik_hhsoft") Then
mk.Close()
Return
End If
mk.Send("/ppp/active/print", True)
For Each row In mk.Read()
If InStr(row, "!done") = 0 Then
strGrid = Split(row, "=")
Console.WriteLine(strGrid(4) & vbTab & vbTab & strGrid(12))
End If
Next
返回的数据包:
!re=.id=*139=name=malidan=service=pppoe=caller-id=00:11:43:57:B9:0F=address=172.16.0.108=uptime=00:22:14=encoding==session-id=2167406760=limit-bytes-in=0=limit-bytes-out=0=radius=true
!re=.id=*13A=name=zhaoliang=service=pppoe=caller-id=00:E0:4D:A5:B2:5E=address=172.16.0.107=uptime=00:13:41=encoding==session-id=2167406761=limit-bytes-in=0=limit-bytes-out=0=radius=true
!done
Routeros中通过对比本地外网IP和域名解析IP来更新动态域名
本脚本用ros中的计划任务功能,每10秒钟解析一次指定域名的IP地址,再对比本地要更新域名的接口,如果发生改变,则更新域名。
雕虫小技 ,有需要的拿去。
脚本和注解:
:if ( [/interface get [/interface pppoe-client find name=WAN] running ]=true ) do={ #如果在interface中存在已经连接上的pppoe接口,则执行下列语句。本列中pppoe接口名为WAN
:global ipResolved ([:resolve home.awolf.net] . "/32") #解析home.awolf.net,存入全局变量ipResolved。
:global ipLocal [ /ip address get [ /ip address find interface=WAN ] address ] #获得本地IP,即pppoe接口的IP,本例中为WAN接口IP
:if ($ipLocal != $ipResolved) do={ #如果解析的IP和本地接口IP不一致,则执行下列语句
:log info "WAN IP has been changed!" #记录日志:“WAN IP has been changed!”
:log info ("Resolved IP : " . $ipResolved) #记录日志:“Resolved IP:解析的IP地址”
:log info ("Local IP : " . $ipLocal) #记录日志:“Local IP:本地IP”
/tool dns-update zone="awolf.net" name="home" key=密码 key-name=用户名 address=[:pick $ipLocal 0 ([:len $ipLocal] - 3)]
#更新域名
:log info "All Done!" #记录日志“All Done!”
}
} else={ #如果interface中没有已经连接的pppoe接口
:log warning "Interface WAN is down!" #日志中提示“Interface WAN is down!”
}
>>完整脚本下载<<(点击查看,右键另存为下载)
将上面完整脚本下载,在ros中执行,然后用Winbox到System->Scheduler中,双击ddns-update把其中的帐号密码和域名等信息改成你自己的,无特殊情况的情况下应该可以正常更新了。
ros 3.30测试通过。
有问题欢迎联系我。