LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: ffl521

请教各位大哥一个动态域名网页的问题

[复制链接]
 楼主| 发表于 2004-12-19 17:53:40 | 显示全部楼层
不好意思,是小弟没有说清楚。
他们不止封闭了1---1024间的端口,还在他们电信的路由上设置了包过滤,拦截所有流过我们当地路由的包,然后再把这些包转发出去,出口端口随机分配一个1024---49151  或者49151---65535只任一端口,带有很大的随机性,所以我根本无法通过上面两位兄弟的方法去实现。
  不知还有那位兄弟有更好的方案?
除了向电信合法交涉外?
  通过技术上来解决。
    谢谢大家。请继续讨论,成都铁通的用户早遇到这个问题了,现在到了我们南充电信了。。。。。。。。。
唉。为什么呢?
做为中国最大的电信营运商,封闭端口的行为,我觉得对于用户来说似乎稍嫌粗暴了吧?
发表于 2004-12-19 18:05:08 | 显示全部楼层

3322

Post by ffl521
我的机子的APACHE做了很久了,一直都是正常的。 我是通过局域网里另一台机子上网的。我在那台机子上安装了端口转发:

80 apache
21 ftp
8080 tomcat
8008 film
一切正常。我用的是3322的动态域名解析器。也是正常的。
问题是:
不论是输入IP还是我申请的3322的域名都不能解析我的网页。APACHE没有报错。我在XP下的IIS也没有报错。防火墙关了也仍然打不开。
呵呵,把我搞糊涂了。
  更可恶的是我在我的机子和局域网里却能打开我的网页,不论域名还是IP。
  这是怎么回事,各位大哥。。。。。帮我想一想。
敬谢。!
   我怀疑是电信有问题,要不就是3322有问题,电信有问题的可能性很大。。
不知道有没有用3322的兄弟也出现过这个问题?
  再次感谢!

3322这几天晚上都有问题,时间凌时四点多,我有好多文件每天都备份,从凌晨一点到六点,结果五点的文件就没有备份上来。如果你在局域网通过内部IP可以访问,而通过外部IP不行的话,肯定是3322的解析出错了,对了,你的解析是通过XP还是LINUX下的qdns?
发表于 2004-12-19 18:13:41 | 显示全部楼层
其它的问题不讨论。
估计是你网关或路由设置的问题。
3322.org应该支持内网的,内网的能打开,那么就是外网不能访问了。你要设置下网关上的iptables规则。。。
 楼主| 发表于 2004-12-19 18:51:25 | 显示全部楼层
我没有你那么大规模地把所有端口都映射了。你可以参考一下下面这个脚本:
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport 5899 -j DNAT --to 192.168.0.254:4899
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport 9999 -j DNAT --to 192.168.0.233:9999

################## MU #########################
iptables -t nat -A PREROUTING -d ${IP} -p tcp -m tcp --dport 44405 -j DNAT --to-destination 192.168.0.233:44405
iptables -t nat -A POSTROUTING -d 192.168.0.233 -p tcp -m tcp --dport 44405 -j SNAT --to-source 192.168.0.1

iptables -t nat -A PREROUTING -d ${IP} -p tcp -m tcp --dport 55901 -j DNAT --to-destination 192.168.0.233:55901
iptables -t nat -A POSTROUTING -d 192.168.0.233 -p tcp -m tcp --dport 55901 -j SNAT --to-source 192.168.0.1

#iptables -t nat -A PREROUTING -d ${IP} -p tcp -m tcp --dport 55902 -j DNAT --to-destination 192.168.0.233:55902
#iptables -t nat -A POSTROUTING -d 192.168.0.233 -p tcp -m tcp --dport 55902 -j SNAT --to-source 192.168.0.1

iptables -t nat -A PREROUTING -d ${IP} -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.233:80
#iptables -t nat -A POSTROUTING -d 192.168.0.233 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.0.1

iptables -t nat -A PREROUTING -d ${IP} -p tcp -m tcp --dport 81 -j DNAT --to-destination 192.168.0.233:81
iptables -t nat -A POSTROUTING -d 192.168.0.233 -p tcp -m tcp --dport 81 -j SNAT --to-source 192.168.0.1

#iptables -t nat -A PREROUTING -d ${IP} -p tcp -m tcp --dport 82 -j DNAT --to-destination 192.168.0.233:82
#iptables -t nat -A POSTROUTING -d 192.168.0.233 -p tcp -m tcp --dport 82 -j SNAT --to-source 192.168.0.1
################## MU END #########################
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport 7000 -j DNAT --to 192.168.0.233:7000
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.233 --dport 7000 -j SNAT --to 192.168.0.1
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport 7100 -j DNAT --to 192.168.0.233:7100
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.233 --dport 7100 -j SNAT --to 192.168.0.1
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport 5999 -j DNAT --to 192.168.0.233:4899
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport 7200 -j DNAT --to 192.168.0.233:7200
iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.233 --dport 7200 -j SNAT --to 192.168.0.1


#################### Ftp Server ################
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport 21 -j DNAT --to 192.168.0.233:21
iptables -t nat -A PREROUTING -p tcp -d ${IP} --dport 2100 -j DNAT --to 192.168.0.254:21
################### Ftp Server End ##############

iptables -t nat -A POSTROUTING -o ${UPLINK} -j MASQUERADE
echo "1"> /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p udp -d 192.168.0.1 --dport 53 -j DNAT --to 61.134.1.9:53
iptables -t nat -A PREROUTING -p udp -d 192.168.0.1 --dport 53 -j DNAT --to 61.134.1.4:53
/sbin/iptables -A INPUT -p udp -j DROP
/sbin/iptables -t nat -A PREROUTING -p tcp --dport 445 -j DROP

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
  或者你在/etc/sysconfig/iptables 中用VI加入这些语句,把你所要打开的端口全都转发到指定机器:
-t nat -A PREROUTING -d ${IP} -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.0.2:80
这个就是端口转发的语句。
 楼主| 发表于 2004-12-19 18:58:32 | 显示全部楼层
多谢谢各位兄弟,不是我的网关的问题,也不是3322的问题。因为我直接启用IP也不能访问我的apache 。排除3322的问题,网关也不可能有问题,我关闭一切防火墙,APACHE和IIS测试都不能打开。我自己在局域网或者在我机子上打开的原因是我打开这个网页这个数据包根本没有传到电信路由上就被我主机捕获到,并且进行解析。 而外网却不能,因为他们要过我们本地的路由器,他们的请求打开我的这个端口将被电信路由器更换。从而造成连接超时,路由器接着把这些半联接的包全抛弃。
我分析的数据包得出来的这个结论,不知道是不是正确的。
谢谢大家,请继续。。。。。期待ing!!!
 楼主| 发表于 2004-12-20 12:26:21 | 显示全部楼层
版主!请您关注一下这个问题好吗?
因为电信封闭了所有低段端口,他们过滤了这些包,而不是单纯的封闭,比如一个携带HTTP头部请的TCP包经过我们电信的路由器时,被拦截下来,然后路由器自动指定一个随机端口再传给指定的IP。这样就造成了提供WEB服务的主机不能正确捕获这些过滤后的HTTP请求,虽然这些包到达了指定主机,但是却不能解析。就是这个原因。。。。。。
我反复思索,都不能找到一个很好的方法来处理。
这个问题似乎只能通过请求电信局开恩外,没有什么别的法子了。不知道那位兄弟能给个黑暗中的指示啊??
  敬谢!!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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