LinuxSir.cn,穿越时空的Linuxsir!

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

Iptables地址映射实例问题!

[复制链接]
发表于 2004-11-15 22:18:30 | 显示全部楼层 |阅读模式
公司遇到这样一个问题:
A机器安装双网卡,有公网IP地址,为eth1,有一内网IP,为eth0。另外网络中有两台机器,B有双网卡,有公网IP地址,有一内网地址为192.168.0.11,C为数据库,有内网网卡,地址为192.168.0.14。
现在需要在与A机器同一网内的机器中访问A机器上发布的程序,而A机器需要调取C机器的数据库。
实现方式设想为,在A机器中的程序数据库地址写为B机器的公网地址,在B机器中设置Iptables地址映射。具体配置为:
iptables -t nat -A PREROUTING -p tcp --dport 1521 -j DNAT --to 192.168.0.14:1521
iptables -t nat -A POSTROUTING -s any/0 -d 192.168.0.14 -j SNAT --to-source 192.168.0.11
实验结果不成功,无法调取远程网络中的数据库,请问以上Iptables配置中有不对的地方吗?
发表于 2004-11-15 23:03:44 | 显示全部楼层
没有看懂
iptables -t nat -A POSTROUTING -s any/0 -d 192.168.0.14 -j SNAT --to-source 192.168.0.11
这句的意义,这不是将上一句B-->C的数据包又指向B了么?
外网是没有数据包指向192.168.0.14的,而内网又不通过B(网关)
 楼主| 发表于 2004-11-16 22:28:05 | 显示全部楼层
如果只写第一句,是不是可以讲得通呀?我最大的疑问就是:是否可以只设置去的数据包(A通过B访问C的映射),不用再考虑数据从DB如何回到A机器呀?
外网没有访问192.168.0.14的目的数据包,但我是想将访问B的1521端口的包全部转发给C机器。应该如何写iptables配置?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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