嘉定都市网

标题: 嘉定宽带共享上网途径解析 [打印本页]

作者: xuanren    时间: 2002-1-31 18:25
标题: 嘉定宽带共享上网途径解析
记得以前有过一种说法:
用ADSL的用户,可以不分主从机上网。ADSL Modem接Hub,N台PC接Hub,NT台机都可以同时或单独拨号,不可共享。不过现在上海地区这项功能好象已经取消。。。如果没取消的话,那小区里基本上合资就可以解决上网问题了,可惜。。。呵呵。。。

我有个想法,不过没有实践过,希望有能力实验的朋友帮忙测试一下:
以嘉定FTTB为例:
小型家庭局域网,一台HUB,一台主机,N台从机。
外网FTTB网线接入HUB,主机用单网卡,从机也是单网卡,都接入HUB。主机单网卡指定双IP,一个是FTTB内网分配的IP,另一个是小型家庭局域网IP(192。168。0。1)。从机指定同一网段IP。如果用LINUX的话,IPCHAINS就可以完成该路由功能。但如果用WINDOWS系统的话,WINGATE代理之类的软件应该也可以实现,但我有点怀疑其可行性。单网卡指定双IP,理论上是可以实现的,但其速度,功能,以及其他静态路由的指定都是个问题。。。
还请有能力做测试的朋友实验一下,如果能实现,望告知。。。谢谢。。。
作者: FlowJZH    时间: 2002-1-31 18:34
小生宿舍曾经有配过,用的是SyGate的Single NIC Mode,两台机器一般浏览问题不大,不过下载不是很好,所以后来还是用双网卡的方案了。
作者: xuanren    时间: 2002-1-31 18:37
你是指主机单网卡?用HUB?
作者: xuanren    时间: 2002-1-31 19:00
FlowJZH ,你外网的双绞线是直连HUB的,还是直连你主机的?
直连主机的话,单网卡肯定是不行的吧。。。
作者: xuanren    时间: 2002-1-31 19:41
以下是用单网卡IPTABLES简单网关的配置,红帽7。2默认安装了IPTABLES,用7。1的IPCHAINS同样可以达到这个效果(自己也比较熟)。。。呵呵
以下部分摘抄(自己部分注释)

环境:内网为192.168.2.0网段,外网DDN为10.19.78.0网段。外网网关为10.19.78.1
配置的网关服务器内网IP为192.168.2.170,外网IP为10.19.78.5,两个地址绑定在一
块网卡上。

改文件永久配置
(1.)修改 /etc/sysconfig/network
NETWORKING=yes
FORWARD_IPV4=yes
HOSTNAME=server
GATEWAY=10.19.78.1
GATEWAYDEV=eth0
#网关为10.19.78.1

(注释)回环地址ifcfg-lo就省略设置了。。。
这里省略了ifcfg-eth0,跟ifcfg-eth1的配置应该差不多,
只不过设定了内网的IP,其实网卡指的应该是同一块。。。

(2.)在/etc/sysconfig/network-scripts目录下创建文件ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
BOOTPROTO=
BROADCAST=10.19.78.7
NETWORK=10.19.78.0
NETMASK=255.255.255.248
IPADDR=10.19.78.5 #本机在上级网络的ip

(3.)用/ect/rc.d/init.d/inet restart 使IP配置生效
(注释)改动后重启服务,使改动后的IP生效。。。
但是我怀疑重启系统的话,会将此IP配置注销。。。
可能需要加到启动脚本里,每次启动配置IP。。。

(4.)利用iptables的写如下脚本gw.sh:

#begin

echo 1 > /proc/sys/net/ipv4/ip_forward
(注释)打开路由功能
modprobe iptable_nat
modprobe ip_conntrack
modprobe ip_conntrack_ftp
(注释)防火墙具体设置,类似IPCHAINS
iptables -F INPUT

iptables -F FORWARD

iptables -F POSTROUTING -t nat

iptables -t nat -F

iptables -P FORWARD DROP

iptables -A FORWARD -s 192.168.2.0/24 -j ACCEPT

iptables -A FORWARD -i eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.2.0/24 -j SNAT --to 10.19.78.5

#end


将gw.sh改成可执行权限运行,其他机器以之为网关,即可上网! 也可加在
/ect/rc.d/rc.local最后达到开机自动运行的目的。
这是利用iptables实现最简单的功能。。。

这些说明单网卡在LINUX下面是很容易共享上网的,不过我有个疑问,
它怎么能说是单网卡呢,除非是外网直接介入HUB,
然后此单网卡主机直接介入HUB,其他从机也类似直接介入HUB,这应该才是单网卡介入方式。。。
作者: FlowJZH    时间: 2002-1-31 20:44
外网是连如HUB的uplink的,因为在交换机端口上绑定了某一块网卡的MAC,所以整个HUB上只有一台合法的机器可以获得外部ip。而且另外的机器只要设好适当的子网掩码,让它们和sygate虚拟的那个专门连内网的ip处在同一子网下,就可以通过这个网关访问外边了。

顺便提一下,在以上的配置下,如果改变客户机的MAC,并设成和已有合法ip的机器不同的ip,也就可以把交换机上一个端口当两个来用了,只是速度还是10M,分享而已。学校里好些人都这么做,因此被查处的也很多,据说这是违法使用,哎~~~~~~~~~~

小生现在不晓得嘉定的fttb是用什么方法限制交换机一个端口上的连接机器数目的,还是根本没有限制?如果没有限制岂不是直接用HUB就可以了?
作者: FlowJZH    时间: 2002-1-31 20:48
小生以上说的是自己宿舍的情况,至于iptables,我不是很懂xuanren的意思,为什么说这不是单网卡的方案了,小生以为就是单网卡嘛,最后那些话和前面的不同点在什么地方?
作者: xuanren    时间: 2002-1-31 20:54
据说上海地区就将实施MAC地址与IP地址绑定的业务,到时候可能这种事情不会发生了。。。刚才我同样将帖子发到了PCHOME的网设,我发现他们都没有在WINDOWS系统下完全通过单网卡成功过,不知你的方法的具体步骤,望详细告知。。。
作者: xuanren    时间: 2002-2-1 10:04
FlowJZH:
是我的理解有误,有点钻牛角尖的味道。。。呵呵:)
作者: FlowJZH    时间: 2002-2-1 10:32
so this ne

不过根据小生的理解,如果不是交换机的端口,网卡的MAC和ip三绑定的话,总是有空子可以钻的:端口只有一个,但是MAC和ip改起来都很方便。总是在学校里听人说用修改注册表的方法改MAC,其实没有那么复杂,在设备管理器的网卡属性里,高级选项卡中的“network address”对应的就是网卡的MAC,想改什么就改什么,至少在MAC和端口二绑定的宿舍网这样改了以后就可以盗用别人的ip上网了。而至于MAC和ip的绑定,据说很耗费系统资源,因此学校到现在还没有实施,那么上海这么些宽带用户,岂不是更麻烦了?呵呵,希望他们不要这样吧。

而单网卡上网的方案,在windows下的确比较少,小生曾经在交大bbs上找过,都是一笔带过的,说的也只是sygate,唯独它有那种single NIC mode的方式,而且试验下来的确可以,或许是因为太简单了,所以大家懒得说了吧。
作者: xuanren    时间: 2002-2-1 10:59
例:ether0 8:0:20:26:e3:bc
前三位是生产厂家的代号,后三位是生产的产品批号。
我本身个人以为MAC地址不应该随便能改,要改的话可能要专门的硬件编程,不然生产厂家岂不是大亏?就你所说的,我查了一下资料,也重新做了下实验。。。基本可以通过。。。资料如下:

一、Windows 2000 下修改 MAC 地址

    1、 在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002”等主键下,因为你有可能安装了不止一块网卡,所以在这个主键下可能会有多个类似于“0000、0001”的主键,这时候你可以查找 DriverDesc 内容为你要修改的网卡的描述相吻合的主键,如“0000”。

    2、 在上面提到的主键下,添一个字符串,名字为“NetworkAddress”,把它的值设为你要的 MAC 地址,要连续写,如“001010101010”。

    3、然后到主键下“NDI\params”中添加一项“NetworkAddress”的主键值,在该主键下添加名为“default”的字符串,值写要设的 MAC 地址,要连续写,如“001010101010”。

    【注】实际上这只是设置在后面提到的高级属性中的“初始值”,实际上使用的 MAC 地址还是取决于在第 2 点中提到的“NetworkAddress”参数,而且一旦设置后,以后高级属性中值就是“NetworkAddress”给出的值而非“default”给出的了。

    4、在“NetworkAddress”的主键下继续添加名为“ParamDesc”的字符串,其作用为指定“NetworkAddress”主键的描述,其值可为“MAC Address”(也可以随意设置,这只是个描述,无关紧要,这个值将会在你以后直接修改 MAC 地址的时候作为描述出现),这样重新启动一次以后打开网络邻居的属性,双击相应网卡项会发现有一个高级设置,其下存在 MAC Address(就是你在前面设置的 ParamDesc)的选项,这就是你在第二步里在注册表中加的新项“NetworkAddress”,以后只要在此修改 MAC 就可以了。

    5、关闭注册表编辑器,重新启动,你的网卡地址已经改好了。打开网络邻居的属性,双击相应网卡项会发现有一个 MAC Address 的高级设置项。用于直接修改 MAC 地址,而且不需要重新启动就可以实现 MAC 的随时更改。

    二、Linux 下的 MAC 地址更改

    1、首先必须关闭网卡设备,否则会报告系统忙,无法更改。

    命令是:“/sbin/ifconfig eth0 down”

    2、修改 MAC 地址,这一步较 Windows 中的修改要简单。

    命令是:“/sbin/ifconfig eth0 hw ether 00:AA:BB:CCD:EE”

    3、重新启用网卡

    “/sbin/ifconfig eht0 up”网卡的 MAC 地址更改就完成了。

    三、Windows Me 下的 MAC 更改

    在 Windows Me 下,MAC 地址的更改和 Windows 98 下是一样的。在 22 期中《给网卡换张“身份证”》一文中已经有介绍,所以不再赘述。

    四、补充说明

    1、在 Windows 2000 下,已经没有“winipcfg”命令,但是你仍然可以通过“ipconfig”命令来获取网卡的 MAC 地址信息,方法是首先在运行中输入“cmd”,回车,进入命令行方式,然后输入“ipconfig -all”(此命令在 Windows 98 和 Windows Me 中也可使用),你就可以找到网卡的各项信息。

    2、为什么修改 MAC 地址?可能有很多人迷惑不解,为什么用这么大的篇幅来介绍修改 MAC 地址,到底有什么实际意义呢?简单的说,MAC 地址相当于你的网络标识,在局域网里,管理人员常常将网络端口与客户机的 MAC 地址绑定,方便管理,万一你的网卡坏掉了,换一张网卡必须向管理人员申请更改绑定的 MAC 地址,比较麻烦,这时候,我们直接在操作系统里更改一下 MAC,就可以跳过重新申请这一步,减少了很多麻烦。

    另外,当你使用黑客软件对别人的机器进行攻击时,别人的防火墙获取到你的 IP 地址,就可以通过“Nbtstat -A ip 地址”命令获取你的 MAC,如果你改一下,呵呵,查到的 MAC 就不是你的了。(可别说我教你学坏啊!)

    3、如果嫌修改过于麻烦,或者有多台机器需要修改,可以按如下步骤生成一个 .reg 文件,直接导入机器即可。

    Windows 98 下的注册表文件:

REGEDIT4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000]

"NetWorkAddress"="5254ab338b8d"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000\Ndi\Params\networkaddress]

"default"="5254ab338b8d"

"paramdesc"="MAC Address"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000\Ndi\Params\networkaddress]

"default"="5254ab338b8d"

"paramdesc"="MAC Address"

    Windows 2000 下的注册表文件:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000]

"NetWorkAddress"="5254ab338b8d"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\Ndi\Params\networkaddress]

"default"="5254ab338b8d"

"paramdesc"="MAC Address"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\Ndi\Params\networkaddress]

"default"="5254ab338b8d"

"paramdesc"="MAC Address"

    用记事本生成以上文件然后保存成 1.reg,双击即可实现修改,但是,有一点必须注意,就是必须确定你的网卡在注册表里究竟是“0000”,还是“0001”等其他的,然后在这个 Reg 文件里进行相应的修改再执行导入操作。否则只会是白费力气。



看来还是实践出真知啊。。。感谢FlowJZH朋友的合作。。。
作者: xuanren    时间: 2002-2-1 11:02
一、Windows 2000 下修改 MAC 地址

    1、 在“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002”等主键下,因为你有可能安装了不止一块网卡,所以在这个主键下可能会有多个类似于“0000、0001”的主键,这时候你可以查找 DriverDesc 内容为你要修改的网卡的描述相吻合的主键,如“0000”。

    2、 在上面提到的主键下,添一个字符串,名字为“NetworkAddress”,把它的值设为你要的 MAC 地址,要连续写,如“001010101010”。

    3、然后到主键下“NDI\params”中添加一项“NetworkAddress”的主键值,在该主键下添加名为“default”的字符串,值写要设的 MAC 地址,要连续写,如“001010101010”。

    【注】实际上这只是设置在后面提到的高级属性中的“初始值”,实际上使用的 MAC 地址还是取决于在第 2 点中提到的“NetworkAddress”参数,而且一旦设置后,以后高级属性中值就是“NetworkAddress”给出的值而非“default”给出的了。

    4、在“NetworkAddress”的主键下继续添加名为“ParamDesc”的字符串,其作用为指定“NetworkAddress”主键的描述,其值可为“MAC Address”(也可以随意设置,这只是个描述,无关紧要,这个值将会在你以后直接修改 MAC 地址的时候作为描述出现),这样重新启动一次以后打开网络邻居的属性,双击相应网卡项会发现有一个高级设置,其下存在 MAC Address(就是你在前面设置的 ParamDesc)的选项,这就是你在第二步里在注册表中加的新项“NetworkAddress”,以后只要在此修改 MAC 就可以了。

    5、关闭注册表编辑器,重新启动,你的网卡地址已经改好了。打开网络邻居的属性,双击相应网卡项会发现有一个 MAC Address 的高级设置项。用于直接修改 MAC 地址,而且不需要重新启动就可以实现 MAC 的随时更改。

    二、Linux 下的 MAC 地址更改

    1、首先必须关闭网卡设备,否则会报告系统忙,无法更改。

    命令是:“/sbin/ifconfig eth0 down”

    2、修改 MAC 地址,这一步较 Windows 中的修改要简单。

    命令是:“/sbin/ifconfig eth0 hw ether 00:AA:BB:CCD:EE”

    3、重新启用网卡

    “/sbin/ifconfig eht0 up”网卡的 MAC 地址更改就完成了。

    三、Windows Me 下的 MAC 更改

    在 Windows Me 下,MAC 地址的更改和 Windows 98 下是一样的。在 22 期中《给网卡换张“身份证”》一文中已经有介绍,所以不再赘述。

    四、补充说明

    1、在 Windows 2000 下,已经没有“winipcfg”命令,但是你仍然可以通过“ipconfig”命令来获取网卡的 MAC 地址信息,方法是首先在运行中输入“cmd”,回车,进入命令行方式,然后输入“ipconfig -all”(此命令在 Windows 98 和 Windows Me 中也可使用),你就可以找到网卡的各项信息。

    2、为什么修改 MAC 地址?可能有很多人迷惑不解,为什么用这么大的篇幅来介绍修改 MAC 地址,到底有什么实际意义呢?简单的说,MAC 地址相当于你的网络标识,在局域网里,管理人员常常将网络端口与客户机的 MAC 地址绑定,方便管理,万一你的网卡坏掉了,换一张网卡必须向管理人员申请更改绑定的 MAC 地址,比较麻烦,这时候,我们直接在操作系统里更改一下 MAC,就可以跳过重新申请这一步,减少了很多麻烦。

    另外,当你使用黑客软件对别人的机器进行攻击时,别人的防火墙获取到你的 IP 地址,就可以通过“Nbtstat -A ip 地址”命令获取你的 MAC,如果你改一下,呵呵,查到的 MAC 就不是你的了。(可别说我教你学坏啊!)

    3、如果嫌修改过于麻烦,或者有多台机器需要修改,可以按如下步骤生成一个 .reg 文件,直接导入机器即可。

    Windows 98 下的注册表文件:

REGEDIT4

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000]

"NetWorkAddress"="5254ab338b8d"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000\Ndi\Params\networkaddress]

"default"="5254ab338b8d"

"paramdesc"="MAC Address"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net\0000\Ndi\Params\networkaddress]

"default"="5254ab338b8d"

"paramdesc"="MAC Address"

    Windows 2000 下的注册表文件:

REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000]

"NetWorkAddress"="5254ab338b8d"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\Ndi\Params\networkaddress]

"default"="5254ab338b8d"

"paramdesc"="MAC Address"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000\Ndi\Params\networkaddress]

"default"="5254ab338b8d"

"paramdesc"="MAC Address"

    用记事本生成以上文件然后保存成 1.reg,双击即可实现修改,但是,有一点必须注意,就是必须确定你的网卡在注册表里究竟是“0000”,还是“0001”等其他的,然后在这个 Reg 文件里进行相应的修改再执行导入操作。否则只会是白费力气。

作者: xuanren    时间: 2002-2-1 11:04
怎么搞的,做的屏蔽还是限制了字节数?
http://go1.163.com/xoip/win2000/xiugaimac.htm
这个是改注册表实现改变MAC地址的方法,当然FlowJZH所说的直接设置也是可以的,而且简便了许多。。。

真是实践出真知,在此多谢FlowJZH朋友的合作。。。





欢迎光临 嘉定都市网 (http://www.jiading.com.cn/) Powered by Discuz! X3.1