|
|
发表于 2006-6-19 08:04:22
|
显示全部楼层
原帖由 javen520 于 2006-6-18 22:29 发表
回复 #4 loopylf 的帖子
呵呵~`经过我的实际测试~`我的服务器上可以正确明白的显示出访问我的外网 IP ~`
不过还是要谢谢你对我的提点~```
另附上我的 NAT 页 共享上网+映射+回流 完整三步~``
希望大家能给点指教~~```
/ ip firewall nat
add chain=srcnat out-interface=telecon src-address=192.168.0.0/24 action=masquerade comment="共享上网" disabled=no
add chain=dstnat dst-address=61.61.61.61 action=dst-nat \
to-addresses=192.168.0.200 to-ports=0-65535 comment="映射" disabled=no
add chain=srcnat src-address=192.168.0.200 action=src-nat \
to-addresses=61.61.61.61 to-ports=0-65535 comment="回流" disabled=no
以上就是我 共享上网 + 完全映射 + 回流 的完整三步
由于本人水平有限~`纰漏再所难免~`还望高人指点一二~`
你还是认真做做实验吧,如果在你的nat中仅这三条,那么从内网其它主机访问61.61.61.61是只能ping通而无法访问的,你ping 61.61.61.61会看到数据是从192.168.0.200返回的。
如:从192.168.0.3访问61.61.61.61数据包一定先转发给ros 的lan,显然匹配你上面第二条规则把数据包目地址转换为192.168.0.200,然后ros 查路由表,目地地址为192.168.0.200是ros lan的直连网络于是转发到lan接口出去,出端口时三条规则是都不会匹配的,数据到了192.168.0.200这台主机,对这台主机来说这个数据包的源地址是192.168.0.3,因为到目前为至没有匹配任何规则转换源地址,所以这是返回数据包目地地址一定192.168.0.3,那么这个数据包不会经过ros了,那来回不同路,访问还会成功吗?
还是这句话就你的上述三条规则第三条是没用的因为他已包含在第一条中了,
add chain=srcnat src-address=192.168.0.200 action=src-nat \
to-addresses=61.61.61.61 to-ports=0-65535 comment="回流" disabled=no
虽然这里没指定接口,但他只会发生在出telecon接口时匹配,因为数据包源地址是192.168.0.200只有目地地址是非内网地址时才会转发到ros 那这样的数据包在ros一定转发到telecon接口,出去时把源地址转换为61.61.61.61那不就是说已包含在第一条规则中了吗?
以上我做过实验,请各位指正。 |
|