Posts Tagged ip

本地连接IP丢失问题解决

Posted by on 星期四, 29 九月, 2011

现象:

  在本地连接里设置好IP地址,点完确定之后TCP/IP设置就变成自动获得,重启电脑后IP地址丢失,无法连接网络。不得不在每次开机后重新设置IP。

  3台Dell2950现象完全一致,这使我觉得这问题可能是个通病,于是上网研究了下,找到如下解决办法。

解决办法:

  一、用注册表编辑器删除如下注册表项:(删除之前强烈建议备份注册表,以防万一)

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\Config
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Adapters\ { GUID }
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\ { GUID }

  二、到设备管理器里将网卡卸载掉;

  三、重启计算机并安装网卡驱动。

  如果仍然不行,可以在第三步安装驱动时尝试更新的驱动:

  Dell 2950 Broadcom BCM5708C NetXtreme 网卡驱动:>> 115网盘下载 | YunFile | Skydrive <<

VB枚举系统网卡代码

Posted by on 星期一, 28 三月, 2011

  通过枚举系统网卡,获得网卡名称,如果包含”TAP-Win32 Adapter”则说明找到OpenVPN的虚拟网卡。部分代码如下:

Public Function CheckTapDrive() As Long
Dim AdapterInfoSize As Long
Dim AdapterInfo As IP_ADAPTER_INFO
Dim AdapterInfoBuffer() As Byte
Dim ptr1 As Long
On Error GoTo CheckFailed
AdapterInfoSize = 0
Call GetAdaptersInfo(ByVal 0&, AdapterInfoSize)
ReDim AdapterInfoBuffer(AdapterInfoSize - 1)
If 0 = GetAdaptersInfo(AdapterInfoBuffer(0), AdapterInfoSize) Then
ptr1 = VarPtr(AdapterInfoBuffer(0))
Do While (ptr1 <> 0)
CopyMemory AdapterInfo, ByVal ptr1, IP_ADAPTER_INFO_LENGTH

If InStr(AdapterInfo.Description, "TAP-Win32 Adapter") <> 0 Then '此处即是如果找到OpenVPN的TAP虚拟网卡
CheckTapDrive = 1
Exit Function
End If
ptr1 = AdapterInfo.Next
Loop
End If
Exit Function
CheckFailed:
CheckTapDrive = -1
End Function

  完整代码下载:http://www.awolf.net/downloads/enum-network-adapter.zip

ros对比ip动态域名更新

Posted by on 星期四, 6 一月, 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测试通过。

  有问题欢迎联系我。

沈阳网通ping 2.2.2.2不通了

Posted by on 星期四, 15 四月, 2010

原来有个1.1.1.1 后来不知道什么时候1.1.1.1ping不通了,然后用2.2.2.2,结果现在2.2.2.2也不通了。。。

ros 中的 iptables

Posted by on 星期三, 24 二月, 2010

如果你想把ros吃透,必须把这几张图印到脑袋里。。。。。。

Mikrotik RouterOS 内核处理

IP数据包的传输过程

路由发送到ros

数据从ros产生

路由数据穿过ros

桥接数据穿过ros