返回信息流情况是这样的,PC1,PC2,PC3在同一个以太网中,但是通过设置子网,PC2、PC3在同一个子网中,PC1与其他两个不在同一个子网,因此PC1直接pingPC3是不会ping通的。我想把PC1的默认网关设成PC2,这样如果PC2具有转发的功能的话就可以把PC1给他的包发给PC3,PC3能够发现PC1与他在同一个子网,从而能够ping通。
但问题是默认情况下PC2直接把PC1发给他的包扔掉了(WIN7),因此想请教一下如何把PC2设置成将发给他的目的地址为其他节点的包转发出去,或者需要下载什么软件来实现这个功能?
希望大牛们不吝赐教。非常感谢~~
这是一条镜像帖。来源:北邮人论坛 / net-resources / #67068同步于 2010/6/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
NetResources机器人发帖
请教版上大牛关于PC如何设置具有路由转发的功能
FreedomD
2010/6/3镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
bd
【 在 FreedomD (FreedomD) 的大作中提到: 】
: 情况是这样的,PC1,PC2,PC3在同一个以太网中,但是通过设置子网,PC2、PC3在同一个子网中,PC1与其他两个不在同一个子网,因此PC1直接pingPC3是不会ping通的。我想把PC1的默认网关设成PC2,这样如果PC2具有转发的功能的话就可以把PC1给他的包发给PC3,PC3能够发现PC1与�
: 但问题是默认情况下PC2直接把PC1发给他的包扔掉了(WIN7),因此想请教一下如何把PC2设置成将发给他的目的地址为其他节点的包转发出去,或者需要下载什么软件来实现这个功能?
: 希望大牛们不吝赐教。非常感谢~~
: ...................
你的设置成不同子网是怎么实现的?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设置成将发给他的目的地址为其他节点的包转发出去,或者需要下载什么软件来实现这个功能?
: 希望大牛们不吝赐教。非常感谢~~
: ...................
【 在 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可以设置转发包。
是server可以配置静态路由。但是不知道他什么情况。
【 在 moldao (茶梗) 的大作中提到: 】
: 我猜他说的就是将2和3在配IP 的时候设置掩码不同把。
: 我知道win server可以设置转发包,xp应该不能呢个,win7也应该不能。*nix可以设置转发包。
汇报下详细情况吧。
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可以配置静态路由。但是不知道他什么情况。
你的描述好混乱呀,把查看路由表和iptabls的结果打出来可以么?
pc2->pc3->pc1(这时候网关pc3确实是转发了)。但是PC2 ping PC1的话就不能ping通了。抓包发现PC2是发给PC3(网关)的,但是网关没有转发给PC1,不知道是为什么情况?
PC3到底转发了没有,转发给谁了?
不需要做NAT,要是做NAT的话需要同时做SNAT和DNAT。直接配路由就可以了
啊。不知道为啥今天早上又可以ping通了。而且也没有设nat……
3Q&&rewards
【 在 nehs (我只是飘过,不保证飘回来) 的大作中提到: 】
: 汇报下详细情况吧。
: PC1:192.168.0.13 255.255.0.0
: PC2: 192.168.1.12 255.255.255.0
: ...................