1
adrianzhang 2014-02-04 10:17:23 +08:00
netstat -rn
看一下路由表是什么样的 |
2
Insomnia OP @adrianzhang
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.3.0 192.168.1.254 255.255.255.0 UG 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth1 0.0.0.0 192.168.2.254 0.0.0.0 UG 0 0 0 eth0 其中 192.168.3.0 这个因为我们的机器同样在这个域里面,为了能通过 192.168.1.1 这个IP直接ssh登入。 |
3
raptium 2014-02-04 12:05:16 +08:00 via iPhone
你这个 NAT 不是在虚拟机上做的,是在外面做的
所以在虚拟机上不管怎么设置都没用的 |
4
Insomnia OP @raptium 外面好像会直接分配好 IP 到这台机器的。那么这台机器上是否还需要做些什么?还是直接NAT那里设置为空就好?
因为我已经可以用内网的 192.168.1.1 可以访问了,但是用外网的 IP 还无法访问。 |
5
Insomnia OP @raptium 还有,如果我关掉 VMware 里面设置的防火墙,就可以直接 tracert 123.123.123.123 这个外网 IP ,这样的话,那么这样的话能说明这个 NAT 是已经自己系统生成的 OK 的吗?谢谢了。
|
6
raptium 2014-02-04 15:22:50 +08:00 via iPad
没用过 vCloud 所以我也不是很清楚具体网络结构和功能
根据你的描述 123 这个 IP 应该是母机的外网 IP 如果要继续用 NAT, 可以在外面配置 DNAT 将某些端口转发到内网 IP 或者如果 123 这个 IP 是你独享的一个固定 IP,那么在上游路由配置正确的情况下,可以关掉 NAT 直接用桥接模式,虚拟机内将此 nic 设为固定 IP 即可(此时这个 IP 就不能再被母机或其他虚拟机使用了) |
7
adrianzhang 2014-02-04 16:03:01 +08:00
@Insomnia 奇怪,我怎么收不到at的信息。。。你的路由表
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 192.168.3.0 192.168.1.254 255.255.255.0 UG 0 0 0 eth1 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 第二条里的broadcast应为255.255.252.0,这样192.168.1.0和192.168.2.0才能给连进来。 |
8
adrianzhang 2014-02-04 16:14:54 +08:00
@Insomnia 哦,对了,不仅是掩码改,还有网关也要改,192.168.1.254这个网关能路由到192.168.2.x段吗?如果改了掩码还是不能登,那就改网关上的配置,加一个路由项。
|
9
tywtyw2002 2014-02-05 02:10:32 +08:00 via iPhone
路由表问题
0.0.0.0 192.168.2.254 0.0.0.0 UG 0 0 0 eth0 |
10
Insomnia OP @raptium 现在我这边不能在外面配置 DNAT,好像这个NAT是默认系统弄好的,那这样的情况瞎,是不是我想要配置 route 才行?我是不是可以直接在 route 上配置一个路由,直接通外网的 ip ?
@adrianzhang 第二条的规则只是为了让我本地的IP(192.168.3.1)可以 ssh 上 192.168.1.1 用的。 现在我从本地可以直接 ssh 上了。 只是外网的 ip 访问不到,打不开。。 192.168.1.254 这个是在 eth1 上, 192.168.2.x 是 eth0 的,是需要给他们两个网卡再设置一个路由吗? @tywtyw2002 能详细的讲下,这里的问题以及如何修改吗?非常感谢 |
11
adrianzhang 2014-02-05 15:45:23 +08:00
@Insomnia 哦,开始看错了以为要ssh到192.168.2.1
按照你的路由表,从192.168.3.x发起到123.123.123.123的TCP到接收的路径是这样的 192.168.3.x -- > 123.123.123.123 123.123.123.123 --> 192.168.2.1 (eth0 on VM) [这是NAT在起作用] 192.168.2.1 没有路径到192.168.3.x 所以192.168.3.x收不到响应。 而路由表中192.168.2.0路由项将所有的包发往eth0,那么192.168.3.x跟eth0连了吗?如果没有连那就不能通喽。 所以要改的话,将 192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 里面的eth0去掉,或者加一条几乎一样就是最后为eth1的路由项 |
12
adrianzhang 2014-02-05 15:56:22 +08:00
@Insomnia 仔细看一眼,是有回去路径的,因为192.168.2.1收到包后给回NAT,但是NAT上允许内部地址路由外部地址吗?
|
13
Insomnia OP @adrianzhang 他这个 NAT 的是默认设置好的,我这里没有权限去设置,所以不知道是不是问题在这里。。
我在 VM 里面直接使用 CULR 192.168.2.1 是可以拿到东西的,但是就是外面不行。。所以还是不解。 |
14
adrianzhang 2014-02-06 09:57:46 +08:00
@Insomnia 做个小测试就好了,在192.168.3.x找个机器,在nat指向它,然后找3.x网段另一个机器,访问该机器的外地址。这样就知道是不是nat配置的问题了。一般说来,很多NAT不支持内网端口直接路由外端口。
|