首 页 教育新闻课件中心论文中心教学教案试题中心语文专题综合下载技术教程公务员  
设为首页
加入收藏
联系我们
您当前的位置:中国教育资源网 -> 技术教程 -> 网络相关 -> 服务器 -> 代理服务器 -> 技术内容 退出登录 用户管理

iptables“小”问题解决过程,拿出来感慨一下代理服务器教程

论文作者:佚名  论文来源:不详  论文发布时间:2006-6-19 18:14:52  论文发布人:chjchjchj

减小字体 增大字体

              摘要:iptables“小”问题解决过程,拿出来感慨一下
同事让我做一个简单的端口映射,以前认为对iptables有所了解,本想很轻松的问题,却煞费我苦心。草写了一下这个过程,拿出来与CU的兄弟姐妹们分享讨论一下。

这里247代表202.*.*.247 ----这是公司的代理服务器
    107代表192.168.0.107---公司内网的一台机器,不过是双网卡,另一网卡是202.*.*.127(由于这个IP有一定要求,所有没有直接再此IP上配置外网访问8088,而用247的端口映射。)
    外网61地址表示一个61.*.*.*的公网地址

这次想尝试将247:12121映射到内网107:8088上
按照以往形式在Iptables表里面写了:
iptables -t nat -A PREROUTING -d 202.*.*.247 -p tcp -m tcp --dport 12121 -j DNAT --to-destination 

192.168.0.107:8088
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.107 -p tcp -m tcp --dport 8088 -j SNAT 

--to-source 202.*.*.247

本以为这样完全OK了,可是结果呢,两句话全都没有起作用,而且用其他人的机器访问247:12121也没有问题,唯独我的机器有问题,为什么呢?

是不是107这台机器有什么问题呢,用192.168.0.1 ping了一下107,没有问题啊,防火墙权限是开的啊?

哦,那就是107上的Iptables作怪了,ssh上107,iptables stop了一下,再试一试,结果?还是一样,为什么呢?

看了一遍iptables的脚本,发现这部分-----

#43 《我的机器》 open
/sbin/iptables -I FORWARD 1 -s 192.168.0.43 -d any/0 -j ACCEPT
/sbin/iptables -t nat -I PREROUTING -s 192.168.0.43 -d any/0 -j ACCEPT
(这是我刚加的一个 MY IP 全放开的命令,只为了能上上MSN)
首先我把第二句注释掉了,重启IPTABLES,没有什么变化,和以前的结果是一样的。
我又注释掉了第三句,重启,发现有了变化,用192.168.0.*的机器访问202.*.*.247:12121,想要的结果出来了,而外网的地

址仍然不行。这又是为什么呢

原来结果出现变化的原因出现在这里:

43 《我得机器》 open这段话在脚本中是放在端口映射那两句话的后面的,而且都用的参数-I,这样IPTABLES针对-s 192.168.0.43的规则

就变成iptables -t nat -I PREROUTING -s 192.168.0.43 -d any/0 -j ACCEPT,也就是说 -j ACCEPT 覆盖了 -j SNAT,这样

的话,结果当然不对了。

一个问题就这样解决了,关键的问题又应该如何解决呢?

先接着试:用外网61地址访问247:12121,同时在107上监控一下tcpdump,发现在107这个IP的网卡上,只有61地址》107的包,

107为什么没有回复呢?

再打开127这个IP的网卡,哦,原来在这,这里是107》61地址。-----此时,,好像明白了一些。

理解---》61地址访问247:12121,被DNAT成61地址访问107:8088而通过107这个IP的网卡进入107这台机器。107一看是外网

的一个地址,回复:从107》61地址,由于107这台机器的网关设置的是127这个IP,那么107》61地址的包就通过网关127出去访问61的地址了,61地址一看是127来了包,当然不会接受了。所以结果出不来,,原因在此啊。修改网关,改成192。168。0。1再试试,一切OK。 

回想起来,其实整个过程并不复杂,由于当时急于解决问题,没有仔细分析整个过程,也没有注意可爱的tcpdump,弄得是花了时间没结果,唉,下不为例了。

 段誉 回复于:2005-06-14 00:24:12感谢楼主分享经验,严重支持!

 dawei1981 回复于:2005-06-14 16:00:59顶!~

 zzzzzjjjjj 回复于:2005-06-15 11:19:29其实发表一些自己平时的工作点滴,论坛会很热闹的。

 glider126 回复于:2005-06-15 12:15:10iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -d 192.168.0.107 -p tcp -m tcp --dport 8088 -j SNAT 

--to-source 202.*.*.247 

这句好像是多余的吧~~~

 zzzzzjjjjj 回复于:2005-06-15 13:16:06呵呵,没有这句话,身处192.168.0.0/24网段的同志们就无法连接247:12121。

 zzzzzjjjjj 回复于:2005-06-15 13:26:54道理是这样的:

  192的地址访问247:12121,PREROUTING将包DNAT到192.168.0.107,当107准备回应的时候,一看是192的地址,当然就直接回应过去了,而当192的那个地址收到这个回应的时候,发现自己发给247的请求,怎么107回复了,一概拒收,所以整个请求就不会建立成功,只有通过POSTROUTING去修改这个源地址,才可以让107的回应回到247。

 zwwzb 回复于:2005-07-13 07:23:15学习ing……

[] [返回上一页] [打 印] [收 藏]  
 ∷相关技术评论  (评论内容只代表网友观点,与本站立场无关!) [查看发表评论...]
 
 中国教育资源网免费技术教程下载中心-站内广告 站内广告 中国教育资源网免费技术教程下载中心-站内广告 
 中国教育资源网站内搜索 站内搜索 中国教育资源网站内搜索 
 

   
 中国教育资源网免费技术教程下载中心-栏目导航 栏目导航 中国教育资源网免费技术教程下载中心-栏目导航 
· Windows 9XMEXP · Windows NT20002003
· LinuxBSD · 系统综合
· IISApache · 硬件技术
· Web服务器 · FTP服务器
· 邮件服务器 · 域名服务器
· Windows服务器 · 代理服务器
· 服务器综合
 
中国教育资源网免费技术教程下载中心-相关教程  相关技术 中国教育资源网免费技术教程下载中心-相关教程
· iptables与ipchains
· [图文] iptable 使用实例代
· 回复-置顶: linux+s
· 用squid+iptable做透
· [图文] 成功使用squid+ipt
· iptables入门的第一
· 菜鸟学堂之Iptables
· squid+iptables实现
· IPTABLES代理服务器
· Squid+iptables的透
 中国教育资源网免费技术教程下载中心-本月热门教程 本月热门 中国教育资源网免费技术教程下载中心-本月热门教程 
 
 中国教育资源网免费技术教程下载中心-本日热门论文 本日热门 中国教育资源网免费技术教程下载中心-本日热门论文 
 
关于本站 - 网站帮助 - 免费课件 - 美容 - 绿色软件 - 软件下载 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站留言
浙ICP备06010405号 Email:cnkjz@163.com 技术支持:名流设计
版权所有 Copyright© 2002-2004 名流