局域网里电脑不能上网。

局域网里电脑不能上网。

两台电脑,三块网卡,一个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的使用我也很想搞懂。最初我连网卡都搞不定,现在至少可以上网了,这里就有很多乐趣。      
应该只用iptables就能搞定了。
怎么搞那么复杂呢。      
你给我一个比较完整的配置吧。
iptable的。
我觉得问题还是在iptable里面,其他的改动都是无所谓的。
谢谢。      
d      
[QUOTE]最初由 iseeku 发布
[B]你给我一个比较完整的配置吧。
iptable的。
我觉得问题还是在iptable里面,其他的改动都是无所谓的。
谢谢。 [/B][/QUOTE]      
你这样的设定只是重复吧问题指向错误 不要用shell了 老老实实用
netcfg社额定好 让其自己搜索出广播网