1.
概述与准备工作
说明:目标是把CN2香港物理IP/链路正确映射到虚拟机(VM)或容器。
准备:确认服务商是否允许多MAC/透传、是否提供直连VLAN或BGP;准备SSH登录权限、root权限、管理员控制台(vSphere/Proxmox GUI)。
核验:拿到的IP/网关/MAC、是否需要ARP绑定、是否存在防火墙或ARP白名单。
2.
通用网络基础设置(Linux宿主)
步骤:1) 检查网卡及驱动:ethtool -i eth0;2) 关闭网卡协处理项(避免CN2链路问题):ethtool -K eth0 gro off gso off tso off;3) 设置MTU(CN2常用9000或1500):ip link set dev eth0 mtu 1500;4) 配置桥接:ip link add name br0 type bridge; ip link set eth0 master br0; ip addr flush dev eth0; ip addr add 公网IP/掩码 dev br0; ip link set br0 up。
3.
在KVM/libvirt上直通(PCI passthrough)
步骤:1) 在宿主启用IOMMU(GRUB加上 intel_iommu=on 或 amd_iommu=on 并更新grub);2) 查找设备:lspci -nn | grep -i eth;3) 绑定vfio:echo vfio-pci > /sys/bus/pci/devices/0000:xx:xx.x/driver_override; modprobe vfio-pci; 4) 在VM XML添加hostdev节点(virsh edit VM),重启VM;5) VM内安装对应驱动(例如ixgbe, virtio);6) 测试:从VM ping 网关并bench 网络。
4.
在ESXi上配置网络与直通
步骤:1) 在vSphere上选择主机->配置->高级设置,启用PCI设备直通(Edit->Toggle passthrough);2) 重启ESXi主机;3) 在VM设置中添加PCI设备或选择VMXNET3虚拟网卡;4) 若使用VLAN,设置vSwitch端口组的VLAN ID或设置trunk(VLAN 4095);5) 若提供商只允许指定MAC,设置虚拟机MAC为供应商给的MAC(注意ESXi可能限制自定义MAC,需编辑虚拟机配置文件或许可);6) 测试和调整MTU。
5.
在Proxmox上配置桥接与SR-IOV
步骤:1) 若支持SR-IOV,在BIOS/固件启用SR-IOV并在宿主机启用vfio;2) 编辑 /etc/network/interfaces,创建 vmbr0 并把物理网卡绑定到桥;示例:auto vmbr0\niface vmbr0 inet static\n address 公网IP\n netmask 255.255.255.0\n gateway 网关\n bridge_ports eth0\n bridge_stp off\n bridge_fd 0;3) 在VM硬件->添加->PCI设备选择VF或物理网卡;4) 若只剩一个公网IP,建议把宿主做路由/iptables DNAT转发。
6.
容器与Docker场景(macvlan或bridge)
步骤:1) 如果需要容器直接拿公网IP,使用macvlan:docker network create -d macvlan --subnet=... --gateway=... -o parent=eth0 macnet;2) 启动容器并指定网络:docker run --net macnet --ip 公网IP ...;3) 若服务商限制MAC或需要ARP绑定,通常需要使用router VM做NAT或使用双网卡方案。
7.
常见问题与对策
问题与解决:1) 无法通过公网IP访问:检查供应商是否限制ARP->联系运营商解除或使用SNAT;2) MTU问题导致分包:逐步测试从1500到9000,并在宿主与VM均设置一致;3) 多IP但单MAC:在VM内配置别名(ip addr add IP/32 dev eth0)并在宿主做策略路由和SNAT。
8.
高可用与故障切换建议
步骤:1) 使用keepalived在两台宿主/路由VM间做VRRP,配置虚拟IP并同步路由;2) 若使用BGP,使用Bird或FRR在VM内宣告IP(需运营商支持);3) 定期备份网桥与VM配置,自动化脚本(Ansible)推送配置与重建流程。
9.
安全与合规注意
注意:1) CN2链路通常流量敏感,启用防火墙(nftables/iptables)限定管理端口;2) 运营商可能要求备案或流量审计,提前确认;3) 禁止在VM内运行可能触发供应商防护的扫描或攻击工具。
10.
问:CN2香港机器常见与虚拟化平台不兼容的原因是什么?
回答:回答:主要原因包括运营商限制MAC数量或ARP绑定、MTU不一致、驱动不支持或宿主未启用IOMMU/SR-IOV,以及供应商对BGP/直连的策略限制。这些通过与运营商确认、设置桥接/NAT、调整MTU和启用PCI直通可解决。
11.
问:如果运营商只给单公网IP,如何给多台VM上公网?
回答:回答:常用方案为在宿主或一台路由VM上做SNAT/端口转发,或用NAT+端口映射;若需要多个公网IP可申请额外IP或使用二层桥接+供应商放行多个MAC;也可在路由VM上运行BGP/Proxy接管IP。
12.
问:是否建议启用SR-IOV直通?优缺点?
回答:回答:建议在需极低延迟与高吞吐的场景启用SR-IOV,它能把网卡虚拟功能直接暴露给VM,性能最好。但缺点是降低了迁移灵活性(无法热迁移)、对宿主硬件/固件要求高且配置复杂。选择前评估可用性与运维复杂度。
来源:兼容性讨论CN2香港机器与主流虚拟化平台的整合方案