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
之后有时间再具体研究下自动生成的路由表项有什么区别。。。。