LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1592|回复: 16

关于虚拟地址iptable

[复制链接]
发表于 2006-11-25 17:32:26 | 显示全部楼层 |阅读模式
现在有这么一个问题,我有一台网关,两张网卡,一个外网,一个内网,在外网卡上我绑定了三个公网ip(同一网段的),就是这种形式的,eth0,eth0:1,eth0:2.

其中两个虚拟ip地址分别映射到内网的两台视频服务器上
iptables -t nat -A PREROUTING -d 58.*.*.* -j DNAT --to 10.*.*.*
iptables -t nat -A POSTROUTING -s 10.*.*.* -j SNAT --to 58.*.*.*
就是类似这样的规则.(10.*.*.*就是视频服务器的地址)

eth0真实地址供网关本身使用,好远程控制.

现在是我用视频客户端在公网上访问这两台视频服务器时,看不到图象,说发起连接失败,但是如果我把eth0真实ip地址映射到其中一台视频服务器上时,就可以看到图象,不知在这里虚拟ip和真实ip有哪些功能上的差异,或者还需要甚么配置.

先谢谢各位的参与.
 楼主| 发表于 2006-11-25 20:54:01 | 显示全部楼层
有知道的吗,进来说说
回复 支持 反对

使用道具 举报

发表于 2006-11-25 22:59:35 | 显示全部楼层
实际上没必要弄两个别名,只要ip数据包需要从你的机器上转发(FORWARD),你就完全可以用iptables来做处理。
回复 支持 反对

使用道具 举报

发表于 2006-11-25 22:59:43 | 显示全部楼层
实际上没必要弄两个别名,只要ip数据包需要从你的机器上转发(FORWARD),你就完全可以用iptables来做处理。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-25 23:24:35 | 显示全部楼层
楼上的具体怎么实现,我用别名是要增加ip地址来映射内网的视频服务器,一对一的映射.
回复 支持 反对

使用道具 举报

发表于 2006-11-26 11:27:30 | 显示全部楼层
把你的完整的iptables设定发出来
另外,确认kernel上/proc/sys/net/ipv4/ip_forward为1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-26 12:21:02 | 显示全部楼层
iptable规则就是上面列出来的,是其中一个的映射,另外一个一样,就是改下地址,其它的我没有添加甚么规则,都是默认的,ip转发也已经打开.
回复 支持 反对

使用道具 举报

发表于 2006-11-26 20:32:38 | 显示全部楼层
我说的是有前提的,就是你的机器是网关,这样所有数据包都必须经过你的机器转发。这种情况下,直接使用你现在的iptables rules就能正常工作。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-26 22:15:48 | 显示全部楼层
你说的前提都满足,我疑惑的是为什么用真实地址做映射可以看到视频,而用虚拟地址映射却看不到视频.
回复 支持 反对

使用道具 举报

发表于 2006-11-27 09:42:58 | 显示全部楼层
其实这个问题你复杂化了,你完全可以把他简单化,让你的内网的两个服务器直接设置公网地址.
然后走路由,完全不需要iptables做转换什么的,因为服务器的流量大,如果再用iptables处理一下会使路由器成为整个网络的瓶颈.
所以你就做成老鹰抓小鸡的模式,把公网服务器放到你的后头,然后指路由,去往我后面的服务器的走我的内网口出去.这样的网络拓扑看起来不是十分安全,因为很多人认为他直接暴露在公网上了,但是你实际做出来之后你会发现你的网关仍然可以做包过滤.并且的透明过滤.反而让别人更难探测到网络内部结构.
回复 支持 反对

使用道具 举报

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

本版积分规则

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