详解物理机OpenStack连接外部网络网卡配置管理(适用虚拟机)

发布时间:2023年12月17日

目录

背景与环境描述

特殊注意事项

Centos7

单网卡场景

多网卡场景

Ubuntu

单网卡场景

多网卡场景

背景与环境描述

????????本文将从设计和配置两方面详细说明在Centos和Ubuntu两种场景下,allinone部署的OpenStack想要实例能够正常连接外部网络,在网卡上需要做的配置。

? ? ? ? 在安装完OpenStack后,通过ip add show可以看到有几下几张网卡:1.物理网卡 2.br-ex 3.br-int 4.br-tun。详细的OpenStack网络结构可以参考

OpenStack网络详解-CSDN博客

????????下文中假设物理网卡名称为eth0,eth1(在虚拟环境中网卡名可能是ens33,ens36),连接公网的统一的思路都是将外部网口设置成二层接口,使用br-ex来获取ip地址或者使用静态ip地址。

????????在设计中,在分离部署情况下,两网卡是将业务流量、管理流量走其中一个网卡,存储流量走另一个网卡。不过我们这是融合部署,两网卡就是业务流量和管理流量分离:设置业务流量的网卡eth0为external网卡,管理流量的网卡eth1为internal网卡。

特殊注意事项

????????多网卡场景要求网卡之间网段不相同。如果相同,外部网卡绑定的br-ex获取ip后,内部网卡将无法使用。这种情况下不如直接将内外部网卡设置为同一个。
? ? ? ? 如果已经采取了这样的配置也没事,反正你都能访问的。但此时外部网卡不能断开连接,一旦断开连接,由于外部网卡的原因,内部网卡也将无法访问网关,擦除br-ex的ip之后恢复。

Centos7

单网卡场景

????????不使用网络连接进行管理的场景,比如VMware,在进行安装时指定eth0同时为internal网卡和external网卡。

????????此时eth0无ip地址,需要关闭NetworkManager,使用service Network的方式来管理网卡

#在/etc/sysconfig/network-scripts中添加网卡配置文件

#添加eth0的配置文件
cat > /etc/sysconfig/network-scripts/ifcfg-eth0 <<END
TYPE=OVSPort
HWADDR=xx:xx:xx:xx:xx:xx
ONBOOT=yes
DEVICE=eth0
DEVICETYPE=ovs
OVS_BRIDGE=br-ex
END

#添加br-ex的配置文件————采用DHCP
cat > /etc/sysconfig/network-scripts/ifcfg-br-ex <<END
TYPE=OVSBridge
NAME="br-ex"
DEVICE=br-ex
DEVICETYPE=ovs
BOOTPROTO=dhcp
DEFROUTE=yes
ONBOOT=yes
DELAY=0
END

#添加br-ex的配置文件————采用静态地址
cat > /etc/sysconfig/network-scripts/ifcfg-br-ex <<END
TYPE=OVSBridge
NAME="br-ex"
DEVICE=br-ex
DEVICETYPE=ovs
BOOTPROTO=static
IPADDR=<静态IP地址>
NETMASK=<子网掩码>
GATEWAY=<网关IP地址>
DNS1=<首选DNS服务器IP地址>
DNS2=<备用DNS服务器IP地址>
DEFROUTE=yes
ONBOOT=yes
DELAY=0
END

#应用设置——重启服务
systemctl disable NetworkManager --now
systemctl enable  network --now
systemctl restart network

多网卡场景

这是博主现在遇到的场景,博主使用的物理机有无线网卡和有线网卡各一块:
无线网卡打通隧道用以远程管理,所以无法使用单网卡场景
有线网卡作为外部网卡连接公网(刚安装完是个二层口),对端是路由器用的dhcp

大多配置与单网卡相同,但需要额外配置eth1的网卡:

#在/etc/sysconfig/network-scripts中添加网卡配置文件

#静态ip地址
cat > /etc/sysconfig/network-scripts/ifcfg-eth1 <<END
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=<静态IP地址>
NETMASK=<子网掩码>
GATEWAY=<网关IP地址>
DNS1=<首选DNS服务器IP地址>
DNS2=<备用DNS服务器IP地址>
END

#无线,dhcp获取地址
cat > /etc/sysconfig/network-scripts/ifcfg-eth1 <<END
TYPE=Wireless
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
END

#重启服务
systemctl restart network

Ubuntu22.04

单网卡场景

? ? ? ??不使用网络连接进行管理的场景,比如VMware

? ? ? ? 从Ubuntu 18.04开始,默认网络管理工具已切换为NetPlan,它使用YAML格式的配置文件(/etc/netplan/*.yaml)来定义网络接口和配置。配置文件可以包括静态IP地址、DHCP、路由、DNS服务器等网络参数。

? ? ? ? 修改netplan网络配置文件

#修改/etc/netplan/网络配置文件
#vim /etc/netplan/01-network-manager-all.yaml 这个是我的

#动态获取ip
cat /etc/netplan/01-network-manager-all.yaml
network:
  version: 2
  renderer: networkd  #网络渲染器
  ethernets:
    eth0:
      dhcp4: true
  bridges:
    br-ex:
      interfaces: [eth0]  # 将外部网卡接口绑定到网桥
      dhcp4: true          # 启用网桥的 DHCPv4


#静态指定ip
cat /etc/netplan/01-network-manager-all.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: false
  bridges:
    br-ex:
      interfaces: [eth0]
      addresses: [x.x.x.x/xx]
      gateway4: x.x.x.x
      nameservers:         #dns地址
        addresses: [8.8.8.8]

#重启服务
netplan apply
systemctl disable NetworkManager --now
systemctl enable systemd-networkd --now

多网卡场景

这是博主现在遇到的场景,博主使用的物理机有无线网卡和有线网卡各一块:
无线网卡打通隧道用以远程管理,所以无法使用单网卡场景
有线网卡作为外部网卡连接公网(刚安装完是个二层口),对端是路由器用的dhcp

无线网卡用Networkmanager做管理
#不关闭NetworkManager
#就算调整了配置文件将无线网卡纳管到netplan,关闭了NetworkManager之后无线网卡也会嘎掉

cat /etc/netplan/01-network-manager-all.yaml

network:
  version: 2
  renderer: networkd
  ethernets:
    eth0:
      dhcp4: true                # 启用有线网卡的 DHCPv4
  bridges:
    br-ex:                       # 定义网桥名称
      interfaces: [eth0]         # 将外部有线网卡接口绑定到网桥
      dhcp4: true                # 启用网桥的 DHCPv4

文章来源:https://blog.csdn.net/qq_72569959/article/details/135031288
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。