一、目标拓扑结构:

要使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都有相应地路由表项的,

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

[// :] root@ubuntu:/home/seed# ip route
169.254.0.0/ dev eth0 proto kernel scope link src 169.254.8.240 metric
192.168.31.0/ dev eth1 proto kernel scope link src 192.168.31.2
192.168.32.0/ dev eth2 proto kernel scope link src 192.168.32.2
224.0.0.0/ dev eth0 proto static

手动删除后重新配置

[// :] root@ubuntu:/home/seed# ip route del 192.168.31.0/
[// :] root@ubuntu:/home/seed# ip route del 192.168.32.0/
[// :] root@ubuntu:/home/seed# ip route add 192.168.31.0/ via 192.168.31.2
[// :] root@ubuntu:/home/seed# ip route add 192.168.32.0/ via 192.168.32.2

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

Vbox中多台虚拟机搭建简单子网的更多相关文章

  1. virtualbox 虚拟3台虚拟机搭建hadoop集群

    用了这么久的hadoop,只会使用streaming接口跑任务,各种调优还不熟练,自定义inputformat , outputformat, partitioner 还不会写,于是干脆从头开始,自己 ...

  2. vmware中两台虚拟机互相访问

    hosts文件   简单说,就是本来访问某个机器是通过其ip,在hosts文件中给ip对应一个名字,那么就可以通过名字来替代ip去访问该机器了(名字显然比ip好记) 环境:宿主机win10系统,安装了 ...

  3. 一台虚拟机,基于docker搭建大数据HDP集群

    前言 好多人问我,这种基于大数据平台的xxxx的毕业设计要怎么做.这个可以参考之前写得关于我大数据毕业设计的文章.这篇文章是将对之前的毕设进行优化. 个人觉得可以分为两个部分.第一个部分就是基础的平台 ...

  4. Vbox中Linux虚拟机网络配置(比较实用)

    好久没写过东西了,主要大部分都是来自对生活的感悟,很少有实实在在的关于学得有成就感的技术可以“炫耀”,所以也就懒得在这个上面登了. 实验室很早就有位师兄曾在吃饭的路上问过我们这群小弟,你们知道Vbox ...

  5. <Mastering KVM Virtualization>:第四章 使用libvirt创建你的第一台虚拟机

    在第3章<搭建独立的KVM虚拟化>中,你安装并启动了libvirtd服务.你还引入了帮助你管理虚拟机的libvirt管理工具virt-manager和virsh. 相较于命令行,新用户总是 ...

  6. MacOS上通过虚拟机搭建基础CentOS7系统环境

    MacOS上通过虚拟机搭建基础CentOS7系统环境 尽管从Mac的Terminal可以看出,macOS与UNIX.Linux或多或少都有血缘关系(shell.bash等),但是在mac进行Linux ...

  7. Kafka1 利用虚拟机搭建自己的Kafka集群

    前言:       上周末自己学习了一下Kafka,参考网上的文章,学习过程中还是比较顺利的,遇到的一些问题最终也都解决了,现在将学习的过程记录与此,供以后自己查阅,如果能帮助到其他人,自然是更好的. ...

  8. 虚拟机搭建CentOS主机win10通过xshell连接

    目标:主机是win10系统,虚拟机搭建CentOS,在主机上通过XShell连接操作. 第一步 主机上安装虚拟机 第二步 下载CentOS 下载地址http://101.110.118.69/isor ...

  9. 使用VirtualBox虚拟机搭建hadoop运行环境,

    最近学了一下大数据,包括hadoop环境的搭建,搭建工具:centos6.5,hadoop2.6.4,eclipse Mars.1 Release (4.5.1),jdk1.8 第一步.网络与ip地址 ...

随机推荐

  1. mac 在finder上面显示完成路径

    打开终端,输入以下命令并回车: defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES 然后再把finder关了再打开,你会 ...

  2. Docker本地镜像发布到阿里云和从阿里云拉取镜像

    登录阿里云官网,找到容器镜像服务 进入镜像仓库,创建仓库 输入信息 选择本地仓库 这里我要将这个镜像提交到仓库 回到仓库列表,点击管理 docker login --username=cn丶moti ...

  3. for循环中的闭包

    // 问题1:判断下面一段代码运行的结果是什么? var data = [] for (var i = 0; i < 3; i++) { data[i] = function() { conso ...

  4. npm install 报错踩坑路

    先出现的是超过最大调用栈问题: npm ERR! Maximum call stack size exceeded 百度之后说给npm降级或者升级 降级 : npm install -g npm@5. ...

  5. Redis和MemCache静态Map做缓存区别

    本地缓存和分布式缓存 本地缓存:使用自带的map或者guava实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着jvm的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不 ...

  6. 【Java并发】基础

    一.概述 1.1 线程与进程区别 1.2 多线程引发的性能问题 二.多线程创建方式 2.1 第一种-继承Thread类 2.2 第二种-实现Runnable接口 2.3 第三种-实现Callable接 ...

  7. shell数组处理

    linux shell在编程方面比windows 批处理强大太多,无论是在循环.运算.已经数据类型方面都是不能比较的. 下面是个人在使用时候,对它在数组方面一些操作进行的总结.   1.数组定义   ...

  8. JEESZ-SSO解决方案

    提醒:文档只是作为一个基础的参考,愿意了解的朋友可以随时咨询. 第一节:单点登录简介 第一步:了解单点登录 SSO主要特点是: SSO应用之间使用Web协议(如HTTPS),并且只有一个登录入口. S ...

  9. TCP协议之网络延时

    影响TCP 网络时延的因素硬件速度网络和服务器的负载请求和响应报文的尺寸客户端和服务器之间的距离TCP 协议的技术复杂性TCP协议产生的时延TCP 连接建立握手:TCP 慢启动拥塞控制:数据聚集的 N ...

  10. 集合(一)-Java中Arrays.sort()自定义数组的升序和降序排序

    默认升序 package peng; import java.util.Arrays;  public class Testexample { public static void main(Stri ...