admin管理员组

文章数量:1567286

文章目录

  • 前言
  • 一:Linux网络名称空间
      • 1.1:概述
      • 1.2:常用命令
      • 1.3:VETH对
      • 1.4:Linux网络名称空间实现DHCP服务隔离
      • 1.5:Linux网络名称空间实现路由器
  • 二:neutron路由器
  • 三:L3代理
      • 3.1:概述
      • 3.2:涉及的概念解释
  • 四:FWaas
      • 4.1:概述
      • 4.2:两个版本:FWaas V1与 FWaas V2

前言

一:Linux网络名称空间

1.1:概述

  • 在介绍DHCP服务时提到的linux网络名称空间( Network Namespace简称 netns)是 linux提供的一种内核级别的网络环境隔离方法, Namespace也可以翻译称为命名空间或者叫名字空间。当前linux支持6种不同类型的名称空间,网络名称空间是其中一种,在二层网络上, VLAN可以将一个物理交换机分割几个独立的虚拟交换机。类似地,在三层网络上, Linux网络名称空间可以将一个物理三层网络分割成几个独立的虚拟三层网络。作为一种资源虚拟机隔离机制。
  • 在Linux中,网络空间可以被认为是隔离的拥有单独网络栈(网络接口、路由、 iptables等)的环境,它经常来隔离网络资源(设备和服务),只有拥有同样网络名称空间的设备才批次访问。它还能提供了在玩过名称空间内运行进程的功能,后台进程可以运行不同名称内的相同端口上,用户还可以虚拟出一块网卡
  • 可以创建一个完全隔离的全新网络环境,包括独立的网络接口、路由表、ARP表,IP地址表、 iptables或 ebtables等,与网络有关的组件都是独立的。

1.2:常用命令

  • 通常情况下可以使用ip netns add命令添加新的网络名称空间,使用ip netns list命令查看所有的网络名称空间。

  • 执行以下命令进入指定的网络名称空间。ip netns exec netns 名称 命令

    可以在指定的虚拟环境中运行任何命令,例如以下命令ip nents exec net001 bash

  • 又如,为虚拟网络环境 netns的Eth0接口增加IP地址:lp netns exec netns0 ip address add 10.0.1.1/24 eth0

1.3:VETH对

  • 网络名称空间内部通信没有问题,但是被隔离的网络名称空间之间要进行通信,就必须采用特定方法,即VETH对。
  • VETH对是一种成对出现的网络设备,他们像一根虚拟的网络线,可用于连接两个名称空间,向VETH对一端输入的数据将自动转发到另外一端。例如创建两个网络名称空间的 netns1和 netns2并使他们之间通信,可以执行以下步骤
  • 1)创建两个网络名称空间
    • iP netns add netns 1
      ip netns add netns 2
  • 2)创建一个VETH对
    • Ip link add veth1 type veth peer name veth2
    • 创建的一对VETH虚拟接口类似管道(pipe),发给veth1的数据包可以在veth2收到,发给veth2的数据包

本文标签: 路由器名称空间OpenStackFWaas