LinuxSir.cn,穿越时空的Linuxsir!

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

iptables 做DNAT不成功,请高手们帮帮忙。

[复制链接]
发表于 2006-11-6 11:49:13 | 显示全部楼层 |阅读模式
iptables -F
iptables -t nat -F
iptables -t magle -F
iptables -X
iptables -t nat -X
iptables -t magle -X

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$INTERNET_IP=10.0.0.1
$fw_ip=192.168.1.254
$OUTNET=192.168.1.O/24
$WEB_SERVER=192.168.1.1
$Email_SERVER=192.168.1.2
#eth0 接internet
#eth1 接内网
iptables -t nat -A PREROUTING -i eth0 -p tcp -d 10.0.0.1 --dport 80 -j DNAT --to 192.168.1.1:80
iptables -t nat -A PREROUTING -i eth0 -p tcp -d 10.0.0.1 --dport 25 -j DNAT --to 192.168.1.2:25
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.1.0/24 -j SNAT --to 10.0.0.1

这样设置好后不知道为什么就不能访问web_server 与发邮件到email_server.
请问我这样写有问题吗。
发表于 2006-11-6 15:39:37 | 显示全部楼层
开启IP转发了吗?

另外,再加一条

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-6 16:57:23 | 显示全部楼层
好,我再试试看.
回复 支持 反对

使用道具 举报

发表于 2006-11-6 19:30:49 | 显示全部楼层
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

有了上面三条规则后,根据你的脚本,就不要加下面2条了(题外话)。
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

还有,你的防火墙是否开启了80或者25端口

还有,给你一个建议:
这么设置后,在网关上抓包,然后从外网访问,同时在内网的机器上也抓包,看看问题出在什么地方。
照理,这么设置应该不会有问题的。

还有,你的这台机器是否是内网机器的缺省网关?


建议你提供下面的信息:
ip link
ip addr
ip route
iptables-save
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 08:20:30 | 显示全部楼层
Post by springwind426
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

有了上面三条规则后,根据你的脚本,就不要加下面2条了(题外话)。
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

还有,你的防火墙是否开启了80或者25端口

还有,给你一个建议:
这么设置后,在网关上抓包,然后从外网访问,同时在内网的机器上也抓包,看看问题出在什么地方。
照理,这么设置应该不会有问题的。

还有,你的这台机器是否是内网机器的缺省网关?


建议你提供下面的信息:
ip link
ip addr
ip route
iptables-save


我现在想一定是 shorewall 的问题,安装个 webmin来配置最简单不过了。
不过没有用过,要用 webmin  ,是不是一定要用KDE桌面?
回复 支持 反对

使用道具 举报

发表于 2006-11-7 09:47:24 | 显示全部楼层
肯定的拉.字符怎么搞?呵呵
回复 支持 反对

使用道具 举报

发表于 2006-11-7 11:07:57 | 显示全部楼层
webmin用什么桌面都行,只要有个图形化的浏览器。

服务器上可以没有桌面,用作管理的客户机上有也行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-11-7 12:05:03 | 显示全部楼层
Post by kingduanlian
webmin用什么桌面都行,只要有个图形化的浏览器。

服务器上可以没有桌面,用作管理的客户机上有也行。

哦~~原来 这样。那我安装好webmin后,在client 上ssh到 server, 再运行 webmin这样也可以吧。
不过用没有webmin也没有关系,学习了一个多小时shorewall,也已经知道怎样在command下设置了。
回复 支持 反对

使用道具 举报

发表于 2006-11-7 14:02:36 | 显示全部楼层
webmin应该是基于php编写的一套管理软件,就像apache+php的服务器端不用桌面一样,webmin的服务器端也不需要,访问者要的浏览器。

至于用ssh登上去后能不能用就不清楚了。
回复 支持 反对

使用道具 举报

发表于 2006-11-7 19:40:18 | 显示全部楼层
Post by kingduanlian
webmin应该是基于php编写的一套管理软件,就像apache+php的服务器端不用桌面一样,webmin的服务器端也不需要,访问者要的浏览器。

至于用ssh登上去后能不能用就不清楚了。


没有用过就不要乱讲。

webmin 是纯粹由 perl 做成的,包括web服务器。


实际上,webmin就是一个web界面的管理工具,是模块化结构,需要做什么配置,只要有相应的模块就可以。

其中有专门配置 shorewall 的,也有专门配置 防火墙的(用的是iptables)

不过它的shorewall模块不新,对于最新版本的shorewall,有许多不能正确配置(仍然需要手动更改配置文件。)
回复 支持 反对

使用道具 举报

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

本版积分规则

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