安康市网站建设_网站建设公司_会员系统_seo优化
2025/12/26 3:08:55 网站建设 项目流程

1. 问题现象

  • 虚拟机(私有网络)内部互通正常,但无法访问外部网络(如 192.168.1.x)。
  • openstack network agent list 显示 L3 agentLinux bridge agent 状态均为 UP (:-))

2. 核心原因分析

在 Linux Bridge 模式下,外部流量映射依赖物理网卡与虚拟网桥的绑定。如果 EXTERNAL_NET 的物理网络标签(Physical Network)与宿主机真实的物理网卡映射不正确,L3 Agent 就无法在宿主机上打通前往外部网络的链路。

3. 排查与修复步骤

第一步:获取外部网络的物理标签

首先确认 OpenStack 定义外部网络时使用的标签名称:

openstack network show EXTERNAL_NET | grep physical_network

注:假设输出结果为 provider

第二步:修改 Linux Bridge 代理配置

编辑配置文件,将上述标签映射到宿主机上连接外部交换机/网络的真实物理网卡(如 eth1):

  • 配置文件路径/etc/neutron/plugins/ml2/linuxbridge_agent.ini
  • 修改内容
[linux_bridge]
# 格式为 <物理网络标签>:<物理网卡名>
physical_interface_mappings = provider:eth1

第三步:确保物理网卡已启用

确保映射的物理网卡处于 UP 状态:

ip link set eth1 up

第四步:重启服务(关键)

必须重启以下服务以加载新映射并重新触发网桥绑定:

# 1. 重启二层代理(负责物理网卡与网桥绑定)
systemctl restart neutron-linuxbridge-agent# 2. 重启三层代理(负责在命名空间内配置 IP 和路由)
systemctl restart neutron-l3-agent

4. 验证修复结果

  1. 检查网桥绑定
    执行 brctl show,确认出现了一个新的以 brq 开头的网桥,且其下方的 interfaces 列已包含 eth1
  2. 检查命名空间 IP
    查找并进入路由器命名空间,确认外部网关 IP 已生效:
# 找到路由器命名空间全名
ip netns | grep qrouter
# 查看空间内 IP 绑定(替换为实际 ID)
ip netns exec qrouter-xxxxx-xxxxx ip addr
  1. 连通性测试
    在路由器命名空间内 Ping 物理网关:
ip netns exec qrouter-xxxxx-xxxxx ping 192.168.1.1
  1. 界面状态
    刷新 OpenStack 界面,确认外部网关状态变为 “运行中” (Active/UP)

提示:如果重启后状态仍不改变,可尝试在 UI 界面对该路由器执行“清除网关”再“设置网关”的操作,以强制触发下发配置。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询