ROS双WAN线路及回流

环境:

1、第一条:电信静态IP,一级路由分配的IP;第二条:移动光纤

2、通过指定某些IP走电信,某些走移动

注意:

1、当有多条线路进行NAT伪装时,Out. Interface这个必须选择具体的网卡,不能默认只用一个,不然会出现偶尔断线的情况

2、指定某些IP走电信的原理是通过在防火墙的Mangle打标签,然后再路由表上匹配标签,但此时需要特别注意,只要打了标签之后,在路由表默认留空的标记不会匹配打了标记的,这一点不要以为留空就会在没有匹配到标记会走默认的。

下面是核心部分:

1、双线搭建参考(略):

2、防火墙Mangle打标记

3、路由表根据打的标记配置路由

回流设置

之前一直看网上教程来配置,虽然使用没什么问题,但没有真正细究过数据的流向。这些天闲来有空,把Linux IPtable方面的东西看了下,感觉还是有必要简单解释一下自己对于ROS回流配置的理解。

  1. 首先要理解一下,什么是ROS的防火墙。先看鸟哥的图: (原文:http://vbird.dic.ksu.edu.tw/linux_server/0250simple_firewall_3.php) ROS回流数据流探究——使用动态域名从内网访问内部服务器 ROS回流数据流探究——使用动态域名从内网访问内部服务器 概念相当清晰,最大的是table,table包含chain(绿色的部分,Filter,NAT,Mangle),然后chain包含很多的Policy和Rule。无数的ROS教程根本没有说清楚,鸟哥的私房菜令人茅塞顿开。
  2. Linux IPtable,以及和ROS IPtable 的对应 Linux数据流(mangle table已经被精简): ROS回流数据流探究——使用动态域名从内网访问内部服务器 ROS防火墙table: ROS回流数据流探究——使用动态域名从内网访问内部服务器 由此可以清楚得看到,ROS 的 Filter Rules、 NAT 表,即是 Linux 的 filter、NAT表。 而表里面的 Chain 也是有对应关系的,只是名称有所不同。 ROS里面,NAT有 dst-nat/dstnat 和 masquerade/srcnat 的 chain,分别对应以上 Linux 中的 nat/PREROUTING 和 nat/POSTROUTING 的 chain。 ROS回流数据流探究——使用动态域名从内网访问内部服务器

  3. 有了以上的理解,再来看数据流。 本次实验目的: 199可以通过RDP连接 show.testing.demo:13389 来访问 92 的远程桌面服务 «ROS NAT 回流.vsd» ROS回流数据流探究——使用动态域名从内网访问内部服务器

数据流分析结果:

«ROS NAT 回流——iptable 原理.vsd» ROS回流数据流探究——使用动态域名从内网访问内部服务器

  1. 数据从199发出,目标地址124.x.x.x,目标端口 13389,到达ROS的端口 E1。首先经由 nat/PREROUTING (即 NAT dst nat 表)表判断。 ROS回流数据流探究——使用动态域名从内网访问内部服务器 发现防火墙 #0 规则即吻合,于是将数据包的目标地址转换成 192.168.10.92,目标端口转换成 3389,然后数据包流向 ②。 ROS回流数据流探究——使用动态域名从内网访问内部服务器
  2. 路由判断,发现数据是流向 92,于是走 B路径,去往 filter/FORWARD。
  3. 数据到达 nat/POSTROUTING(即 masquerade/src-nat),吻合防火墙第二条。 masquerade/src-nat 将源地址为 192.168.10.0/24 的所有数据包在外发的时候,将源地址变成ROS的外网地址,然后从 E2 将数据包送出。 ROS回流数据流探究——使用动态域名从内网访问内部服务器

至此,整个数据包从客户端访问服rdp务器单向结束。从服务器回流数据类似,不再做解释。

Table of Contents