虚拟化技术及ip netns简介

虚拟化技术:

Iassinfrastructure as a server 直接启动一个虚拟机,需要什么程序自己安装

Paasplatform as a servicce 启动一个虚拟机,并安装了相应的程序

linux内核: namespace  cgroups  

namespace: 完成特定资源的隔离,没法控制隔离出来的空间如何指派获得系统资源,比如cpu 内存

文件系统隔离;网络隔离(所有跟网络相关的都隔离)IPC隔离(对名称空间内的PID重新标号,两个不同的名称空间可以使用相同的PID);用

户和用户组隔离;UTS(unix time-sharing system,提供主机名称和域名的隔离)隔离

cgroups  用于完成资源配置,将系统资源比如cpu 内存按比例分配到指定的空间

ip命令介绍:ip netns help 查看命令帮助

创建一个物理桥:ip addr del 192.168.204.133/24 dev eno16777736; ip addr add 192.168.204.133/24 dev br-ex; brctl addif br-ex eno16777736

创建一个内部桥:brctl addbr br-in

ip link 命令帮助使用 ip link help

将网络核心转发功能打开: vim /etc/sysctl.conf   添加net.ipv4.ip_forward=1   使用sysctl -p 使其立即生效

创建一对网卡:ip link add veth1.1 type veth peer name veth1.2

ip link set veth1.1 netns 1ip link set veth1.2 netns 2

veth1.1放到名称空间1中,veth1.2放到名称空间2中,12是通过ip netns add 命令添加的

使用ip link 修改网卡名称 ip netns exec 1 ip link set veth1.1 name eth0

ip netns exec 2 ip link set veth1.2 name eth0

为名称空间中的网卡配置地址ip netns exec 1 ifconfig eth0 10.0.1.1/24 up ip netns exec 2 ifconfig eth0 10.0.1.2/24 up

测试是否能pingip netns exec 1 ping 10.0.1.2

dnsmasq这个命令可以在创建的网路名称空间中使用,它可以创建出一台dnsdhcp服务器,使用方法:ip netns exec 1 dnsmasq -F

10.0.1.100,10.0.1.200 --dhcp-option=option:router,10.0.1.254

-F后面指定分配地址范围, 10.0.1.254指定的是网关

 

原文地址:https://www.cnblogs.com/linuxboke/p/5667928.html