找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6507|回复: 10

[其它] 动态IP的ADSL端口映射详解(图文原理实例)

[复制链接]
发表于 2008-1-19 11:53:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
动态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端口的回答
    out-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
    in-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换成你的就可以了
图片:  如图
故障处理:
  如果这样不成功的话,就要查找其他方面的原因,影响网络的因素是多方面的,原则就是一个:要有一个完整的信息回路,根据这一原则检查访问者的数据是否能成功到达被访问者,被访问者的回答是否能顺利回到访问者


[ 本帖最后由 hcb 于 2008-1-19 11:57 编辑 ]
1.JPG
routeros
发表于 2008-1-19 12:56:39 | 显示全部楼层
图太小了看不清楚
routeros
回复

使用道具 举报

发表于 2008-6-8 10:21:35 | 显示全部楼层
我是双线同网关rodam负载均衡,照着楼主的方法做了还是没有成功,望指教
routeros
回复

使用道具 举报

发表于 2008-6-8 20:12:19 | 显示全部楼层
问题是怎样把域名转换成动态的IP
routeros
回复

使用道具 举报

发表于 2008-6-12 21:24:50 | 显示全部楼层
根本就不行
routeros
回复

使用道具 举报

发表于 2008-6-13 12:59:17 | 显示全部楼层
应该是好帖但不知道能成不 没测试环境
routeros
回复

使用道具 举报

发表于 2008-7-16 14:08:29 | 显示全部楼层
测到IP用IP就可以,上面的根本就不行。那位可做城功的。求求
routeros
回复

使用道具 举报

发表于 2008-8-28 17:44:53 | 显示全部楼层
明白了许多 呵呵 谢谢楼上的了
routeros
回复

使用道具 举报

发表于 2008-9-2 08:40:15 | 显示全部楼层
看看学一下
routeros
回复

使用道具 举报

发表于 2008-9-2 14:30:32 | 显示全部楼层
试了一下,果然成功了!!!太谢谢楼主了
routeros
回复

使用道具 举报

发表于 2009-4-20 13:56:45 | 显示全部楼层
按以上方法设置后,果然外网输入域名可以访问到内网指定的映射IP,但是在内网输入域名无效,还是要输入被映射的IP。
routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-9-30 11:31 , Processed in 0.066717 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表