、通过CloudOS Web界面查看
方法1:通过网络服务查看
操作路径:
网络服务 → 虚拟路由器 → 选择目标vRouter → NAT配置
方法2:通过项目视图查看
操作路径:
项目 → 网络 → 路由器 → 选择目标vRouter → NAT规则
二、通过命令行界面查看
登录vRouter命令行
# 1. 首先登录CloudOS CLI
ssh admin@cloudos-management-ip
# 2. 查看所有vRouter实例
cloudos network router-list
# 3. 获取vRouter的访问信息
cloudos network router-show <router-id>
通过VNC/Console登录vRouter
# 方法A:通过CloudOS Web界面
1. 登录CloudOS Web
2. 网络服务 → 虚拟路由器 → 选择目标vRouter
3. 点击"控制台"或"VNC连接"
# 方法B:通过命令行获取VNC信息
nova get-vnc-console <vrouter-instance-id> novnc
三、vRouter内部查看NAT配置
如果vRouter基于Linux(常见方案)
# 登录vRouter后执行:
# 1. 查看iptables NAT规则
iptables -t nat -L -n -v
iptables -t nat -S
# 2. 查看具体的SNAT规则
iptables -t nat -L POSTROUTING -n -v
# 3. 查看DNAT规则
iptables -t nat -L PREROUTING -n -v
# 4. 查看CONNTRACK连接跟踪
conntrack -L
如果vRouter基于VyOS/其他路由系统
# VyOS系统查看NAT
show configuration commands | grep nat
show nat rules
show nat source
show nat destination
如果vRouter基于H3C VSR
# 进入系统视图
system-view
# 查看NAT配置
display current-configuration | include nat
display nat session
display nat static
display nat outbound
四、通过CloudOS API查询
使用REST API查询
# 获取认证token
curl -i -X POST http://cloudos-ip:5000/v3/auth/tokens \
-H "Content-Type: application/json" \
-d '{
"auth": {
"identity": {
"methods": ["password"],
"password": {
"user": {
"name": "admin",
"domain": {"name": "Default"},
"password": "your-password"
}
}
}
}
}'
# 获取路由器列表
curl -X GET http://cloudos-ip:9696/v2.0/routers \
-H "X-Auth-Token: YOUR_TOKEN"
# 获取特定路由器的NAT信息
curl -X GET http://cloudos-ip:9696/v2.0/routers/<router-id> \
-H "X-Auth-Token: YOUR_TOKEN"
使用OpenStack CLI查询
# 配置OpenStack环境变量
source /etc/kolla/admin-openrc.sh # 或相应环境变量文件
# 查看路由器列表
openstack router list
# 查看路由器详情(包含外部网关信息)
openstack router show <router-name-or-id>
# 查看端口信息(包含NAT映射)
openstack port list --router <router-id>
五、通过数据库直接查询
查询Neutron数据库
# 登录数据库容器/节点
docker exec -it neutron_server mysql -u root -p
# 查询路由器信息
USE neutron;
SELECT * FROM routers WHERE name LIKE '%vrouter%';
# 查询浮动IP(DNAT映射)
SELECT * FROM floatingips WHERE router_id IS NOT NULL;
# 查询SNAT信息(外部网关)
SELECT * FROM ports WHERE device_owner LIKE '%router_gateway%';
六、具体查看示例
完整查看流程示例
# 步骤1:登录CloudOS并找到vRouter
cloudos network router-list --project <project-name>
# 步骤2:获取vRouter详细信息
ROUTER_ID=$(cloudos network router-list --project <project-name> -f value -c ID | head -1)
cloudos network router-show $ROUTER_ID
# 步骤3:查看关联的端口和IP
cloudos port list --device-id $ROUTER_ID
# 步骤4:查看浮动IP关联
cloudos floating ip list
查看NAT会话信息
# 如果能够登录vRouter内部,查看详细NAT会话
# 基于Linux的vRouter:
cat /proc/net/nf_conntrack | grep -v 127.0.0.1
# 或使用:
conntrack -L
# 查看NAT统计信息
cat /proc/net/ip_conntrack
七、通过监控工具查看
使用CloudOS监控功能
操作路径:
监控 → 网络监控 → 虚拟路由器 → 选择vRouter → NAT统计
使用第三方监控工具
# 通过Prometheus监控(如配置)
curl http://monitor-server:9090/api/v1/query?query=router_nat_sessions
# 通过Zabbix监控
zabbix_get -s vrouter-ip -k net.nat.sessions.count
八、自动化查看脚本
创建NAT配置查看脚本
#!/bin/bash
# check_vrouter_nat.sh
CLOUDOS_IP="192.168.1.100"
PROJECT_NAME="your-project"
VRouter_NAME="your-vrouter"
echo "=== CloudOS vRouter NAT配置检查 ==="
# 获取路由器ID
ROUTER_ID=$(cloudos network router-list --project $PROJECT_NAME --name $VRouter_NAME -f value -c ID)
if [ -z "$ROUTER_ID" ]; then
echo "错误: 未找到vRouter: $VRouter_NAME"
exit 1
fi
echo "vRouter ID: $ROUTER_ID"
# 显示路由器详情
echo -e "\n=== 路由器基本信息 ==="
cloudos network router-show $ROUTER_ID
# 显示端口信息
echo -e "\n=== 关联端口信息 ==="
cloudos port list --device-id $ROUTER_ID
# 显示浮动IP
echo -e "\n=== 浮动IP配置 ==="
cloudos floating ip list --router $ROUTER_ID
# 显示安全组规则(可能影响NAT)
echo -e "\n=== 安全组规则 ==="
cloudos security group rule list
九、常见NAT配置查看场景
场景1:查看SNAT配置(内部到外部)
# 在vRouter内部查看
iptables -t nat -L -n | grep SNAT
# 或
iptables -t nat -L POSTROUTING -n -v
# 输出示例:
# Chain POSTROUTING (policy ACCEPT 1234 packets, 98765 bytes)
# pkts bytes target prot opt in out source destination
# 1000 80000 SNAT all -- * * 192.168.10.0/24 0.0.0.0/0 to:203.0.113.1
场景2:查看DNAT配置(外部到内部)
# 在vRouter内部查看
iptables -t nat -L PREROUTING -n -v
# 输出示例:
# Chain PREROUTING (policy ACCEPT 567 packets, 45678 bytes)
# pkts bytes target prot opt in out source destination
# 50 4000 DNAT tcp -- * * 0.0.0.0/0 203.0.113.1 tcp dpt:80 to:192.168.10.100:80
场景3:查看NAT会话表
# 查看当前NAT会话
conntrack -L
# 输出示例:
# tcp 6 431982 ESTABLISHED src=192.168.10.10 dst=8.8.8.8 sport=54321 dport=53 src=8.8.8.8 dst=203.0.113.1 sport=53 dport=54321
十、故障排查命令
NAT问题排查
# 检查NAT规则是否生效
iptables -t nat -L -n -v --line-numbers
# 检查连接跟踪
cat /proc/net/nf_conntrack | head -20
# 检查路由表
ip route show table all
# 检查接口配置
ip addr show
总结
根据您的环境和权限,推荐按以下优先级选择查看方法:
首选:CloudOS Web界面(最直观)
次选:CloudOS CLI + vRouter VNC登录
高级:直接数据库查询或API调用
运维:监控工具和自定义脚本
最简单的查看路径:
CloudOS Web → 网络服务 → 虚拟路由器 → 选择目标vRouter →
1. 查看"概览"中的外部网络信息
2. 查看"NAT规则"或"端口转发"配置
3. 查看"关联实例"了解内部网络结构
如果您有具体的vRouter类型信息(基于Linux、VyOS、VSR等),我可以提供更精确的查看命令。
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论