首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Centos/OVH: KVM虚拟机上的公共IP

Centos/OVH: KVM虚拟机上的公共IP
EN

Server Fault用户
提问于 2012-10-09 18:11:45
回答 1查看 6.3K关注 0票数 2

从几天以来,我一直在尝试将我的KVM配置为具有公共IP地址,但没有成功。

首先,我正在使用OVH,您需要知道它们不允许从不同的mac地址进行网络连接。我已如此注册了一个与我的故障转移IP相关联的虚拟mac地址。

这是我的配置:

客人通缉IP: 46.105.40.x

主机IP: 176.31.240.x

主机配置

dummy0接口: ifcfg-dummy0 0

代码语言:javascript
运行
复制
BOOTPROTO=static
IPADDR=10.0.0.1
NETMASK=255.0.0.0
ONBOOT=yes
NM_CONTROLLED=no
ARP=yes
BRIDGE=br0

br0桥: ifcfg-br0

代码语言:javascript
运行
复制
DEVICE=br0
TYPE=Bridge
DELAY=0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
PEERDNS=yes
NM_CONTROLLED=no
ARP=yes

使用br0将故障转移ip重定向到ip route add 46.105.40.xxx dev br0

代码语言:javascript
运行
复制
> cat /proc/sys/net/ipv4/ip_forward
1
> cat /proc/sys/net/ipv4/conf/vnet0/proxy_arp
1
> route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         176.31.240.254  0.0.0.0         UG    0      0        0 eth0
46.105.40.x     0.0.0.0         255.255.255.255 UH    0      0        0 br0
176.31.240.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 br0

来宾配置:

科索沃核查团:

代码语言:javascript
运行
复制
<interface type='bridge'>
  <mac address='02:00:00:30:22:05'/>
  <source bridge='br0'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</interface>

我在这里借用了大部分OVH配置(法语,http://guides.ovh.com/BridgeClient)用于客户配置

eth0接口: ifcfg-eth0

代码语言:javascript
运行
复制
DEVICE="eth0"
BOOTPROTO=none
HWADDR="02:00:00:30:22:05"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="e9138469-0d81-4ee6-b5ab-de0d7d17d1c8"
USERCTL=no
PEERDNS=yes
IPADDR=46.105.40.xxx
NETMASK=255.255.255.255
GATEWAY=176.31.240.254
ARP=yes

对于路线,我在路线上-eth0:

代码语言:javascript
运行
复制
176.31.240.254 dev eth0
default via 176.31.240.254 dev eth0

使用这种配置,我无法访问互联网。我唯一能做的就是打开主机的公共ip,仅此而已。我的最后结论是,路由不起作用,因为当我在客人上运行ping 8.8.8.8时,我在主机上运行了:

代码语言:javascript
运行
复制
> tcpdump -i vnet0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on br0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:38:09.009324 IP 46-105-40-xxx.kimsufi.com > google-public-dns-a.google.com: ICMP echo request, id 50183, seq 1, length                  64
13:38:09.815344 IP 46-105-40-xxx.kimsufi.com > google-public-dns-a.google.com: ICMP echo request, id 50183, seq 2, length                  64

我从来没有得到平安的回复,只有请求。看来,客服->主机的通信是好的。

在eth0上:

代码语言:javascript
运行
复制
> tcpdump -i eth0 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
13:39:40.240561 IP 46-105-40-xxx.kimsufi.com > google-public-dns-a.google.com: ICMP echo request, id 50439, seq 1, length 64
13:39:40.250161 IP google-public-dns-a.google.com > 46-105-40-xxx.kimsufi.com: ICMP echo reply, id 50439, seq 1, length 64

我在eth0上有请求和回复,但是回复没有转发到桥上。我真的不明白为什么,我想这是路线的目的!

在主机和来宾上都禁用了IPtables。

我真的希望你们中的一些人能帮助我!

事先非常感谢,

S·巴斯蒂安

EN

回答 1

Server Fault用户

发布于 2012-10-20 00:39:47

我在这里也有同样的问题。我希望能够有主机和VM的客人在公共IP上。主机和VM之间的通信似乎很好,但是VM不能到达internet,反之亦然。

我的供应商也有规则,只有一个MAC地址,每个交换机端口。本质上,VMAC地址用于网络设备(如VRRP和其他协议)中的故障转移,这意味着如果第一次交换机失败,第二条连接到另一个交换机就会接管,您将得到具有实际MAC地址和所有内容的“复制”交换端口。

我看不出你怎么能从中受益。

最好的解决方案是在主机以太网接口上放置2个公共is,一个用于主机,第二个用于VM。做一些策略选择。

问候

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/436529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档