局域网里电脑不能上网。
iseeku
|
1#
iseeku 发表于 2002-04-06 18:16
局域网里电脑不能上网。
两台电脑,三块网卡,一个Hub,adsl modem(没有router的功能)。
用linux主机作路由。客户机xp。 在客户机上,打开浏览器,提示目前禁止访问。 我估计问题还是在Squil和iptable上面。所以贴出我的配置请大家指点一下。 dhcpd.conf如下:210.153.1.1(9)是isp给我的。 subnet 192.168.0.0 netmask 255.255.255.0{ range 192.168.0.2 192.168.0.17; option subnet-mask 255.255.255.0; option routers 192.168.0.1; option broadcast-address 192.168.0.255; option domain-name "server.com"; option domain-name-servers 210.153.1.1,210.153.1.9; } ------------------------------------------- Squid.conf如下: http_port 8080 icp_port 3130 httpd_accel_host virtual httpd_accel_port 80 httpd_accel_with_proxy on httpd_accel_uses_host_header on -------------------------------------------- rc.local如下: #!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local #Routing /sbin/depmod -a /sbin/modprobe ip_masq_ftp /sbin/modprobe ip_masq_raudio /sbin/modprobe ip_masq_irc echo 1 > /proc/sys/net/ipv4/ip_forward iptables -F INPUT iptables -F FORWARD iptables -F POSTROUTING -t nat iptables -P FORWARD DROP iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE iptables -A INPUT -p tcp -i eth0 --syn --dport 80 -j ACCEPT iptables -A INPUT -p tcp -i eth0 --syn -j DROP /sbin/iptables -t nat -A POSTROUTING -i eth1 -p tcp -s 192.168.0.0/24 --dport 80 -j DNAT --to 192.168.0.1:8080 -------------------------------------- 关于详细的设定过程在这里有描述, http://www.linuxeden.com/forum/s ... &threadid=18338 再贴一次,请参考。 关于linux server下面,xp客户机不能上网的问题,详细说明如下。请你帮助我。对xp做server没有兴趣的朋友可跳过xp/xp的部分。 xp或linux做服务器,用ADSL共享上网方法 我的机器配置如下, 两台电脑,三块网卡,一个Hub,adsl modem(没有route的功能),网线。 申请8M adsl上网,ISP提供帐号同时,告知DNS名IP两个first和second(这个东西我不知道中文怎么说,我的电脑知识都是来日本以后学的), 先介绍xp作为主机的方法 Xp作为主机的的方法比较简单,但是还是花了一点时间,并且还有两个无关大局的小问题。现在总结如下。 联网方法: 电话线进配线器(不清楚中文是不是这么说),出来的两根线一路连电话,一路连adsl modem上的电话线接口。注意,配置的时候最好先不要把接电话的那路连上。 Adsl modem上连网卡的口连网线到主机的第一块网卡,然后从主机的第二块网卡连线到Hub。客户机上的网卡用网线连到Hub的其余接口。Hnb上的接口通常没有前后顺序,可以随便插入。 安装OS: 两台电脑上都安装好xp,网卡应该毫无困难的被识别出来。这个时候可以看一下其IRQ,以便以后安装linux后设定网卡。当然如果是PCI的网卡,在l inux下面也不要你去考虑IRQ了。 主机上网: 开始-控制面板-网络连接-创建一个新的连接,这时候出现欢迎使用新的连接向导-连接到Ineternet-手动设置我的连接-用要求用户和密码的宽带来连接- ISP名称(是随意的)-输入用户名和密码-在我的桌面上添加一个到此连接的快捷方式。 桌面上出现了该连接图标,打开,查看其属性。应该包含Internet Protocol(TCP/IP),Client for Microsoft Networks, File and Printer Sharing for Micosfte Netwok等等协定。如果没有的话,添加安装这些协议。 如此,在你的网络连接里有了三个图标了。一个是刚才做好的连接,我们叫它ADSL_ISP,还有两个本地连接,那是你的两张网卡的。我们叫他们为本地连接1 ,本地连接2。本地连接1负责上网,本地连接2负责局域网。你要查看这两个连接和网卡的实际对应情况,不要搞错。如果你买的两张网卡是不同的牌子的当然就不会搞错了。 打开ADSL_ISP图标,设定该连接属性。选定“网络”-“TCP/IP”,选“自动获得IP地址”,DNS服务器地址可以不填,也可以填写ISP给你i p,一般会给你两个。再看“高级”选项里,选定“允许其他网络用户通过此计算机的Internet连接来连接”。这时候会问你需要和哪一个本地连接共享,因当选取第二块网卡(本地连接2 ),即连线进入Hub连接局域网的那张网卡。这个时候,xp会把这个本地连接的ip设定为192.168.0.1。接下来设定本地连接1,全部用缺省值即可。设定本地连接2 ,修改其TCP/IP为,IP地址192.168.0.1,子网掩码255.255.255.0,默认网关192.168.0.1。 这样你就应该可以从主机上网了。 客户机上网 设定网卡,要包含相应的网络协议,这个和前面讲的一样。TCP/IP用缺省的就可以了。运行,设置家庭或小型办公网络,选这台计算机通过我的网络上的另一台计算机或住宅网关连接到I nternet。如果这个时候你的主机已经在上网状态了,在客户机上会出现其连接状态的图标。这时候,客户机也在网上了。 以上。 我也发现两个问题。 一是每次拨号的时候并不一定上的去。不知道为什么。有时候要重复一下才行。 二是拨号以后会问我有些协议不能用,比如IPX/SPX等中的一些。 但是都不影响上网。 谁能告诉我原因。 下面介绍linux方法,但是目前为止我的客户机不能上网,只能连到linux主机。这也是我把过程写出来的原因。 联网方法: 和上面xp/xp的时候完全一样,但是如果你的网络里面有路由器的话,下面的说明是不适用的。 安装OS xp不变。主机我用了redhat 7.2,两张CD的。这样我的主机上就同时存在连个系统了。 Xp和linux可以共存。把引导文件放到/dev/hda上面去没有问题。 安装过程中,有关网络的地方说明一下。 进行到netword设定时候,提示有两张网卡了。说明都检测到了。 eth0项中我选了”使用“使用DHCP””和“启动时激活”(这里又是日文的原话翻的,不知道应该怎么说。好来我知道,这个时候不必设定为激活的。当你要设定P PPoE虚拟拨号时要用到eth0的时候,反而要先保证eth0在启动的时候没有被激活)。另外eth1则什么也不要选。 防火墙我暂时没有选。我想等到可以上网以后在回到这里来追加。 (题外话,顺便提一下,redhat7.2已经可以选者使用中文界面了。但是我不知道中文输入法从哪里调用出来。) linux主机上网: root登陆 我用了一个linux下面的RP-PPPoE软件。 你可以在下面的地址download http://www.roaringpenguin.com/pppoe...-3.3-1.i386.rpm 也可以在我的ftp server ftp://dingxin.dns2go.com/ 不过这个server目前只能在xp下工作,并且硬盘被我设定为linux不能利用的ntfs格式。如果有人知道如何mount它,请你一定告诉我。我懒得搬来搬去的。所以呢,当我设定l inux的时候你还看不到它。 下载以后如此安装, 不过之前你要做一件事情, 确认eth0没有启动,如果你要用eth0的话。 你可以修改/etc/sysconfig/network-scrips/ifcfg-eth0文件。 不习惯用vi,就用gedit好了。 修改文件内容 DEVICE=eth0 BOOTPROTO=none ONBOOT=no 保存。 root#reboot 然后开始安装 root#rpm ?Uvh rp-pppoe-3.3-1.i386.rpm 等片刻后安装即完毕。 接下来进行设定 root#/usr/sbin/adsl-setup 接下来设定过程中会问你一些问题, ……enter your PPPoE user name: xxx@xxx.xxx ……(default eth0): eth0 这里应当选那个连着adsl modem的网络设备。注意,如果万一你的第二张网卡的IRQ比第一张的小,这种情况下你看到的是……(default eth1),记得还是要选eth0。 ……enter the demand value (default)l: no ……password ……password choose a type of firewall (0-2): 2 我在这里选了0。 Accept these setting……(y/n): y 这样用adsl上网的设定就结束了。 下面你可以用 root#/user/sbin/adsl-start 或 root#/adsl-start 命令上网。 用 root#/adsl-status 查看, 用 root#/adsl-stop 中止。 运行下面两个命令以后可以省去每次上网前敲键盘的麻烦。 root#chkconfig ?add adsl root#chkconfig adsl on 如此,linux启动时,adsl就自动启动了。 我遇到的一个在xp下的问题在这里也出现,就是不一定每次都拨得上去。等了一会儿没有通,这时候进入了linux,你还要运行一下adsl- start才行。 这样就上网了。 我到现在还有的一个疑问是 linux自带的RH PPP软件并不能用。这是一个类似于xp下的adsl上网拨号软件。我看到有些书上也提到了这个问题。在这里,下在一个RP-PPP软件似乎是必需的。 接下来是我设定DHCP,这里很多地方不明白,请各位帮助。 ifconfig 看到 eth1的inet为192.168.0.1,bcast为192.168.0.255,Mask为255.255.255.0 Io的inet为127.0.0.1,Mask为255.0.0.0 有问题吗? 然后我开始进行lan的设定。 首先进入network configuration, 先找到devices项目,里面已经有eth0和eth1了。选中eth1,edit它,设定它在启动的时候被激活。Protocol里面,只有TCP/IP一项,去掉“自动获得i p地址”。 然后手动追加ip地址如下 地址:192.168.0.1 子网掩码:255.255.255.0 缺省网关:不要填。 有问题吗? 接下来我在host项目里设定了ip和host名的关联 追加如此地址 地址:192.168.0.1 host名:linux.server.com 别名:linux 然后在DNS项目里 填写host名:linux domain名:server.com 下面的第一,第二,第三DNS我不清楚如何填写,结果写了isp给我的两个dns名服务ip (210.153.1.1和210.153.1.1)。 有问题吗? 忘了说eth0了,eth0也设定为自动获得DNS。 在启动以后看到欢迎字幕成为linux.server.com欢迎你 下面安装DHCP server, 安装软件dhcp-2.0pl5-8.i386.rpm 做成dhcpd.leases文件,以记录ip地址的分配和取消的情况。 touch /var/lib/dhcp/dhcpd.leases 做成dhcpd.conf文件如下 subnet 192.168.0.0 netmask 255.255.255.0{ range 192.168.0.2 192.168.0.17; option subnet-mask 255.255.255.0; option routers 192.168.0.1; option broadcast-address 192.168.2.255; option domain-name “server.com”; option domain-name-servers 192.168.0.1; } 有没有问题? 在这里,我对最后一个设定不懂,是不是应该写isp给我的两个ip地址? option domain-name-servers 210.153.1.1,210.153.1.9; 但是我这样写的时候情况也没有变化。 下面修改/etc/rc.d/init.d文件,使得DHCP server可以使得eth1动作。 修改该文件中的 daemon /usr/sbin/dhcpd ${DHCPARGS}为 daemon /usr/sbin/dhcpd eth1 最后在service设定里,选择dhcpd,使它在linux启动的时候运行。 最后是routing设定。 进入network configuration, 选devices,选eth0,修改protocol,TCP/IP。追加routing, 地址192.168.0.0,子网掩码 255.255.255.0, gateway 192.168.0.1 同时修改了/etc/rc.d/rc.local文件, 追加了如下内容, #Routing echo 1 > /proc/sys/net/ipv4/ip_forward /sbin/ipchains ?A forward ?s 192.168.0.0/24 ?j MASQ 这样设定都结束了。 进入xp 可以ping到linux,ping到linux.server.com,当然还有192.168.0.1,回到linux也可以ping到xp的ip地址。 但是不能上网。 怎么回事??? 我在xp运行了网络设置向导,结果给我添加了一个网络桥出来,而用xp做主机上网的时候不是这个网络桥。而是在网络连接状态的窗口里出现一个提示图标,主机上的a dsl连接已经接通。 xp的使用的确比较方便,但是linux的使用我也很想搞懂。最初我连网卡都搞不定,现在至少可以上网了,这里就有很多乐趣。 |