坚持#第282天~kvm学完啦,iptables防火墙开始啦

添加cpu、内存怎么加?
添加硬件网卡怎么用命令?

存储池/热添加硬件

 

网络的3种模式、网络的图形、文本

bridge、NAT、host-only

NAT的话要在全局配置文件里面要声名转发模式为nat

NAT右到左是snat源NAT

NAT左到右是dnat目标NAT

 

镜像管理:

1.空的镜像

2.后端镜像产生的是差异镜像

3.批量创建虚拟机,没有用图形,没有用virt-install:步骤:准备一个后端镜像,生成一个差异镜像,照着模板修改全局配置文件,virshdumpxml 域  会打印配置文件,思想,重定向到一个文件就变成了配置文件,virsh define 域.xml 生效配置文件,virsh autostart 域  自动启动

 

 

 

virsh list--all

virshnet-list --all

virshpool-list

 

存储池的图形化和文本化:

存储池是用来存放镜像的

一、本地存储

Director-based目录 例如:/var/lib/libvirt/images下面

storage1第一个存储池,dir基于目录的,disk物理磁盘,gluster集群的文件系统,iscsi,logical逻辑卷LVM卷组,netfs是nfs里面,rbd分布式存储系统Ceph分布式块存储都支持,sheepdog绵羊狗

选dir的,前进-前进-目标路径可以放在/根下面,完成

/storage1不仅是一个普通的目录,是一个存储池,可以存放镜像

 

文本化:

cd/etc/libvirt/storage

ls

vimstorage1.xml看下刚才创建的存储池

第一行是图形化第一个页面可以选的东西type=’dir’

4、5、6行是能力、空间、配额大小,0是无限制

path是存储池的目录

 

mkdir/storage2

cpstorage1.xml storage2.xml

vim/storage2/storage2.xml

修改一下

 

virshpool-define storage2.xml

virshpool-start storage2

virshpool-autostart storage2

virshpool-list出来了,但是virt-manager里面的存储池界面看不到,因为要重启libvirtd才会看的到

 

存储池,名字叫disk_pool,选disk磁盘,完成,最好不要装在sda,怕将系统覆盖了

还可以装在别的别的分区

fdisk sda

n

p

3

+100M

 

ll /dev/sda*

partx -a/dev/sda更新分区表

partx -a/dev/sda

ll /dev/sda*

 

pool-destroystorage2

pool-startstorage2

销毁错了,重开storage2

virshpool-list

发现本来就没有disk_pool

好吧,那就重启libvirtd服务,再去看看存储池出来了没

这个就是

 

vimdisk_pool.xml

第一行是disk类型的存储池,相当于图形化里的第一个界面

<source>下面是存放的硬盘大位置/dev/sda再下面一行不用管

<target目标>下面的path是挂载到本例目录的哪个位置

 

vimnetfs.xml

<source>下面一行是远端nfs服务器的ip,下面是远程nsf共享的目录,format格式自动识别不用管

想再来一个就cp nfs_share.xmlnfs.xml

vim nfs.xml

第一行类型不用动,名字要和外面一样nfs,uuid要改

path目标挂载地址images/nfs

virshpool-define nfs.xml

存储资源冲突,定义失败

vim nfs.xml

修改path目标挂载目录改为abc

mkdir /images/nfs_test

vim nfs.cml

修改path目标挂载目录改为/images/nfs_test

改上面的名字为nfs_test

改了之后virsh pool-definenfs.xml发现还是冲突

不需要手动创建nfs_test这个目录,只需要在name那里写了nfs_test就能自动生成了

rm nfs_test

virshpool-define nfs.xml

rm -fnfs.xml

手动去图形界面添加

nfs_test  netfs  前进,/kvm,有问题

暂停之前的nfs_share存储池

cpnfs_share.xml nfs.xml

vimnfs_test.xml

name为nfs_test,path为nfs_test

virshpool-define nfs.xml

暂停没有用,需要删掉之前的nfs_share存储池才能成功

virshpool-define nfs.xml

virshpool-start nfs_test

报错不存在挂载点

mkdirimages/nfs_test

再来virsh pool-startnfs_test

virsh pool-autostartnfs_test

pool-list

 

总结:

 

挂载点需要手动创建/var/lib/libvirt/images/nfs_test

 

 

使用edit直接编辑:

virshpool-edit default可以编辑存储池的配置文件,就不用进入到那个/etc/libvirt/storage目录了

virsh edit 域全局的配置文件

virshnet-edit 网络名配置网络配置文件

 

LAB存储池

 

KVM端

 

四种方法添加存储池:

1.kvm1                              kvm2

       nfs-server提供共享目录/kvm

kvm1、kvm2创建挂载点

 

推荐使用方法四:基于xml添加存储池

virshpool-define my-pool2.xml

virshpool--list --all

virshpool-start my-pool2

 

磁盘-性能选项-缓存模式(none,writethrough直写是不经过内存直接在磁盘里完成,writeback回写是磁盘上有很多io,读找磁盘,加载到内存中,进行修改,写入到磁盘,等不忙的时候磁盘自动写入内存以防断电数据丢失)

I/O是选择单线程还是多线程,如果I/O模式选择native,那么缓存模式必须是none,提高性能就threads,可以优化你的存储

 

 

添加cpu、内存怎么加?

图形化:点灯泡,加CPUs数量

文本化:

[cpu]

virsh --help|grep cpu

setvcpus 改变CPU数量

vcpucount 查看CPU数量

vcpuinfo 详细的域 vcpu 信息

virsh --help| grep cpu看到子命令setvcpus

virshsetvcpus --help看子命令的帮助

virshmaxvcpus --help一次性将cpu提升到最大数量帮助

virshsetvcpus 域 数量   报错,没有域,说明这个不能关机

virshsetvcpus 域 --maximum 2--config首先设置最大分配

virshsetvcpus 域 数量 --config  可以在关机的状态下修改报错最大分配给的是1,要去图形化里面增大最大分配,没有图形化怎么办??用--maximum这个是下一次引导的,必须使用--config,不能使用--live

virsh vcpucount域   查看cpu数量

virshdominfo pxe001查看cpu数量(比图形化查看的更敏感)

 

 

virshqemu-monitor-command 域 --hmp --cmdinfo  balloon 这个命令是查看

virshqemu-monitor-command 域 --hmp--cmd  balloon 这个命令是1024

virshqemu-monitor-command 域 --hmp --cmdinfo  balloon查看

重启QEMU虚拟机

virshqemu-monitor-command 域 --hmp --cmdinfo  balloon查看

 

[内存][mem]

virsh --help| grep mem

virshdommemstat 域   看出

virshsetmaxmem 域 --help查看帮助

virshsetmaxmem 域 1024(单位默认是kb),报错非得关机

virshsetmaxmem 域 1024加了--live也不行

virshsetmaxmem 域 1024--config离线,重启之后生效,开机也能配置

virsh setmem域 600M  改变内存的分配  这个需要开启的时候有用

离线也有用的话用这个(不管在线还是离线都可以):virsh setmem 域 600M --config

在线的话用--live

 

 

 

添加硬盘网卡怎么用命令?

 

硬盘:

图形化:

添加硬件-磁盘-管理

 

文本化:

virshdomblklist 域   查看指定域有多少个硬盘

qemu-imgcreate -f qcow2 /disk1.img 1G首先创建一个空磁盘在根下面叫做/disk1.img

 

virsh attach--help

硬盘网卡

virshattach-disk 域 --source/disk10.img(路径) --targetvdb(添加进去叫什么) --cachewriteback(图形化里面的写回)--subdriver qcow2

virshdomblklist 域   确认刚刚添加的硬盘

这个是什么virsh attach-diskrhel6-pm-1 --source /disk30.img --target vdc --cache writeback --subdriverqcow2 --persistent(永久)  这个subdriver是指定格式 不指定格式大小不一样

 

比上面的代码更简单:

qemu-imgcreate -f qcow2 /disk20.img 1G

vim temp.xml

<disktype='file' device='disk'>

      <driver name='qemu' type='qcow2'cache='writeback'/>

      <source file='/disk20.img'/>

     <target dev='vdc' bus='virtio'/>

</disk>

这个是什么virsh attach-devicerhel6-am-3 temp.xml --config   需要关闭系统 可以更换为persistent  修改内存空间和磁盘配置文件

virshdomblklist rhel6-am-3查看同样能生效

 

--config离线在线都可以,写进配置文件,关机再开机才能看到效果

--alive 在线,临时生效,重启之后失效

--config live=presistent

 

删除磁盘:

virshdetach-disk 域 vdb  删谁的,哪个磁盘   在线临时删除   追加persistent立即永久有效

查看

virshdomblklist 域 查看在线配置

virshdetach-disk 域 vdb    分离

virshdomblklist 域    查看

virshattach-disk 域 vdb报错需要目标target选项

virshattach-disk 域  --target vdb 报错需要源source

virshattach-disk 域  --source /disk1.img这个源是什么?自己随便起的?还是已经存在的?  --target vdb

 

网卡:

图形化:

添加硬件-网络-NAT

文本化:

virshdomiflist 域     这个域有多少网卡接口,就是有几个网络   dominterface list域接口列表

virshattach-interface 域 --typenetwork --source my-nat或default--model virtio(模式是半虚拟化)--config  添加NAT的网卡

virshdomiflist 域  发现没有生效,下一个生效,需要重启一下QEMU的虚拟机,重启没有用,要关机,再开

 

kvm学完啦!

 

SSL安全的套接字层

防火墙:主要用于流量控制

硬件防火墙:华为

 

[F5]

恶意的流量拒之门外,就像凡哥F5刷我那个监控主页

centos 6叫iptables默认装上了

centos 7叫firewalld

iptables:4表5链(表都是小写,链都是大写)

4表:raw、mangle、nat、filter人买奶粉

5链:INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING输入输出风飘飘

raw:数据包的跟踪/若表,假如....

mangle:对流量打标记,以后可以批量操作/标记表

nat:网络地址转换/翻译表

filter:过滤表

禁止小明上内网不能在raw表里操作,raw表只是跟踪的,体现了每个表的不同功能。

5链是干嘛的:匹配数据包的流向

写了策略还是没用,说明写的策略有问题!

netfilter是什么:网络过滤

netfilter和iptables有什么关系:netfilter是iptables的底层内核,需要先改内核的模块才能使用iptables。

首先入网需要有一个运营商isp,互联网都有两个路由器,每个公司通过路由器来和运营商isp通信的,路由器上不能一次接上千的,路由器上有一个广域网的接口,WAN口,万维网路由器连接交换机,交换机连接电脑,电脑有客户机和服务器,假设客户机是pc1:192.168.1.10,假设服务器是server:192.168.1.100,公司内网有网关(路由网站上可以修改),假设路由器上网关是eth0:192.168.1.254,假设路由器的另一个网卡出口是eth1:1.1.1.1/30;对方与本方是一样的结构,只是ip有些不同,对方eth1:1.1.1.2/30,eth0:172.16.0.254/16,pc2:172.16.0.10,server:172.16.0.100;

假设我是小明是A公司的管理员,小强是B公司的管理员,公司上网都要经过网关的关卡,小强公司的防火墙访问小明公司的防火墙

匹配目标流量是防火墙的是INPUT链(终点)

以防火墙为源地址发起的流量是OUTPUT链(起点)

匹配穿越防火墙的流量是FORWARD链(过路人)

路由之前的流量是PREROUTING链(目标地址翻译DNAT)

路由之后的流量是POSTROUTING链(源地址翻译SNAT)

小强访问小明的网关是INPUT吗?是啊

小明的客户机访问小明的网关是INPUT吗?是啊,因为对象都是网关,对象就都是防火墙,所以都是INPUT。

小强的客户机访问小明的网关是INPUT吗?是啊

那么小明的网关去访问小强的网关是INPUT吗?不是啊,因为我是小明,我要去访问别人,我就是起点,所以属于是OUTPUT。

小明的客户机访问小强的网关是OUTPUT吗?不是啊,因为我是小明,它经过了我的网关路由器,就是过路人,所以属于FORWARD。

小明的服务器访问小强的客户机是FORWARD。

小技巧:OUTPUT是输出嘛,INPUT是输入嘛

流量的转发是输入输出一起的,穿越,是FORWARD。

 

拉一个/申请固定ip,买电脑,解决上网的问题:

内网上外网属于源地址翻译还是目标地址翻译?是源地址翻译!要翻译自己的源地址为公网才能上网!

外网上内网是目标地址翻译!

源地址翻译是SNAT

目标地址翻译是DNAT:对外发布服务网站的时候,就是外网访问内网

小明的客户机访问小强的网关属于SNAT

sip:192.168.1.10  dip:1.1.1.2

sip:1.1.1.1       dip:1.1.1.2源地址翻译成了1.1.1.1

小强的路由去访问小明的服务器属于DNAT

sip:1.1.1.2    首先要经过小明网关dip:1.1.1.1   dip:192.168.1.100  

sip:1.1.1.2    dip:192.168.1.100

sip:192.168.1.254 dip:192.168.1.100

什么时候要用到DNS?

答:内网发布网站到外网必须要DNS才能给别人访问

POSTROUTING有个S英文字母,所以是SNAT;那么PREROUTING就是DNAT了

 

规则:表名小写,链大写,条件小写,动作的辅助词小写,动作大写

iptables -tnat(4个表) -A/-I/-D(添加策略)  INPUT(5个链)  -s条件  192.168.1.100 -j DROP                       。   nat表是查看的

iptables -tfilter(4个表) -A/-I/-D(添加策略)  INPUT(5个链)   -s条件  192.168.1.100 -j DROP                      。 filter表是过滤的,干掉、控制的

干掉小明的服务器访问

 

 

yum list|grep iptables

rpm -qa |grep iptables

iptables是不是防火墙?不是!iptables只是管理防火墙的工具

systemctlstart iptables开启防火墙

第一次用就:

iptables -F清空所有策略;

iptables -X删除自定义的链;

iptables -Z清除计时器、记录

防火墙的脚本、一键防火墙部署

iptables -L列出所有规则,默认是列出过滤表filter表的所有规则

iptables -tnat -L  哈哈,nat是常见的看POSTROUTING和PREROUTING

很慢,加个-n,不解析主机名,加个-x,禁止单位换算,加个-v,详细信息(包,大小)。

加入插入了1000条规则,你看中了第53条规则,你要查询的时候有个编号,

policyACCEPT是链里面没有规则的话就默认放行,先堵后放行

从上往下依次执行,死了一次就死了,放行了就放行了就打不中了

ACCEPT(INPUT)

DROP   all -- 192.168.1.100   0.0.0.0/0

ACCEPT all-- 192.168.1.0/24  0.0.0.0/0

DROP   all -- 192.168.1.101   0.0.0.0/0

DROP   all -- 192.168.1.102   0.0.0.0/0

注意:只要匹配到了就不再管那个ip的人了,依旧会继续往下面的规则匹配下去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值