LinuxSir.cn,穿越时空的Linuxsir!

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

请教如何用iptables做端口映射,映射web服务器和ftp服务器!

[复制链接]
发表于 2004-4-19 15:31:54 | 显示全部楼层 |阅读模式
拜托把你们的规则铁出来,让我学习借鉴一番,在网上搜了3天了,试过了
n多别人的规则,都没有成功。
我现在的情况是局域网里面的web,ftp服务器均不能让外面访问,我们外面
ip是202.114.a.b,在局域网里面以内部ip为192.168.0.2的机子上做了
一个web服务器和ftp服务器,规则中加入了下面的两条
/sbin/iptables -t nat -A PREROUTING -d 202.114.a.b  -p tcp --dport 80 -j DNA
T --to 192.168.0.2
/sbin/iptables -t nat -A POSTROUTING -d 192.168.0.2   -p tcp --dport 80 -j S
NAT --to 192.168.0.1
web服务器在内部局域网里面用202.114.a.b或者
192.168.0.2都能访问,如果没有上面的两条,只能在局域网里面
通过 192.168.0.2 访问web服务器!!
有两个问题要请教:第一,就是要想办法要让局域网外部的ip用202.114.a.b也能访问内
部的
web服务器;就是输入202.114.a.b,自动映射到192.168.0.2上去,内部和外部ip都能映
射!
第二,想办法让局域网外面的ip通过ftp://user:passwd@202.114.a.b能
够访问内部的ftp服务器。

请大家不吝指教!!
bowing
谢谢先!!!!
btw:我在用windows2000做服务器时候,这两个问题很好解决,
用的是porttunel做了端口映射,但是由于感觉2k太不稳定了,
换了redhat9.0做了服务器。
再次谢谢各位!!!!!
发表于 2004-4-20 09:15:12 | 显示全部楼层
 楼主| 发表于 2004-4-20 19:08:10 | 显示全部楼层
我在教育网,打不开这个链接!郁闷死
发表于 2004-4-21 14:03:01 | 显示全部楼层

回复: 请教如何用iptables做端口映射,映射web服务器和ftp服务器!

  1. [color=red]iptables -t nat -A PREROUTING -d 202.114.x.x -p tcp --destination-port 80 -j DNAT --to 192.168.0.2
  2. iptables -t nat -A OUTPUT-s 192.168.0.2 -p tcp --source-port 80 -j SNAT --to 202.114.x.x

  3. iptables -t nat -A PREROUTING -d 202.114.x.x -p tcp --destination-port 21 -j DNAT --to 192.168.0.1
  4. iptables -t nat -A OUTPUT-s 192.168.0.1 -p tcp --source-port 21 -j SNAT --to 202.114.x.x[/color]
复制代码


至于,iptables有ftp的扩展模块,man iptables看看有哪些参数,以上只是简例而言。
 楼主| 发表于 2004-4-22 09:12:21 | 显示全部楼层
老大,你这两句话都有错

.[root@serveroutside root]# /sbin/iptables -t nat -A PREROUTING -d 202.114.12.21 -p tcp --destination --port 80 -j DNAT --to-destinaton 192.168.0.2
iptables v1.2.7a: multiple -d flags not allowed
Try `iptables -h' or 'iptables --help' for more information.
[root@serveroutside root]# /sbin/iptables -t nat -A OUTPUT-s 192.168.0.2 -p tcp --source-port 80 -j SNAT --to-source 202.114.12.21
Bad argument `192.168.0.2'
Try `iptables -h' or 'iptables --help' for more information.
[root@serveroutside root]#
发表于 2004-11-17 10:00:30 | 显示全部楼层
第一条是内网通过网关代理上网的。如
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -o eth0 -j MASQUERADE
第二条是外网通过网关访问内网的。如
iptables -t nat -A PREROUTING -d 202.199.*.* --dport 80 -j DNAT --to 192.168.0.2:80
ftp的方法和上面同,端口一换就好,我的qq是327304050,你可以家我
发表于 2004-11-19 01:49:42 | 显示全部楼层

Don't use cut-and-paste blindly!!!

<quote>
老大,你这两句话都有错

.[root@serveroutside root]# /sbin/iptables -t nat -A PREROUTING -d 202.114.12.21 -p tcp --destination --port 80 -j DNAT --to-destinaton 192.168.0.2
iptables v1.2.7a: multiple -d flags not allowed
Try `iptables -h' or 'iptables --help' for more information.
</quote>

Should be "--destination-port 80" instead of "--destination --port 80", or "--dport 80". There is only a single "-" between "destination" and "port"

<quote>
[root@serveroutside root]# /sbin/iptables -t nat -A OUTPUT-s 192.168.0.2 -p tcp --source-port 80 -j SNAT --to-source 202.114.12.21
Bad argument `192.168.0.2'
Try `iptables -h' or 'iptables --help' for more information.
[root@serveroutside root]#
</quote>

Should be "-A OUTPUT -s 192.168.0.2" instead of "-A OUTPUT-s 192.168.0.2". There is a space character between "OUTPUT" and "-s".

If you don't understand the syntax, don't just use cut and past blindly!!!

Please also note that for ftp service, there are two modes, for active mode, you also need open tcp port 20, for passive ftp mode, you need open a higher tcp port (>1024).

A random observer.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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