Vbox中多台虚拟机搭建简单子网

一、目标拓扑结构:

要使192.168.31.1和192.168.32.1互相ping通。

二、步骤及问题:

1.路由器配置

SEED_Router配置IP并开启路由转发协议:

ifconfig eth1 192.168.31.2

ifconfig eth2 192.168.32.2

echo "1" > /proc/sys/net/ipv4/ip_forward

2.client配置

SEED_Client配置IP并设置默认网关:

ifconfig eth1 192.168.31.1

# 不用route add default gw 192.168.31.2

3.server配置

SEED_Server配置IP并设置默认网关:

ifconfig eth2 192.168.32.1

# route add default gw 192.168.32.2

测试配置结果-网络连通性时发现192.168.31.1能ping通192.168.32.1,但后者ping不通前者。

三、解决方案:

分别给client、server、Router手动配置路由表

client:

ip route add 192.168.32.0/24 via 192.168.31.2

server:

ip route add 192.168.31.0/24 via 192.168.32.2

Router:

ip route del192.168.32.0/24

ip route add 192.168.32.0/24 via 192.168.32.2

ip route del192.168.31.0/24

ip route add 192.168.31.0/24 via 192.168.31.2

然后再ping就ok了:

四、分析:

手动配置路由表之前其实各主机及Router都有相应地路由表项的,

但跟手动配置的表项信息不完全相同,然后就莫名其妙地只能单向转发。

[01/04/2019 02:28] root@ubuntu:/home/seed# ip route
169.254.0.0/16 dev eth0  proto kernel  scope link  src 169.254.8.240  metric 1 
192.168.31.0/24 dev eth1  proto kernel  scope link  src 192.168.31.2 
192.168.32.0/24 dev eth2  proto kernel  scope link  src 192.168.32.2 
224.0.0.0/4 dev eth0  proto static 

手动删除后重新配置

[01/04/2019 02:30] root@ubuntu:/home/seed# ip route del 192.168.31.0/24
[01/04/2019 02:32] root@ubuntu:/home/seed# ip route del 192.168.32.0/24
[01/04/2019 02:32] root@ubuntu:/home/seed# ip route add 192.168.31.0/24 via 192.168.31.2
[01/04/2019 02:33] root@ubuntu:/home/seed# ip route add 192.168.32.0/24 via 192.168.32.2

之后有时间再具体研究下自动生成的路由表项有什么区别。。。。

原文地址:https://www.cnblogs.com/peanutk/p/10221400.html