LinuxSir.cn,穿越时空的Linuxsir!

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

<求助> 共享上网时出现了问题,客户机只能上QQ不能看网页,谁知道应该怎

[复制链接]
发表于 2005-9-30 16:28:36 | 显示全部楼层 |阅读模式
我在共享上网时出现了问题
主机是 LINUX rh9    客户机是 WIN2K
客户机只能上QQ不能看网页,谁知道应该怎么做啊 ?
我的方案是修改/etc/rc.local
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o ppp0 -j MASQUERADE

eth 0 是接的 HUB
eth 1 接的是 网线

转发功能应该是实现了,IP伪装命令应该也没有错吧?
哪位高手帮忙看看...... 是怎么回事?

客户机不能PING 通外面的域名,QQ也只能登录一个,第2个联不上,真是奇怪啊?
防火墙关了也一样。。。。
发表于 2005-9-30 16:57:59 | 显示全部楼层
iptables -t nat -A POSTROUTING  -o ppp0 -j MASQUERADE
我是这样做的,应该没问题,
看看你是不是客户端的问题,把客户端的网关设置成主机的内网IP,客户端的DNS设置成你所在地电信供应商的DNS。
DNS很重要。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-30 19:28:32 | 显示全部楼层
谢谢帮忙!
我现在在XP系统下共享正常,DNS查了,我的是 210.52.207.2,Client的是192.168.0.1,Client的设成哪个?
192.168.0.1吗?

我发现客户机的QQ问题是在添加好友列表这一步,只能上刚刚上过的 QQ,而以前没上过的QQ是不能上线的.到底是哪个地方出了问题呢?

刚刚检测过,DNS改成192.168.0.1和210.52.207.2,客户端都不能上网........
能上QQ是为什么???
回复 支持 反对

使用道具 举报

发表于 2005-10-1 12:24:35 | 显示全部楼层
打开网页是要DNS支持的。把DNS一律设成电信局给你的DNS地址。终端和服务器的DNS都设成一样,比如我的: 61.139.2.69 202.97.7.17
不能上网可能是端口的问题,QQ程序较灵活,默认为4000不过也可以走别的端口,比如80.
请兄弟把iptables规则贴出来,大家帮你分析一下。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-8 18:38:31 | 显示全部楼层
IPTABLES规则,我用iptables --list列出来了 ,不知道是不是这个.

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
RH-Lokkit-0-50-INPUT  all  --  anywhere             anywhere

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
RH-Lokkit-0-50-INPUT  all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain RH-Lokkit-0-50-INPUT (2 references)
target     prot opt source               destination
ACCEPT     udp  --  210.52.31.2          anywhere           udp spt:domain dpts:1025:65535
ACCEPT     udp  --  sh-dns.cncnet.net    anywhere           udp spt:domain dpts:1025:65535
ACCEPT     all  --  anywhere             anywhere
REJECT     tcp  --  anywhere             anywhere           tcp dpts:0:1023 flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT     tcp  --  anywhere             anywhere           tcp dpt:nfs flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT     udp  --  anywhere             anywhere           udp dpts:0:1023 reject-with icmp-port-unreachable
REJECT     udp  --  anywhere             anywhere           udp dpt:nfs reject-with icmp-port-unreachable
REJECT     tcp  --  anywhere             anywhere           tcp dpts:x11:6009 flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable
REJECT     tcp  --  anywhere             anywhere           tcp dpt:xfs flags:SYN,RST,ACK/SYN reject-with icmp-port-unreachable

因为十一放假回家了,所以没有及时回复,抱歉了!
谢谢大家的帮助.....
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-11 19:59:09 | 显示全部楼层
共享已经搞好了,装了个DHCP服务,在防火墙里加了
*nat
REROUTING ACCEPT [0:0]
OSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[0:0]-A POSTROUTING -o ppp0 -j MASQUERADE
然后修改/etc/sysctl.conf,把net.ipv4.ip_forward设置成1
就OK了.
我发现我的防火墙规则里面是有一条不应该
:RH-Lokkit-0-50-INPUT - [0:0]
-A INPUT -j RH-Lokkit-0-50-INPUT
-A FORWARD -j RH-Lokkit-0-50-INPUT
-A RH-Lokkit-0-50-INPUT -i lo -j ACCEPT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 0:1023 --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 2049 --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 0:1023 -j REJECT
-A RH-Lokkit-0-50-INPUT -p udp -m udp --dport 2049 -j REJECT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 6000:6009 --syn -j REJECT
-A RH-Lokkit-0-50-INPUT -p tcp -m tcp --dport 7100 --syn -j REJECT
就是第3行,不应该将转发的包也交给这条规则来处理,将它注释掉就好了.

但是,我在没有装DHCP的时候为什么不行呢?
同样的规则,我将DHCP服务关了.
用以前的方案来,C端还是上不了网,看来也不光是这条规则的原因.百思不得其解!
回复 支持 反对

使用道具 举报

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

本版积分规则

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