ROS如何让局域网特定的某个机子不上网 ros端口映射配置( 二 )


比如,要让内网的电脑通过ros访问外网,那么就由与公网连接的网卡做snat,在添加src-nat规则时,general页的out. interface就应选"外网卡",当然,用默认设置"all"也就包含了"外网卡",但这不利于理解src-nat
理解了src-nat ,dst-nat就很好理解了,src-nat是ros将内网电脑发出的数据包的地址中的源地址进行转换然后发往外网,在数据包中,被转换的地址是源地址,所以叫源地址转换.而dst-nat则刚好相反,它是ros将公网发来的数据包的地址中的目的地址进行转换(当然这个目的地址就是ros的公网ip),然后发给内网的电脑,在数据包中,被转换的地址是目的地址,所以叫目的地址转换.
同样,dst-nat除了指定转换后的地址外,也将涉及是在那块网卡(接口)上进行,例如,要将公网发给ros的a端口的数据包转给内网ip为b的c端口,那么设置好a\b\c的值后,在dst-nat规则general页的in.interface里,应选择与b地址网段相连的网卡(接口),显然这是一块内网卡,当然,用默认设置"all"也就包含了这块"内网卡",但这不利于理解DST-nat
.到这里可以明白什么是端口映射了,它就是dst-nat中的一条转换规则.
再来谈"回流",引用一段文字--"什么叫回流呢,就是当内网有服务映射到网关后,内网主机也可以用网关外部地址访问"
由上面的定义可以清楚"回流"要完成的操作:1\内网电脑向ros发送目的地址为公网ip的数据包(当然这个IP就是ROS的公网IP).2\ros通过源地址转换规则(SRC-NAT)中选定的A网卡(接口)将数据包地址中的源地址转换为公网IP(目的地址不变,仍为公网IP)3\ROS通过目的地址转换规则(DST-NAT)中选定的B网卡(接口)将数据包地址中的目的地址转换为内网地址,然后发给相应的内网电脑.
但是问题来了,如果A网卡(接口)将数据包地址转换后就往公网发送,那么数据包就无法再回到路由器并转发给内网了.
如果能让数据包不出路由器,在路由器内完成SRC-NAT和DST-NAT这两种地址转换,那么就可以实现回流了.
呵呵,让A=B就可以实现了.就是说,添加一条SRC-NAT和一条DST-NAT规则,而这两条规则中所指定的网卡都是与内网相连的同一块网卡.
上面的论述,在1WAN2LAN,动态拨号环境下,测试验证,没有出现矛盾 。
当然动态拨号时,外网卡应选"PPPOE-OUT",还要编写相应的脚本,动态更新to src.address,这比较麻烦,所以动态拨号用户的地址
关于ros端口映射和ros端口映射配置的介绍到此就结束了,不知道你从中找到你需要的信息了吗?如果你还想了解更多这方面的信息,记得收藏关注本站 。
查看更多关于ros端口映射的详细内容...
Tags:ros端口映射ros端口映射配置


推荐阅读