百度搜索到的信息,还未验证,先记录一下,以备不时之需。
在OVN中绑定公网IP通常涉及到两个步骤:首先在公网路由器上创建一个公网IP的NAT规则,然后在switch port上设置合适的IP地址。
以下是一个简化的例子,展示如何在OVN中为虚拟机绑定一个公网IP:
# 创建一个公网路由器,并为其分配一个公网IP
ovn-nbctl -- --id=@router create router name="public-router" options:lb_force_snat_ip="公网IP"
ovn-nbctl -- --id=@nat create nat type="snat" logical_ip="10.0.0.0/24" external_ip="公网IP"
ovn-nbctl -- add logical_router public-router nat=@nat
# 将公网路由器的端口连接到物理交换机
ovn-nbctl -- --id=@lr-port create logical_router_port name="public-router-port"
ovn-nbctl -- add logical_router public-router ports@public-router-port=@lr-port
# 将虚拟机的网卡连接到逻辑交换机,并设置合适的IP
ovn-nbctl -- --id=@lsp-vm create logical_switch_port name="vm-port" type="exterior" addresses="公网IP"
ovn-nbctl -- --id=@ls create logical_switch name="vm-network"
ovn-nbctl -- --id=@lsp-int create logical_switch_port name="int-vm-port"
ovn-nbctl -- add logical_switch vm-network ports@int-vm-port=@lsp-int
ovn-nbctl -- set logical_switch_port int-vm-port logical_switch=vm-network
ovn-nbctl -- add logical_switch_port vm-port logical_switch=vm-network
# 将虚拟机的网卡连接到公网路由器
ovn-nbctl -- --id=@lrp-router create logical_router_port name="to-vm-router-port"
ovn-nbctl -- set logical_router_port to-vm-router-port mac="虚拟机的MAC地址"
ovn-nbctl -- add logical_router public-router ports@to-vm-router-port=@lrp-router
ovn-nbctl -- set logical_router_port to-vm-router-port network="公网IP/32"
请注意,这个例子假设你已经有了一个物理交换机连接到了OVN的北向接口,并且有一个公网IP可以使用。你需要替换其中的"公网IP"、“10.0.0.0/24”、"虚拟机的MAC地址"为实际的值。这个例子只是一个简化的框架,实际部署时可能需要更多的配置细节。