LinuxSir.cn,穿越时空的Linuxsir!

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

内网做WEB服务器,用iptables,请指教!

[复制链接]
发表于 2006-9-3 17:30:16 | 显示全部楼层 |阅读模式
公司内部局域网,用一台linux(IP:192.168.1.1)做网关,连接Internet,内部有一台Windows2003(IP:192.168.1.2)做web服务器。想在linux中通过使用iptables,使INTERNET能访问内部的windows2003 WEB服务器,即让访问linux网关的80端口转到访问Windows2003的80端口,请问使用如下iptables语句,可否实现这个功能:

iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 -j DNAT --to 192.168.1.2:80
发表于 2006-9-3 21:10:33 | 显示全部楼层
可以,没有问题
回复 支持 反对

使用道具 举报

发表于 2006-9-3 21:16:47 | 显示全部楼层
eip=$(ip addr show dev ppp0|grep inet | awk '{ print $2 }')

iptables -t nat -A PREROUTING -p tcp -d $eip --dport 80 -j DNAT --to 192.168.1.2:80

必须将访问网关外网地址的80端口的数据包重定向到内部的web服务器。
回复 支持 反对

使用道具 举报

发表于 2006-9-4 17:05:00 | 显示全部楼层
这样是实现不了效果的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-4 21:32:44 | 显示全部楼层
楼上,怎么说?应该如何实现?
回复 支持 反对

使用道具 举报

发表于 2006-9-5 08:31:56 | 显示全部楼层
语法是正确的。要是这个放在网关里实现一定没有问题,但在内网就不行。
网关情况A--->gateway-->B   回来的时候这样B-->gateway--->A
而内网A--->linux-->B        注意回来B------>A!!!!!!
回复 支持 反对

使用道具 举报

发表于 2006-9-5 08:48:38 | 显示全部楼层
我的意思是,你在做这个之前要对内网做SNAT。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-9-5 12:18:53 | 显示全部楼层
“你在做这个之前要对内网做SNAT”,ipv6ok兄,不太理解这句话。
我想,内网应该不用做了吧,因为windows2003也做了个DNS服务,内网机器可以认识到2003的正确域名,只是外网访问需要端口转换一下
回复 支持 反对

使用道具 举报

发表于 2006-9-6 16:19:19 | 显示全部楼层
你的linux有没有做内网的NAT啊。也就是做SNAT共享上网呀??
回复 支持 反对

使用道具 举报

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

本版积分规则

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