電訊茶室's Archiver

colin2001 發表於 2015-5-25 21:51

【RouterOS】——内网跨网段访问实例-添加静态路由

分析:现在网络应用越来越多,跨网段访问经常也是我们遇到的情况,现在根据ROUTEROS配置环境进行跨网段访问。
拓扑图:
[attach]3559[/attach]
需求:现在是要PC1(192.168.1.33)和PC2(192.168.2.50)能够互相ping通

环境说明:Router1通过wan接口进行Adsl拨号上网,启用NAT,其他端口通过Bridge1进行桥接
                Router2通过ether1口(192.168.1.188),网关192.168.1.251上网,没有启用NAT转换(后面还有补充)。
                PC1,PC2,PC3测试均可上网。
                Router1\Router2均为RouterOS,其他路由(TP-Link745N测试不可行)
思路:实际测试,PC2(PC3)默认情况下已经可以Ping得通PC1(192.168.1.33)
         因为数据包PC2发送到PC1的数据包:Src:192.168.2.50 Dst:192.168.1.33
          数据包从ether1出去后(有路由跟踪)就进行广播,PC1收到广播(ping包)后,就返回数据包:      
          Src:192.168.1.33 Dst:192.168.2.50,ehter1收到包后,(路由跟踪?)把数据通过Bridge1回到PC2了,
          所以就能Ping通。
          PC1对PC2进行Ping操作后,发送数据包:Src:192.168.1.33 Dst:192.168.2.50,广播域内没有  
          192.158.2.0/24地址,直接把数据包通过默认网关ADSL送到外网去了,所以就不通。
          现在就是要通过静态路由,把192.168.2.0/24的数据都发送到192.168.1.188,然Router2进行查询
          自己的路由表,  
[attach]3560[/attach]  
           进行广播,发送到ether2的Bridge1的内部。
操作步骤:
在Router1添加一条Dst.Address:192.168.2.0/24,Gatway:192.168.1.188的静态路由就可以了。
[attach]3561[/attach]
补充:已经尝试,在Router2启用NAT,两边数据Ping互通。

colin2001 發表於 2015-5-25 21:53

如果错误,请大侠们指正。。。

思路部分有点混乱,譬如路由跟踪和查询路由表等,不知道是不是这样。。望请教!

角色 發表於 2015-5-25 23:12

[i=s] 本帖最後由 角色 於 2015-5-25 23:18 編輯 [/i]

写得不错!

PC2和PC3的IP Address是一样,估计你是打错。

角色 發表於 2015-5-25 23:17

[i=s] 本帖最後由 角色 於 2015-5-25 23:24 編輯 [/i]

我的拓扑图跟你差不多,但是PC1只能ping到Router 2的Bridge1,而不能ping到PC2(PC3)。:L

角色 發表於 2015-5-26 00:24

[i=s] 本帖最後由 角色 於 2015-5-26 13:50 編輯 [/i]

终于知道什么原因,为什么routerOS可以,而一般的Router不可以呢?

请大家看看我的RB951的/ip firewall filter,如下:[code]
[admin@MikroTik] > /ip firewall filter print
Flags: X - disabled, I - invalid, D - dynamic
0    ;;; default configuration
      chain=input action=accept protocol=icmp log=no log-prefix=""

1    ;;; default configuration
      chain=input action=accept connection-state=established,related log=no
      log-prefix=""

2    ;;; default configuration
      chain=input action=drop in-interface=ether1-gateway log=no log-prefix=""

3    ;;; default configuration
      chain=forward action=accept connection-state=established,related log=no
      log-prefix=""

4    ;;; default configuration
      chain=forward action=drop connection-state=invalid log=no log-prefix=""

5 X  ;;; default configuration
      chain=forward action=drop connection-state=new
      connection-nat-state=!dstnat in-interface=ether1-gateway log=no
      log-prefix=""
[admin@MikroTik] >
[/code]把上的number 5的firewall filter rule disabled,就可以,还有NAT要和不要都可以通。

还有一个现象就是,如果原先是通的,而把 number 5的rule disabled,那么ping的动作依然继续通,那么它们的路径都被router记录下来,链表暂时不更新。

如果不通后,再把rule 5 enabled,那么ping可以从不通变换成通。

colin2001 發表於 2015-5-26 02:41

你第五条是干嘛的?系统默认参数吗?connection-state=new 是新建的连接才会有的状态,如果第一个数据包过了。。这条过滤就没有效果了!

colin2001 發表於 2015-5-26 02:42

第一个数据包过了后的连接状态是established

角色 發表於 2015-5-26 13:51

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=41146&ptid=6637]6#[/url] [i]colin2001[/i] [/b]

Rules number 5是默认的,不是我自己加的。

角色 發表於 2015-5-26 13:51

[b]回復 [url=http://www.telecom-cafe.com/forum/redirect.php?goto=findpost&pid=41147&ptid=6637]7#[/url] [i]colin2001[/i] [/b]

可能就是这样的原因。

頁: [1]

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.