加入收藏 设为首页
 服务热线:0532-85779617  
首 页 疑难解答 技术文章
    免费动态域名解析,找青岛每步!欢迎光临青岛每步!
ROS(ROUTEROS) ADSL 端口映射 详解
 
ROS(ROUTEROS) ADSL 端口映射 详解 2011-7-23
动态IP的ADSL端口映射详解(图文原理实例)
动态IP的ADSL端口映射详解

适用环境:
ROS 2.9.27
原理:
大家平时都在打电话,你打过去,对方要回答你,一直到挂机。有时候出现故障,你能听见对方说话,而对方却听不见你说什么,
也有反过来的,你听不到对方的回答,对方却能听到你的声音,这两种情况,你的电话交谈都是没法进行下去的。
网络访问也一样,有一个信息的请求方,和一个信息的回答方,缺一不可。
因此,端口映射要包括这两个方面,才能正确的连接。
访问者发送请求到服务器,路由上用dst-nat来进行转接,意思就是把访问者访问的地址转接到一个最终的被访问这地址
被访问者收到请求后,就回答访问的请求,路由上用src-nat来转接
经常有人说映射不成功,其中的原因之一,很多都是只做了dst-nat,而没有做src-nat。试想一下,你打了一个人的电话,却听不见对方的声音,你打的电话能叫做成功吗?有的人只做了dst-nat也能成功,是因为在其他的设置方面,无意的完成了src-nat的功能
动态IP的ADSL,由于其IP地址是经常变化的,所以不适合用IP做参数来映射,ROS提供了接口这个参数,而ADSL的接口名是不变的,因此用接口名来做参数就可行,意思是只要访问这个接口,就把他转接到指定的IP上去,而不管这个接口是什么IP
实际例子:
明白了原理之后,就用一个实际的例子进行试验
实验环境:ADSL的接口名为TEL-ADSL,内网HTTP服务器IP为192.168.0.10
先做dst-nat:
  chain=dstnat
   protocol=tcp
   src-port=80    记得这里是src-port,而不是dat-port,意思是服务器80端口的回答
   in-interface=TEL-ADSL 关键就在这里,不用dst-address而用这个,因为是从外面来的访问,所以是in接口
   action=dst-nat
   to-address=192.168.0.10
   to-port=80
然后做src-nat:
   chain=srcnat
   protocol=tcp
   dst-port=80
   out-interface=TEL-ADSL 是回答外网,所以是out接口,可以不选,若是有多外线的情况下,建议选上,以保证回答的数据走的是访问者来的线路,试想一下,如果你用移动的打电话,对方用连通的回答你,电话能打成吗?
   action=masquerade 用这个不必指定IP,固定IP的线路可以用src-dat

脚本代码:
/ip firewall nat
add chain=dstnat in-interface=TEL-ADSL protocol=tcp dst-port=80 action=dst-nat \
   to-addresses=192.168.0.10 to-ports=80 \
   comment="测试ADSL端口映射--用户发出请求" disabled=no
add chain=srcnat out-interface=TEL-ADSL src-address=192.168.0.10 protocol=tcp \
   src-port=80 action=masquerade comment="测试ADSL端口映射--服务器回应" \
   disabled=no

你把ADSL名字和服务器IP换成你的就可以了
障处理:
如果这样不成功的话,就要查找其他方面的原因,影响网络的因素是多方面的,原则就是一个:要有一个完整的信息回路,根据这一原则检查访问者的数据是否能成功到达被访问者,被访问者的回答是否能顺利回到访问者
回顶端
 
 
经营许可证号:鲁B2-20051021号 鲁ICP备09083222号
Copyright © 2010 www.meibu.com All Rights Reseved 青岛每步数码科技有限公司 版权所有