主题:关于内网里路由器的IP地址,请教! -- 参学
我现在住的地方是三个人共享一个Netgear的路由器,我对这台路由器没有管理权。因为我有两台电脑,我又在我的房间里另安了一台路由器共两台电脑一起上网,这台路由器是linksys的。
Netgear的路由器默认的ip地址是192.168.1.1 而linksys默认的ip地址也是192.168.1.1 在这种情况下,把linksys路由器接在netgear上,无法上网。这时linksys从netgear得到的ip地址是192.168.1.x 但如果我把linksys的ip地址改为192.168.0.1的话,也就是把地址改成和netgear不是一个网段后,就可以正常上网。
我的问题是,照我的理解,WAN口和LAN口应该不会互相影响吧,也就是说虽然linksys被分配到的ip是192.168.1.x,跟自己本身的ip网段一样,但由于一个地址在WAN口上,一个在LAN口上,不应该冲突才对啊。但事实就是如果两者的网段一个,就无法上网,请问这是为什么呀?
我在选项的帮助里看到
If the router is hosting your Internet connection, select Gateway mode. If another router exists on your network, select Router mode.
好像跟你说的正好相反,这是怎么回事?
本帖一共被 1 帖 引用 (帖内工具实现)
不管把路由器的operating mode设置成gateway还是router都没法上网,除非把两台路由器的ip地址设成不一样的。这是咋个回事捏……
路由全部是基于地址段的。所以当你lan wan两边的地址段一样,路由就认为他们是一回事,无法区分(当然还 是有办法的,不过家用路由基本都不区分),所有就出错了。
你如果不想设置地址,就把linksys对内的dhcp关了,然后把netgear连到linksys的一个lan口上(可能要改用crossover ethernet线),其他机器也连在lan口上。这样你的linksys只做一个switch用。全部网共用一个地址段,由netgear掌控。
总算是明白了,一直以为lan和wan是两回事,它们的ip地址可以一样的。
netgear不归我管,加上linksys我刷成了dd-wrt,还想玩玩一些高级功能,所以我还是先这样使着吧
对了,我在这个帖子里转贴的这句话是什么意思啊,是说用router功能的话,就等于把linksys变成一个switch了吗?
对于家用设备来说,gateway模式和router模式的主要区别在于是否做nat。gateway模式做,router模式不做。两种都不是switch 。
一般家庭网内都使用私用ip地址,最常见的就是192.168.*.*段的。这些地址只在内部有效,在外面互联网上无效,术语叫“不可路由”not routable。所以数据包传出去之前需要转换成gateway的对外口的ip地址,这个地址是公共ip地址,可以在互联网上使用。这个就是nat的基本作用。
nat有一个副作用,就是从gateway外面无法连到gateway里面的机器上(*除非预设置端口映射等)。理由很简单,里面机器只有私用地址,没有可路由地址。所以如果建一个比较复杂的家庭网,比如网内套网,而内层网的网关也用gateway模式的话,外层网中的机器就不能访问内层网中的机器了。如果内层网中有共享设备也就没法共享了。这种情况下最好内层网的网关使用路由模式,关闭nat功能。有的机器在路由模式下还会启动rip之类的路由协议,自动设置路由。如果没有就需要自己在网关上设置静态路由。
不过这些跟你的要求关系不大。
不管是用gateway或是router模式,都要保证两台路由器不在同一个subnet上?比如我现在用的是192.168.1.1和192.168.0.1
如果是的话,那用gateway还是router模式的区别是不是就是在gateway模式下,netgear所在网段的电脑无法跟linksys所在网段的电脑通讯,而在router模式下则可以?
gateway和router模式的区别在于是否使用nat。外部无法访问内部只是使用nat的结果之一。
在router模式下你还必须在netgear上都设置好路由才能从netgear所在网访问linksys内部网。
也就是把linksys设成router模式后,那我想为连在linksys上的电脑做port forwarding是不是在netgear上设置就可以了?netgear会自动把port forwarding里设定的端口导到连在linksys上的电脑上?
首先,你的netgear不一定支持对自己的对内地址段以外地址(比如192.168.0.0/24地址段)做nat服务,这里假设它自己的内部地址段是192.168.1.0/24。还有一个问题就是netgear是否允许目的地在自己内部地址段以外的port forwarding。我对netgear具体不熟悉,所以我不知道答案,建议作些试验。
如果以上两个问题的答案都是肯定的,那么你可以把内部linksys设成路由模式。在linksys上把默认路由指向netgear,netgear上增加一条静态路径,192.168.0.0/24指向linksys。port forwarding应该可以工作。
如果不支持,那么你的内部linksys就不能设成路由模式,否则netgear将不能对linksys内网(192.168.0.0/24)上的机器正确nat。也就是说linksys内的机器无法正常访问互联网。这种情况下,linksys可以设成gateway模式,这样实际上在linksys和netgear上做双重nat,port forwarding得在linksys和netgear上都设(双重)。当然负面作用是192.168.1.0/24上的机器无法直接访问192.168.0.0/24内的机器。
当然也可以如前所说,把linksys当一个switch用。几个lan口一般默认工作模式就是bridge在一起的(无线也和它们bridge在一起),所以光用几个LAN口实际就是在用switch。自己改一下设置可以把wan口也bridge进来。
还有一种办法就是proxy arp,在linux下可以做,但是不清楚dd-wrt对此的支持。
以前用甲机装双网卡,A卡接外网,共享;B卡接内网。
乙机C卡接B卡通过甲机上网。
原来甲机A卡固定IP地址,B卡IP为192.168.0.1,网关和DNS为A卡的IP。
乙机C卡IP为192.168.0.2,网关和DNS同B卡。
现在A卡用DHCP,B卡和C卡的网关和DNS该如何填呢?
空着没连通,用192.168.0.1也没连通