|
发表于 2007-1-17 22:01:31
|
显示全部楼层
Post by future_god
我有a,b两台机器
a: rh 9, 双网卡, eth0 连接外网, ip固定, 172.21.x.y netmask 255.255.255.0 gw 172.21.n.m
eth1 连接内网, ip : 100.168.0.1 netmask 255.255.255.0
b: windows xp, 单网卡, ip 100.168.0.66 netmask 255.255.255.0 gw 100.168.0.1
(b机器的ip自己手动设置的, a机器的eth1也是手动设置的)
之所以我要设置成100.168.0.66是想通过在xp上ping外网如www.google.com, 通过抓包可以看到100.168.0.66在ping www.google.com, 这样说明路由器配置成功, 仅仅起了一个ip转发的功能, 并没有过做ip的伪装.
现在b 可以ping通100.168.0.1, 但是无法ping通外网.
b 机器的dns设置成跟a的一样.(而且通过SNAT是可以上网的,我现在上网就是用的SNAT)
已经打开rh9上的包转发功能
- #cat /proc/sys/net/ipv4/ip_forward
- 1
复制代码
现在的问题是a机器eth1收到了b的数据包,但是不转发给a的eth0.
我想请问大家, 如果b想ping能www.google.com应该如何做?
先谢谢了!
100.168.0.66---->100.168.0.1--->....---->www.google.com
www.google.com--->....100.168.0.66(这是内网的ip,外网如何有到你内网的路由呢?)
所以不nat的话,肯定不行,
你如果只是想做测试,可以用linux联结两个内网,然后一个内网里的电脑ping另一个内网的电脑
,不用nat,只要打找ip_forward就可以了,不过两个内网里的电脑的网关都要指向linux服务器(或者是在路由表里加路由) |
|