CLI 配置: 使用 KVM 在 CentOS 6.x 裸金属服务器上设置 VM 系列网关
Resolution
摘要︰
此解决方案阐释了使用 KVM 虚拟化在裸 CentOS 6.x 服务器上设置帕洛阿尔托网络 VM 系列实例的 CLI 步骤。
拓扑:
请注意, 在下面的拓扑中, 公用 IP 地址已被替换为面向 Internet 接口的 RFC 1918 地址。
详细信息︰
- 从 CentOS 6.x "裸安装" 服务器开始, 配备两个 nic。由于泛 OS 7.0.1, 帕洛阿尔托网络建议 CentOS 6.5 或更高的 CentOS 6.x 列车。
从 support.paloaltonetworks.com 下载 VM 系列 KVM 基映像的 PAN OS, 例如。PA-VM-KVM-7.0. 1. qcow2
您可以在 CentOS 服务器上使用 wget, 或者使用桌面浏览器下载映像, 然后将其复制到服务器到/选择文件夹中。
在服务器上准备并安装 KVM (基于内核的虚拟机)。
验证服务器是否最新并支持硬件虚拟化:
检查 CentOS 版本:
$ 猫/等/问题
CentOS 6.7 版 (决赛)
内核 \r
更新服务器:
百胜-y 更新
验证硬件虚拟化支持:
$ grep-E ' svm | vmx '/进程/cpuinfo
标志: fpu vme de pse mce cx8 apic 9月 mtrr 铂 cmov 八 pse36 clflush dts ™ mmx fxsr sse sse2 ss ht pbe syscall rdtscp constant_tsc arch_perfmon est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm arat 盾 pln xsaveopt tpr_shadow vnmi flexpriority ept vpid fsgsbase smep
如果上述命令的输出为空, 最好在此处停止并获取硬件虚拟化支持的服务器。
安装 KVM 二进制文件和库:
百胜安装 kvm python-virtinst libvirt libvirt-python virt-管理器 virt-查看器 libguestfs-工具
百胜安装 policycoreutils-python 桥-utils
配置 libvirtd 在启动时自动启动:
$ chkconfig libvirtd 上
$ 关闭-r 现在
重新启动后, 您应该看到由 libvirt 安装安装的新 virbr0 接口:
$ ifconfig virbr0
使用网络 init 脚本创建两个附加的桥接接口:
禁用网络管理器并依赖于网络 init 脚本:
$ cd/等/sysconfig/网络脚本/
$ chkconfig 分配器关闭
请注意, 如果 CentOS 实例上未安装 NetworManager, 此命令将生成错误, 这是正常的, 您可以继续前进。
$ chkconfig 网络上
为潜在回滚创建备份文件:
$ cp ifcfg-eth0 ifcfg-eth0
$ cp ifcfg-eth1 ifcfg-eth1
此外, 如果 eth1 有辅助地址, 则应按如下方式复制这些内容:
$ cp ifcfg-eth1-range0 ifcfg-br1-range0
ifcfg-eth1-range0 ifcfg-eth1-range0
同样, 如果您有专用接口的路由文件 (如 route-eth0 作为此拓扑的示例), 则应按如下方式复制它:
$ cp route-eth0 route-br0
$ mv route-eth0 eth0 路线-
创建 ifcfg-eth0 脚本的副本作为 ifcfg-br0, 并将其编辑为类似于此, 指出类型 = 桥是区分大小写的语句:
$ cp ifcfg-eth0 ifcfg-br0
$ vi ifcfg-br0
DEVICE=br0
BOOTPROTO = 静态
类型 = 桥梁
ONBOOT = 是
DELAY=0
NM_CONTROLLED = 否
IPADDR = 10.18.143.144
网络掩码 = 255.255.255.192
修改原始 ifcfg-eth0 脚本以删除所有 IP 地址并添加 BRIDGE=br0 语句, 以便脚本最终看起来类似于:
$ vi ifcfg-eth0
DEVICE=eth0
BOOTPROTO = 无
ONBOOT = 是
HWADDR=00:25:90:xx:yy:zz (替换为您的 MAC 地址)
NM_CONTROLLED = 否
BRIDGE=br0
创建 ifcfg-eth1 脚本的副本作为 ifcfg-br1, 并将其编辑为类似于此, 指出类型 = 桥是区分大小写的语句:
$ cp ifcfg-eth1 ifcfg-br1
$ vi ifcfg-br1
DEVICE=br1
BOOTPROTO = 静态
类型 = 桥梁
ONBOOT = 是
DELAY=0
NM_CONTROLLED = 否
IPADDR = 192.168.234.238
网络掩码 = 255.255.255.248
网关 = 192.168.234.233
修改原始 ifcfg-eth1 脚本以删除所有 IP 地址并添加 BRIDGE=br1 语句, 以便脚本最终看起来类似于:
$ vi ifcfg-eth1
DEVICE=eth1
BOOTPROTO = 无
ONBOOT = 是
HWADDR=00:25:90:xx:yy:zz (替换为您的 MAC 地址)
NM_CONTROLLED = 否
BRIDGE=br1
通过编辑/等/sysctl, 在桥接口上禁用 netfilter, 并在下面添加3行:
$ cp/等/sysctl/sysctl. 不敌
六元/等/sysctl
网桥桥-nf 呼叫-ip6tables = 0
网桥桥-nf 呼叫-iptables = 0
网桥桥-nf 呼叫-arptables = 0
$ sysctl/等/sysctl
虽然两个新的 br0 和 br1 接口应自动重新启动, 作为一个额外的预防措施, 添加以下语句到/等/rc. 本地:
六元/等/rc. 当地
ifup br0
ifup br1
重新启动网络以使更改生效, 然后重新启动以确保新接口在启动之后出现。有时需要重新启动才能更改地址。
警告: 在重新启动之前, 请检查 ifconfig-br1 文件, 以确保所有设置都正确无误, 并确保在面向 Internet 的接口未出现时, 对此服务器/控制台具有带外管理访问权限。
$ 服务网络重新启动
$ ifconfig
$ 关闭–r 现在
将图像复制到/var/lib/libvirt/图像并安装 VM:
$ cp/选择/PA VM-KVM-7.0. 1. qcow2/var/lib/libvirt/图像
$ virt 安装-连接 qemu:///系统-名称 = pa-vm-磁盘路径 =/var/lib/libvirt/图像/pa-vm-KVM-7.0. 1. qcow2, 格式 = qcow2, 总线 = virtio, 缓存 = writethrough-vcpus=4-ram=4096-网络 bridge=virbr0-网络 bridge=br0-网络桥 =br1--os 类型 = linux--os-variant=rhel6--导入
登录到控制台并设置管理界面:
$ virsh 控制台 pa vm
> 配置
# 设置 deviceconfig 系统 ip 地址192.168.122.3 网络掩码255.255.255.0 默认网关 192.168.122.1 dns 设置服务器主8.8.8。8
# 提交
验证从 CentOS 服务器的连接:
$ ssh admin@192.168.122。3
通过 ssh 登录到 vm 系列后:
>> 调试显示 vm 系列接口所有
Phoenix_interface 基 OS_port 基 OS_MAC PCI ID 驱动程序
eth0 52:54:00: yy: yy:27 0000:00:03.0 virtio_net
Ethernet1/1 eth1 52:54:00: yy: yy: a5 0000:00:04.0 virtio_net
Ethernet1/2 eth2 52:54:00: yy: yy: 6 d 0000:00:05.0 virtio_net
admin@PA-VM >
通过 CLI 配置防火墙并提交更改。
将 e1/1 接口配置为3层信任区域的成员。请注意, 这是反向从典型的帕洛阿尔托网络拓扑 e1/1 在不信任区, 以配合裸金属服务器接口命名。
# 设置网络接口以太网 ethernet1/1 layer3 ip 10.18.143.145/26
# 设置区域信任网络 layer3 ethernet1/1
# 设置网络虚拟路由器默认接口 ethernet1/1
配置不信任 e1/2 接口和区域:
# 设置网络接口以太网 ethernet1/2 layer3 ip 172.16.77.170/30
# 设置区域不信任网络 layer3 ethernet1/2
# 设置网络虚拟路由器默认接口 ethernet1/2
在默认 VR 中定义默认路由:
# 设置网络虚拟路由器默认路由表 ip 静态路由默认目标 0.0. 0.0/0 nexthop ip 地址172.16.77.169
在专用接口上启用 ssh 和 ping:
# 设置网络配置文件接口-管理-配置文件 allow_ping_ssh ping 是 ssh 是
# 设置网络接口以太网 ethernet1/1 layer3 接口管理-配置文件 allow_ping_ssh
在专用接口上启用 ssh 和 ping:
# 设置网络配置文件接口-管理-配置文件 allow_ping ping 是
# 设置网络接口以太网 ethernet1/2 layer3 接口管理-配置文件 allow_ping
提交配置:
# 提交