LinuxSir.cn,穿越时空的Linuxsir!

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

再问iptables的问题

[复制链接]
发表于 2003-5-1 01:20:16 | 显示全部楼层 |阅读模式
先说明一下我的环境,adsl上网,代理机用redhat8.0(内网eth0:192.168.1.1/24,接adsl eth1 192.168.254.254/24),用iptables做局域网nat的透明代理上网!局域网内有一web服务器(192.168.1.5)为redhat9.0+apache+php+mysql+vbb,在代理机上做端口映射以使外网能够访问内网的web服务器,局域网网内上网和外网访问web服务器一切正常!语句如下
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -d 192.168.1.5 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.1.1
iptables -t nat -A PREROUTING -p tcp -m tcp -d 218.*.*.* --dport 80 -j DNAT --to 192.168.1.5(218.*.*.*为adsl拨号所的动态ip)

现在的问题是,1:每次拨号都获得不同的ip,都要手动键入第三条语句,修改相应外网ip地址,较为麻烦,对于第三条命令如何能与网卡地址
(或是ppp0)绑定?,不用修改动态ip地址,把上述语句写入rc.local,一开机就运行 2:人家访问web服务器的时候记录下的ip地址都是代理机的地址(192.168.1.1),不是真实的ip地址,如何才能显示访问者真实的ip呢?谢谢!
发表于 2003-5-1 11:58:59 | 显示全部楼层
iptables -t nat -A PREROTING -i ppp0 -p tcp --dport http -j DNAT --to 192.168.1.5:80
发表于 2003-5-1 12:10:11 | 显示全部楼层
iptables -t nat -A PREROTING -P tcp -m tcp ppp0 --dport80 -j DNAT --to 192.168.1.5
这样不可以吗。上面做地址转换可以用ppp0为什么在下面不可以用(我也不知道能不能用)
 楼主| 发表于 2003-5-1 15:45:47 | 显示全部楼层
楼上几位的语句,我试过了,外网能正常访问的,内网不能通过域名正常访问,看来只能通过内网ip直接访问了!以前想过这个方法,试过内网不行的,倒是没注意外网,今天叫外面的人试了一下!
发表于 2003-5-2 10:54:07 | 显示全部楼层
如果你的外网是固定IP的话,是可以用iptables使内网用户用域名直接访问WEB服务器的。

现在的情况,只能设置域内的DNS服务,让内网用户在解析域名时解析成内网IP。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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