Openstack 如何将数据发送到opestack中的云实例
上下文:我使用VirtualBox在笔记本电脑中设置了一个演示云,并有两个虚拟机——一个是客户端,另一个是服务器。使用服务器创建一个小实例,运行的实例是TinyLinux 问题:如何将数据发送到该实例并存储在该实例中Openstack 如何将数据发送到opestack中的云实例,openstack,openstack-nova,Openstack,Openstack Nova,上下文:我使用VirtualBox在笔记本电脑中设置了一个演示云,并有两个虚拟机——一个是客户端,另一个是服务器。使用服务器创建一个小实例,运行的实例是TinyLinux 问题:如何将数据发送到该实例并存储在该实例中 一些指针将非常有用。我通常将web服务器绑定到网关接口,VM使用该接口与物理主机进行NAT 好吧,使用libvirt,您有几个选项可以选择如何执行此操作。默认设置是使用NATing。在这种情况下,libvirt为每个这样配置的虚拟nic创建网桥和虚拟nic: $ brctl sho
一些指针将非常有用。我通常将web服务器绑定到网关接口,VM使用该接口与物理主机进行NAT 好吧,使用libvirt,您有几个选项可以选择如何执行此操作。默认设置是使用NATing。在这种情况下,libvirt为每个这样配置的虚拟nic创建网桥和虚拟nic:
$ brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.525400512fc8 yes virbr0-nic
vnet0
然后设置iptables规则,以NAT(伪装)该网桥上的数据包
Chain POSTROUTING (policy ACCEPT 19309 packets, 1272K bytes)
pkts bytes target prot opt in out source destination
8 416 MASQUERADE tcp -- any any 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
216 22030 MASQUERADE udp -- any any 192.168.122.0/24 !192.168.122.0/24 masq ports: 1024-65535
11 460 MASQUERADE all -- any any 192.168.122.0/24 !192.168.122.0/24
启用转发
# cat /proc/sys/net/ipv4/ip_forward
1
并生成DHCP服务器(dnsmasq
是DHCP和DNS合一)
如果我有两个虚拟网络接口(两台机器在同一网络上有一个NIC,该网桥中会有两个NIC。这些机器从dnsmasq
DHCP服务器获取192.168.122.2-254范围内的地址。因此如果您知道这些地址,您应该能够从一个VM连接到另一个VM,因为它们都在同一广播域上(通过网桥连接)。在计算机外部,所有计算机都显示为“一个IP地址”
更“高级”的选项是使用桥接网络,它再次将虚拟接口放在一个桥接器中,但它也将一些物理设备放在那里,因此机器看起来好像有多台机器连接到某个交换机…我不理解你的问题。你想在实例(VM)之间发送数据吗,或从托管它们的笔记本电脑连接到该实例?在虚拟盒内:两个虚拟机A和B A:服务器B:客户端,B从服务器请求实例,A提供实例,能够通过ssh从B连接到实例,但我需要从本地(B)向云实例发送数据。数据被处理并发送回…有什么想法吗?*谢谢您的回复!我仍然不太明白您的问题。您是否尝试将浮动IP分配给您的实例?
ps aux | grep dnsmasq
nobody 1334 0.0 0.0 13144 568 ? S Feb06 0:00 \
/sbin/dnsmasq --strict-order --local=// --domain-needed \
--pid-file=... --conf-file= --except-interface lo --bind-dynamic \
--interface virbr0 --dhcp-range 192.168.122.2,192.168.122.254 \
--dhcp-leasefile=.../default.leases --dhcp-lease-max=253 --dhcp-no-override