Bridge方式之前已经配置过

NAT分两种,DNAT和SNAT即目的NAT和原NAT,前者是把数据包的目的地址改为指定地址,后者是把数据包的源地址改为指定地址。
SNAT的做用是在宿主机的内部构造一个独立的虚拟子网。当子网机器发送数据出来时数据源地址将被改为宿主机器实际地址,可以把宿主机器看作网关。
使用
#brtcl show
查看网络配置文件,如果需要修改可以直接添加新建网络
新建网络方法:
在/etc/libvirt/qemu/network/中新建*.xml文件编辑网络规则
<network> <name>new</name> <bridge name='virbr1'/> <forward mode='route' dev='eth0'/> <ip address="192.168.132.1" netmask="255.255.255.0">//定义网段 <dhcp> <range start="192.168.132.2" end="192.168.132.254"/>//定义dhcp方式分配ip区间 </dhcp> </ip> </network>
使用virsh对虚拟网络进行管理
#virsh
virsh # net-create /etc/libvirt/qemu/networks/new.xml virsh # net-autostart new
这时用ifconfig命令查看网络,可以看到virbr1网络设备,同时生成/var/lib/libvirt/network/local.xml配置文件
修改vm的配置文件或在图形界面中选择联网方式选择new
重启libvirt就可以使用新规则
设置iptables规则 实现访问主机8000端口时转发至虚拟机80端口
假设宿主机ip:192.168.1.100
虚拟机ip:192.168.132.3
# iptables -A INPUT -p tcp --dport 8000 -j ACCEPT # iptables -t nat -A PREROUTING -d 192.168.1.100 -p tcp -m tcp --dport 8000 -j DNAT --to-destination 192.168.132.3:80 # iptables -t nat -A POSTROUTING -s 192.168.132.0/255.255.255.0 -d 192.168.132.3 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.132.1
最新评论