热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

Fedora14中的虚拟化网络

Fedoara14和RHEL6[kvm]中为虚拟化提供了3种配置支持,1.NetworkAddressTranslation[NAT]2.直接分配物理设备[PCIpassthroughorSR-IOV]3.共享物理设备[Bridge]其中NAT是默认开启的,如果要想外网能访问虚拟机多使用直接分配物理设备或者桥接网络。NAT:几乎所有标准的libvirt都支持NAT

Fedoara 14和RHEL 6[kvm]中为虚拟化提供了3种配置支持,
1. Network Address Translation [NAT]
2. 直接分配物理设备 [PCI passthrough or SR-IOV]
3. 共享物理设备[Bridge]

其中NAT是默认开启的,如果要想外网能访问虚拟机多使用直接分配物理设备或者桥接网络。

NAT:
几乎所有标准的libvirt都支持NAT作为虚拟网络[default virtual network],virsh net-list --all 可以查看

# virsh net-list --all
Name State Autostart
-----------------------------------------
default active yes

如果相应的xml配置文件丢失,可以从模板中提取:

# virsh net-define /usr/share/libvirt/networks/default.xml

然后将虚拟网络标识为自动启动:

# virsh net-autostart default
# virsh net-start default

查看桥接情况,virbr0 通过NAT和IP转发与实体网络连通,不添加其它接口。

# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes

一般情况下libvirt会自动添加一些规则到iptables,并尝试打开ip_forward功能,但其它应用程序可能会禁止ip_forward,所以最好在/etc/sysctl.conf中添加一项:

net.ipv4.ip_forward = 1

 

Briged:
一般用于多网卡机器上,NetworkManager不支持桥接,所以需要关闭NetworkManager服务,或者在网络设备的配置文件中添加一选项'NM_COnTROLLED=no'参数

# vim /etc/sysconfig/network-scripts/ifcft-eth0

DEVICE=eth0
HWADDR=00:16:76:D6:C9:45
OnBOOT=yes
BRIDGE=br0

添加br0配置

DEVICE=br0
OnBOOT=yes
TYPE=Bridge
BOOTPROTO=dhcp
DELAY=0

重启网络服务

service network restart

brctl查看

# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.f0def1341ae6 no eth0
virbr0 8000.000000000000 yes

配置iptables,允许桥接网络的流量转发[用到physdev模块]

# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT

配置以下内核参数也可以实现:

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0


推荐阅读
author-avatar
手机用户2502939901
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有