QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4608|回复: 40

〈求助:急〉nat映射的问题:iptables

[复制链接]
发表于 2004-12-12 14:15:56 | 显示全部楼层 |阅读模式
1.WEB服务器 IP:222.*.*.* 系统:windows 2003 ES
2.mail服务器 eth0:223.*.*.* eth1:172.16.33.2 系统:REDHAT ES3
3.内网存储服务器 eth0:10.*.*.* eth1:172.16.33.1 系统:WINDOWS 2003 ES
4.mail服务器eth1和内网存储服务器eth1通过交叉线直连

我准备在web服务器上写个批处理,自动将处于外部的WEB服务器上的重要数据通过mail服务器映射备份到内部的存储服务器上,想把mail服务器上的7001端口映射到内网存储服务器上的ftp上,先前已经在mail上写过iptables,只开了22,80,25,110,3306端口,默认INPUT是DROP的。内网存储服务器上一建立了ftp,目标是:在WEB服务器上,用浏览器打:ftp://223.*.*.*:7001能够成功登陆到内网存储服务器上的ftp目录里面,或者用cuteftp等软件接连223.*.*.*的7001端口能连接到内网存储的172.16.33.1上的ftp上去。
请热心的朋友帮帮我,该怎么写iptables,谢谢!
发表于 2004-12-12 16:22:11 | 显示全部楼层
以下操作全在mail服务器上
①echo "backup_ftp 7001">>/etc/services
②建立这样一个文件/etc/xinetd.d/backup_ftp内容如下:
service backup_ftp
{
disable=no
socket_type=stream
wait=no
user=root
redirect=172.16.33.1 21
}
③service xinetd restart
回复

使用道具 举报

 楼主| 发表于 2004-12-13 08:52:40 | 显示全部楼层
好的,我马上做测试。
回复

使用道具 举报

 楼主| 发表于 2004-12-13 09:20:47 | 显示全部楼层
按您的做法后,在浏览器里打入:ftp://user:passwd@223.*.*.*:7001/
打回车
等了一会,弹出一个窗口:windows无法访问此文件夹。请确保输入的文件名是正确的,并且您有权访问此文件夹。详细信息:操作超时。
  不行啊,不用写iptables吗?还有其他方法吗,我在线等。
回复

使用道具 举报

发表于 2004-12-13 10:24:47 | 显示全部楼层
我的方法不用写iptables,
你先要保证内网存储服务器的FTP服务对它的eth1可用,即你要保证在mail服务器上执行下面的命令是成功的:
ftp 172.16.33.1
并能正确的输入用户名和密码。
回复

使用道具 举报

发表于 2004-12-13 10:47:02 | 显示全部楼层
变动一下步骤一试试:
先将上次添加到/etc/services中的最后一行“backup_ftp 7001”删掉,再

echo "backup_ftp 7001/tcp">>/etc/services
echo "backup_ftp 7001/udp">>/etc/services
③service xinetd restart
回复

使用道具 举报

 楼主| 发表于 2004-12-13 13:00:31 | 显示全部楼层
xmlcf你好,我在mail上,ftp 172.16.33.1 完全可用,我刚按照你的办法将backup-ftp 7001删除,并添加了tcp和udp的7001,但结果还是不行,返回消息和刚才一样~,不知道为什么,在线等待你的帮助
回复

使用道具 举报

发表于 2004-12-13 13:22:45 | 显示全部楼层
将backup-ftp 7001删除,并添加了tcp和udp的7001之后要重启xinetd,即
service xinetd restart
如果还不行,请检查你的xinetd是否已经正确打开7001端口:
netstat -anptu|grep 7001
要看到类似的输出才行
tcp           0         0 0.0.0.0:7001                0.0.0.0:*                                    LISTEN          3800/xinetd
回复

使用道具 举报

发表于 2004-12-13 13:40:19 | 显示全部楼层
ecapslock, 很不好意思,我错了,在/etc/services中就已经有7001端口了,不用添加。

现将更正办法描述如下:
在/etc/services中不用添加任何内容
①将以前在/etc/services添加的如下两行内容删掉
back_ftp 7001/tcp
back_ftp 7001/udp
②将先前的/etc/xinetd.d/backup_ftp修改成文件/etc/xinetd.d/afs3-callback内容也修改如下:
service afs3-callback
{
disable=no
socket_type=stream
wait=no
user=root
redirect=172.16.33.1 21
}
③service xinetd restart
回复

使用道具 举报

 楼主| 发表于 2004-12-13 14:26:58 | 显示全部楼层
netstat -anptu|grep 7001后没有出现你说的tcp 0 0 0.0.0.0:7001 0.0.0.0:* LISTEN 3800/xinetd
我都做了好几遍了,不知道为什么会这样?
回复

使用道具 举报

发表于 2004-12-13 15:13:44 | 显示全部楼层
看到我上面写的更正办法没有?
回复

使用道具 举报

 楼主| 发表于 2004-12-13 15:36:45 | 显示全部楼层
马上试验
回复

使用道具 举报

 楼主| 发表于 2004-12-13 15:58:41 | 显示全部楼层
刚做了你的跟正方法,netstat -anptu|grep 7001还是没有显示,ftp://user:passwd@223.*.*.*:7001/ 还是提示错误,我忘了告诉你,我内网的数据存储有两块网卡,一快连在内部网(这块上有设网关),一块和223.*.*.*直连,但没有设网关,只是把他们放在同一个子网里面,会不会和这个有关。
回复

使用道具 举报

发表于 2004-12-13 17:36:12 | 显示全部楼层
我不是很清楚你网络的结构,但这个不要紧,你只要保证下面3个条件满足就行
首先,mail服务器到内网存储服务器是通的,验证方法是在mail服务器上执行
ftp 172.16.33.1
能成功登录
其次,web服务器到mail服务器是通的,可以在web服务器上登录mail服务器上的任一个服务(SSH、Telnet),能成功就可以了
再次,mail服务器要做好两个服务器之间的转发,即要有7001端口开启服务
netstat -anptu|grep 7001还是要有结果。
回复

使用道具 举报

发表于 2004-12-13 20:27:49 | 显示全部楼层
如果netstat -anptu|grep 7001还是没有显示的话,查看如下命令:
chkconfig --list|grep afs3-callback
这个命令至少有输出。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-6 19:34 , Processed in 0.051788 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

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