博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络名称空间 实例研究 veth处于不同网络的路由问题
阅读量:6072 次
发布时间:2019-06-20

本文共 850 字,大约阅读时间需要 2 分钟。

 

 

 

相关命令详细介绍参见

 

  

0、问题:两个网络名称空间中的两个接口veth0和veth1,如何配置netns0和netns1中的路由使得两者可以联通?即在netns0中 ping 10.0.1.2 正常。 1、答案:在netns0中$ ip netns exec netns0 ip route add 10.0.1.0/24 dev veth0    #command (1) 在netns1中$ ip netns exec netns1 ip route add 10.0.2.0/24 dev veth1    #command (2) 2、原理介绍:网络名称空间就是提供一个独立的网络环境,不同的网络名称空间就相当于不同的主机间的关系。 通常一个主机中,可以包含多个网络名称空间;而一个网络名称空间中,可以包含多个网络接口。 如上图所示是一台主机的两个网络名称空间。其中veth0和veth1是veth对,相当于通过网线将两个不同主机的网络环境进行连接。 我们知道,使用ifconfig 命令配置 某个网络接口的ip地址和子网掩码后,linux系统会生成一个默认的路由 ,该路由会将该网络接口的ip和netmask组成的网络地址作为路由的目的网络。目的地址满足该默认路由规则的ip数据包, 会从该接口发送出去,并且该数据包的源ip地址为该网络接口。 然而veth0与veth1并不在同一个网段内,所以当在netns0环境中执行ping 10.0.1.2命令时, 发送出去的数据包不满足linux为veth0默认生成的路由规则,该数据包不会从veth0发送出去。 于是,这里自定义了路由规则,command(1)。10.0.1.2满足该路由规则,所以可以通过veth0发送。 同样需要对netns1中的veth1接口,定义路由规则,这样netns1中才能够将响应数据包发送回netns0.

 

转载于:https://www.cnblogs.com/Dream-Chaser/p/7077759.html

你可能感兴趣的文章
六度问题(转载)
查看>>
快速构建Windows 8风格应用4-FlipView数据控件
查看>>
windows用命令行查看硬件信息
查看>>
怎样在SharePoint管理中心检查数据库架构版本号、修补级别和修补程序的常规监控...
查看>>
调用ShellExecute所须要头文件
查看>>
【vijos】1750 建房子(线段树套线段树+前缀和)
查看>>
Chomsky_hierarchy
查看>>
MVC5 + EF6 入门完整教程
查看>>
linux netstat命令详解
查看>>
xml文件格式例如以下
查看>>
【原】关于使用jieba分词+PyInstaller进行打包时出现的一些问题的解决方法
查看>>
Jmeter:图形界面压力测试工具
查看>>
eclipse svn登陆用户保存信息删除
查看>>
【笔记】《DirectX 9.0 3D游戏开发编程基础》:Direct3D初始化
查看>>
linux环境配置
查看>>
JavaScript Array对象
查看>>
基于Cloud Foundry平台部署nodejs项目上线
查看>>
libcurl提交表单上传文件
查看>>
ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式
查看>>
windows 下rabbitmq 安装---转载
查看>>