虚拟化技术:
Iass:infrastructure as a server 直接启动一个虚拟机,需要什么程序自己安装
Paas:platform 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 1, ip link set veth1.2 netns 2
将veth1.1放到名称空间1中,veth1.2放到名称空间2中,1和2是通过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
测试是否能ping通ip netns exec 1 ping 10.0.1.2
dnsmasq这个命令可以在创建的网路名称空间中使用,它可以创建出一台dns,dhcp服务器,使用方法: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指定的是网关