LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: skee.crackpot

[已解决]winxp能上网,arch不能

[复制链接]
 楼主| 发表于 2007-6-15 17:31:43 | 显示全部楼层
> 问个问题.如果DNS行的话,应该是能够直接上网了喔....难道你的是局域网网关有限制你的上网规则?

我也不明白。
如果网关防火墙限制其他端口可以理解,可pacman是用wget抓包的。
随便wget -v -T 5 http://xxx.com/xxx,报连接超时。

修改/etc/pacman.conf
  1. XferCommand = /usr/bin/wget -c -O %o %u -T 5 -v
复制代码

pacman -Syv输出与wget -v -T 5 http://xxx.com/xxx一样。

在win下route print得到路由表,在arch下修改rc.conf的ROUTES,连metric都改成一样。
/etc/rc.d/network restart,route -n确认,确实和win下的路由表一样。
没有变化。

得知近几天病毒猖獗,LAN内有不少用户也不能上网,不过我想是因为病毒破坏了他们的系统。毕竟我在win下可以上网啊。

找了一些“穿透防火墙”的文章,看了http-tunnel的使用,需要外网装server配合才行。tunnel,此路不通。
回复 支持 反对

使用道具 举报

发表于 2007-6-15 22:33:24 | 显示全部楼层
看来你的问题真的很奇怪,好久也没有碰倒这么奇怪的问题了。
激起我点好奇。

如同你说的,如果在其他的Livecd里出现有的能够上网,有的不能够上网的情况。
可能是那个关键的base包的软件有能够阻碍你的错误点。你也是用arch installcd来安装的吧,它能够上网安装,就能够说明了,你也是能够在Linux下上网的,也就是说明,在局域网里,并没有限制用户使用何种系统(有这样的限制能力吗?怎么想也不可能吧~哈哈)。

有个提议:
  skee.crackpot。你看看在installcd里,有什么和你现在的配置不同的。比如路由等信息。可能对你的配置有帮助。

体外话:
  以前用windows我遇到的问题是特多的。现在用Linux只有不懂的。可是奇怪的问题就少了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-17 11:15:08 | 显示全部楼层
to SCys

谢谢你的持续关注!

可能是那个关键的base包的软件有能够阻碍你的错误点

上个月第一次装Arch,我下的是Voodoo_Full.iso,刻盘后CDROM启动安装,十分顺利。
况且光盘保护得很好,连一丝划痕都没有,我用的是philips的金盘,不应该是安装光盘的问题。

为了彻底排除可能是安装光盘的问题,后来下了Duke_Ftp.iso,用grub.exe借xp的boot.ini启动,配置网络后pacman -Sy仍然连不上安装源。

你看看在installcd里,有什么和你现在的配置不同的。比如路由等信息。可能对你的配置有帮助。

Voodoo_Full.iso/Duke_Ftp.iso里哪儿有配置的信息呢?不是启动后系统检测到的吗?我查看了Voodoo_Full.iso和Duke_Ftp.iso,没有配置文件。

用Ubuntu 6.10 Live CD启动后查看过网络相关的配置,跟当前的arch没有区别,同样的:原来可以上网,现在不能。

之前在LAN里也用过RedHat、Fedora、Slackware、Ubuntu、FreeBSD,从来没有出现过网络无法连接的问题。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-18 16:11:32 | 显示全部楼层
[size=+1]尝试++
1> 下载Debian Etch netboot引导文件
http://debian.lupaworld.com/debian/dists/etch/main/installer-i386/current/images/netboot/debian-installer/i386/initrd.gz
http://debian.lupaworld.com/debian/dists/etch/main/installer-i386/current/images/netboot/debian-installer/i386/linux

2> grub.exe引导进入Debian安装程序

3> dhcp还是不行,手动设置网络

4> 选择安装源,China --> geekbone,安装程序定格在downloading package不动了

5> reboot,安装源换为cn99/国外的,症状同4>


4>和5>下载包的同时Alt+F4,看到安装程序在wget -q http:/xxx.xxx时停住了。30+秒之后显示下载的源从release换为stable。再30+秒之后试testing……

Alt+F2,Enter打开一个shell,检查网络设置:ifconfig、route -n、nano /etc/network/interface、nano /etc/resolv.conf。没发现问题。

没找到ping,于是wget http://www.google.com。域名解析正常,只是,连不上。


[size=+1]结论
网络不通不是任何发行版的问题。换其他Linux发行版/FreeBSD不能解决问题。

得摆平网关上的防火墙。
回复 支持 反对

使用道具 举报

发表于 2007-6-18 17:29:05 | 显示全部楼层
我的感觉。。你们网关限制的好严阿。。

你看你ping一下网关,5分钟就有人过来说问你中毒了没。。

而且ping一下会停你网。是不是你设置的太频繁了。ip被停。

你如果是直接ping ip能通么?外网的ip
回复 支持 反对

使用道具 举报

发表于 2007-6-19 05:58:57 | 显示全部楼层
真是瞎搞,早点去找你们的网管吧
回复 支持 反对

使用道具 举报

发表于 2007-6-19 09:56:22 | 显示全部楼层
[scys@SCommand ~]$ cat /other/Backup/iptables.d/tmp.sh
#!/bin/bash

###函数[START]
#建立记录点
#用法:buildLog [记录名] [记录动作] [记录前序]
#
function buildLog(){
$IPT -N $1 2> /dev/null
$IPT -A $1 -j LOG --log-prefix "$3"
$IPT -A $1 -j $2
}
###函数[END]

###变量设置[START]
# 工具
IPT=`which iptables`
IFC=`which ifconfig`

# 界面
IF="eth0"
#  本地界面/硬件
LPIF=lo
LPIP=127.0.0.1
LPMSK=255.0.0.0
LPNET="${LPIP}/${LPMSK}"
# 确定界面信息
IP="`$IFC $IF|grep addr:|sed 's/.*addr:\([^ ]*\) .*/\1/'`"
BC="`$IFC $IF|grep Bcast:|sed 's/.*Bcast:\([^ ]*\) .*/\1/'`"
MSK="`$IFC $IF|grep Mask:|sed 's/.*Mask:\([^ ]*\)/\1/'`"
NET="$IP/$MSK"
echo "[$IF]: IPIP BcastBC MaskMSK NETNET"
###变量设置[END]

###内核设置[START]
# 核心轉送封包
   echo 1 > /proc/sys/net/ipv4/ip_forward
# 打开TCP同步标签
   echo 1 > /proc/sys/net/ipv4/tcp_syncookies
# 忽略這些廣播訊息。
   echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
# 启动逆向路徑過濾
   for f in /proc/sys/net/ipv4/conf/*/rp_filter;
   do
           echo 1 > $f
   done
# 关闭过时的IP源路由
   for f in /proc/sys/net/ipv4/conf/*/accept_source_route;
   do
              echo 0 > $f
   done
# 关闭有轻度安全问题的ICMP阻塞
   for f in /proc/sys/net/ipv4/conf/*/accept_redirects;
   do
              echo 0 > $f
   done
###内核设置[END]

###前序工作[START]
# 在我们编写规则前,关闭链接
$IPT        -P INPUT       DROP
$IPT        -P OUTPUT      DROP
$IPT        -P FORWARD     DROP
# 确定是否支持IPTables并且清理原规则
CHAINS=`cat /proc/net/ip_tables_names 2>/dev/null`
for i in $CHAINS;
do
        $IPT -t $i -F
done
for i in $CHAINS;
do
        $IPT -t $i -X
done
for i in $CHAINS;
do
        $IPT -t $i -Z
done
###前序工作[END]

###正式启动[START]
# 本地通过
$IPT -A INPUT        -i $LPIF        -s $LPNET        -j ACCEPT
$IPT -A INPUT        -i $IF                -s $IP                -j ACCEPT
# 丢弃广播
buildLog "广播丢弃" "DROP" "广播丢弃[BC]:"
$IPT -A INPUT   -i $IF                -d $BC                -j "广播丢弃"
$IPT -A OUTPUT  -o $IF                -d $BC                -j "广播丢弃"
$IPT -A FORWARD -o $IF                -d $BC                -j "广播丢弃"
# 丢弃IP欺骗
#buildLog "IP欺骗" "DROP" "IP欺骗[IP]:"
#$IPT -A INPUT        -i $IF                -s ! $NET        -j "IP欺骗"
#$IPT -A OUTPUT        -o $IF                -d ! $NET        -j "IP欺骗"
#$IPT -A FORWARD -i $IF                -s ! $NET        -j "IP欺骗"
#$IPT -A FORWARD -o $IF                -d ! $NET        -j "IP欺骗"
# 丢弃外部PING
buildLog "外部PING丢弃" "DROP" "外部PING丢弃[PING]:"
$IPT -A OUTPUT    -o $IF                -p icmp                --icmp-type ! 8        -j "外部PING丢弃"
$IPT -A FORWARD   -o $IF                -p icmp                --icmp-type ! 8        -j "外部PING丢弃"
# 允许服务
TCPSERV="domain ssh http https ftp ftp-data mail pop3 pop3s time msn svn rsync irc ircs ircd"
UDPSERV="domain time qq msn irc ircs"
echo "FW: Allowing inside systems to use service[TCP]: "
for i in $TCPSERV;
do
        echo -n "$i "
        $IPT -A OUTPUT  -o $IF -p tcp -s $IP    --dport $i --syn -m state --state NEW -j ACCEPT
        $IPT -A FORWARD -i $IF -p tcp -s $NET   --dport $i --syn -m state --state NEW -j ACCEPT
done
echo ""
echo "FW: Allowing inside systems to use service[UDP]: "
for i in $UDPSERV;
do
        echo -n "$i "
        $IPT -A OUTPUT        -o $IF -p udp -s $IP           --dport $i        -m state        --state NEW        -j ACCEPT
        $IPT -A FORWARD        -i $IF -p udp -s $NET        --dport $i        -m state        --state NEW        -j ACCEPT
done
echo ""
###正式启动[END]

###后续手续[START]
# 允许本地链接 只允许lo eth0
$IPT -A OUTPUT   -o $LPIF   -s $LPIP  -j ACCEPT
$IPT -A FORWARD  -i $LPIF   -s $LPNET -j ACCEPT
$IPT -A INPUT    -i $LPIF   -s $LPNET -j ACCEPT
$IPT -A OUTPUT   -o $LPIF   -s $IP    -j ACCEPT
$IPT -A FORWARD  -i $LPIF   -s $NET   -j ACCEPT
$IPT -A INPUT    -i $LPIF   -s $NET   -j ACCEPT
# 允许PING
# lo
$IPT -A OUTPUT        -o $LPIF   -p icmp   -s $LPIP   --icmp-type 8    -m state --state NEW -j ACCEPT
$IPT -A FORWARD        -i $LPIF   -p icmp   -s $LPNET  --icmp-type 8    -m state --state NEW -j ACCEPT
# eth0
$IPT -A OUTPUT        -o $LPIF   -p icmp   -s $IP     --icmp-type 8    -m state --state NEW -j ACCEPT
$IPT -A FORWARD -i $LPIF   -p icmp   -s $NET    --icmp-type 8    -m state --state NEW -j ACCEPT
$IPT -A INPUT   -i $LPIF   -p icmp   -s $NET    --icmp-type 8    -m state --state NEW -j ACCEPT
# output
$IPT -A OUTPUT        -o $IF     -p icmp   -s $IP     --icmp-type 8    -m state --state NEW -j ACCEPT
$IPT -A INPUT   -i $IF     -p tcp               --dport 22 --syn -m state --state NEW -j ACCEPT
$IPT -t nat        -A PREROUTING        -j ACCEPT
$IPT -t nat        -A POSTROUTING        -o $IF                -s $NET                -j MASQUERADE
$IPT -t nat        -A POSTROUTING        -j ACCEPT
$IPT -t nat        -A OUTPUT        -j ACCEPT
$IPT -A INPUT        -p tcp                --dport auth        --syn                -m state        --state NEW        -j ACCEPT
$IPT -A INPUT   -m state        --state ESTABLISHED,RELATED        -j ACCEPT
$IPT -A OUTPUT  -m state        --state ESTABLISHED,RELATED        -j ACCEPT
$IPT -A FORWARD -m state        --state ESTABLISHED,RELATED        -j ACCEPT
# 拒绝和记录可能没有做的规则
buildLog "未分类丢弃" "DROP" "未分类丢弃[UNKOWN]:"
buildLog "未分类拒绝" "REJECT" "未分类拒绝[UNKOWN]:"
$IPT -A INPUT        -j "未分类丢弃"
$IPT -A OUTPUT        -j "未分类拒绝"
$IPT -A FORWARD -j "未分类丢弃"
###后续手续[END]
回复 支持 反对

使用道具 举报

发表于 2007-6-19 10:08:05 | 显示全部楼层
改改上面的Iptables脚本,把Ping给屏蔽掉就好了。那样也不能Ping了。就是能够通过80.和一些服务了。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 11:00:32 | 显示全部楼层
to jarryson
谢谢你的关注!

我用的flood ping
  1. ping -f $网关ip
复制代码
所以网管以为是病毒爆发吧。

我的IP没有被封。不论何时,arch下可以ping外网ip,windoze下能上网。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 11:05:59 | 显示全部楼层
to flycraft
多谢你的建议!

不过:
1) 公司里只有我一个人装Linux,用Linux
2) 网关是win2003
3) 没有专职网管。公司在最近被病毒、BT下载困扰之前,甚至没有人管理网络

我还是听了你的建议,找了最近这段时间的临时网管,他的建议是:重启机器应该就好了!
回复 支持 反对

使用道具 举报

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

本版积分规则

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