BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / net-resources / #67068同步于 2010/6/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
NetResources机器人发帖

请教版上大牛关于PC如何设置具有路由转发的功能

FreedomD
2010/6/3镜像同步7 回复
情况是这样的,PC1,PC2,PC3在同一个以太网中,但是通过设置子网,PC2、PC3在同一个子网中,PC1与其他两个不在同一个子网,因此PC1直接pingPC3是不会ping通的。我想把PC1的默认网关设成PC2,这样如果PC2具有转发的功能的话就可以把PC1给他的包发给PC3,PC3能够发现PC1与他在同一个子网,从而能够ping通。 但问题是默认情况下PC2直接把PC1发给他的包扔掉了(WIN7),因此想请教一下如何把PC2设置成将发给他的目的地址为其他节点的包转发出去,或者需要下载什么软件来实现这个功能? 希望大牛们不吝赐教。非常感谢~~
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
nehs机器人#1 · 2010/6/3
bd 【 在 FreedomD (FreedomD) 的大作中提到: 】 : 情况是这样的,PC1,PC2,PC3在同一个以太网中,但是通过设置子网,PC2、PC3在同一个子网中,PC1与其他两个不在同一个子网,因此PC1直接pingPC3是不会ping通的。我想把PC1的默认网关设成PC2,这样如果PC2具有转发的功能的话就可以把PC1给他的包发给PC3,PC3能够发现PC1与� : 但问题是默认情况下PC2直接把PC1发给他的包扔掉了(WIN7),因此想请教一下如何把PC2设置成将发给他的目的地址为其他节点的包转发出去,或者需要下载什么软件来实现这个功能? : 希望大牛们不吝赐教。非常感谢~~ : ...................
rainblue机器人#2 · 2010/6/4
你的设置成不同子网是怎么实现的?VLAN么?如果是VLAN,必须要用三层设备才可以ping通。 【 在 FreedomD 的大作中提到: 】 : 情况是这样的,PC1,PC2,PC3在同一个以太网中,但是通过设置子网,PC2、PC3在同一个子网中,PC1与其他两个不在同一个子网,因此PC1直接pingPC3是不会ping通的。我想把PC1的默认网关设成PC2,这样如果PC2具有转发的功能的话就可以把PC1给他的包发给PC3,PC3能够发现PC1与他在同一个子网,从而能够ping通。 : 但问题是默认情况下PC2直接把PC1发给他的包扔掉了(WIN7),因此想请教一下如何把PC2设置成将发给他的目的地址为其他节点的包转发出去,或者需要下载什么软件来实现这个功能? : 希望大牛们不吝赐教。非常感谢~~ : ...................
moldao机器人#3 · 2010/6/4
【 在 rainblue 的大作中提到: 】 : 你的设置成不同子网是怎么实现的?VLAN么?如果是VLAN,必须要用三层设备才可以ping通。 : 【 在 FreedomD 的大作中提到: 】 : : 情况是这样的,PC1,PC2,PC3在同一个以太网中,但是通过设置子网,PC2、PC3在同一个子网中,PC1与其他两个不在同一个子网,因此PC1直接pingPC3是不会ping通的。我想把PC1的默认网关设成PC2,这样如果PC2具有转发的功能的话就可以把PC1给他的包发给PC3,PC3能够发现PC1与他在同一个子网,从而能够ping通。 : ................... 我猜他说的就是将2和3在配IP 的时候设置掩码不同把。 我知道win server可以设置转发包,xp应该不能呢个,win7也应该不能。*nix可以设置转发包。
rainblue机器人#4 · 2010/6/4
是server可以配置静态路由。但是不知道他什么情况。 【 在 moldao (茶梗) 的大作中提到: 】 : 我猜他说的就是将2和3在配IP 的时候设置掩码不同把。 : 我知道win server可以设置转发包,xp应该不能呢个,win7也应该不能。*nix可以设置转发包。
nehs机器人#5 · 2010/6/5
汇报下详细情况吧。 PC1:192.168.0.13 255.255.0.0 PC2: 192.168.1.12 255.255.255.0 PC3: 192.168.0.1 255.255.0.0 PC2 ping PC1是不能ping通的。 按照如下方法把PC3(linux)设成PC1的默认网关。 1、打开包转发功能: echo "1" > /proc/sys/net/ipv4/ip_forward 2、修改/etc/sysctl.conf文件,让包转发功能在系统启动时自动生效: # Controls IP packet forwarding net.ipv4.ip_forward = 1 3、打开iptables的NAT功能: /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 说明:上面的语句中eth0是连接外网或者连接Internet的网卡. 执行下面的命令,保存iptables的规则: service iptables save 4、查看路由表: netstat -rn 或 route -n 5、查看iptables规则: iptables -L PC2如果要给PC1发数据包的话,发现不在同一个子网,于是就可以发给PC3,然后PC3转发给PC1。这个在理论上应该是没问题吧。 但是现在的问题是PC1 ping PC2确实能够通,通过wireshark发现与预想的一致,路径为pc1->pc2,pc2->pc3->pc1(这时候网关pc3确实是转发了)。但是PC2 ping PC1的话就不能ping通了。抓包发现PC2是发给PC3(网关)的,但是网关没有转发给PC1,不知道是为什么情况? 是不是上面对linux的设置有问题? 【 在 rainblue (everyday BUPT & BYR) 的大作中提到: 】 : 是server可以配置静态路由。但是不知道他什么情况。
hs机器人#6 · 2010/6/6
你的描述好混乱呀,把查看路由表和iptabls的结果打出来可以么? pc2->pc3->pc1(这时候网关pc3确实是转发了)。但是PC2 ping PC1的话就不能ping通了。抓包发现PC2是发给PC3(网关)的,但是网关没有转发给PC1,不知道是为什么情况? PC3到底转发了没有,转发给谁了? 不需要做NAT,要是做NAT的话需要同时做SNAT和DNAT。直接配路由就可以了
nehs机器人#7 · 2010/6/6
啊。不知道为啥今天早上又可以ping通了。而且也没有设nat…… 3Q&&rewards 【 在 nehs (我只是飘过,不保证飘回来) 的大作中提到: 】 : 汇报下详细情况吧。 : PC1:192.168.0.13 255.255.0.0 : PC2: 192.168.1.12 255.255.255.0 : ...................