Posts Tagged RouterOS

routeros ddns更新失败的问题

Posted by on 星期三, 27 7月, 2011

上一次帮一个网友解决了ros DDNS更新失败的问题,解决办法其实很简单,他的DNS没填。

与网友讨论的ros算号失败如何解决

Posted by on 星期二, 19 7月, 2011

由于是邮件回复,阅读顺序应由下至上。

在 2011年7月13日 上午11:19,尘埃 <[email protected]>写道:

谢谢了!成功了,嘎嘎,太感谢了!
—————— 原始邮件 ——————
发件人: “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并没有执行算好操作,我真的不知道自己哪些步骤做错了,实验了很多次,都是用的你博客上的资源,在虚拟机上也破解不了,请高手给与直接,如果有问题提问我,请发到这个邮箱
谢谢!


RouterOS DNS劫持

Posted by on 星期日, 22 5月, 2011

RouterOS DNS劫持

  • 什么是DNS劫持

  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劫持

  有了DNS劫持,我们就可以随意控制路由器下游用户的域名解析,从而达到限制、强制访问某些网站;或者在用户访问不存在的网站时给予友好的提示;或者把IIS上多个站点用主机头区分……

  • 如何在Ros上做DNS劫持

  在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填写。

DNS设置

确定后在Winbox中选IP->Firewall,选NAT页面,点红色加号“+”,按下图设置:

Chian=dstnat,Protocol=UDP,Dst.Port=53,Action=dst-nat,To Address=192.168.27

General页设置

 

Action页设置

命令行设置:

/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效果图:

DNS劫持效果图

可以看到去往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

排除DNS劫持

ros winbox api 应用

Posted by on 星期五, 18 2月, 2011

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


ros对比ip动态域名更新

Posted by on 星期四, 6 1月, 2011

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测试通过。

  有问题欢迎联系我。