openstack单网卡使用多IP说明、openstack虚拟机IP通网关但同网段IP不互通处理方法

2023-05-16

文章目录

  • openstack虚拟机IP通网关但同网段IP不互通处理方法
    • 问题描述
    • 处理方法
  • Openstack中单网卡使用多ip

openstack虚拟机IP通网关但同网段IP不互通处理方法

问题描述

  • 云平台的防火墙虚拟机部署再我们云平台上,防火墙虚拟机所属物理机坏了,将虚拟机迁移到别的宿主机上后,出现了以下问题
    • 1、虚拟机能通网关,但同网段直接不能互通【并非全部,偶尔有一两台能互通】;
    • 2、有外网的主机,部分能正常使用。

处理方法

  • 处理流程如下:

    • 再防火墙虚拟机所属计算节点宿主机上,用iptables 过滤你的 nf 192.168.252的ip地址 【nf地址也就是每个地址端的网关地址(好像记得网络部同事说是网关地址)】
      如:iptables -S|grep 192.168.252(你nf具有的192.168.252.的ip地址)
    • 然后 iptables -R 刚才你过滤得到的链的名称 2 -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
      • 如:192.168.252.101接口:iptables -R neutron-linuxbri-s89f58cf4-4 2 -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
      • 如111.11.199.65接口:iptables -R neutron-linuxbri-sbc8e8a29-d 2 -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
  • 下面是实操,一个地址的流程【有多个地址,就重复下面操作即可,我们这其实有六七个这种网关地址,所以是执行了六七次的,只是将其中一次的过程放到这里了而已】

[root@computer04 ~]# iptables -S | grep 192.168.244.125
-A neutron-linuxbri-s679500a7-9 -s 192.168.244.125/32 -m mac --mac-source FA:16:3E:95:08:2C -m comment --comment "Allow traffic from defined IP/MAC pairs." -j RETURN
[root@computer04 ~]# iptables -S | grep neutron-linuxbri-s679500a7-9
-N neutron-linuxbri-s679500a7-9
-A neutron-linuxbri-o679500a7-9 -j neutron-linuxbri-s679500a7-9
-A neutron-linuxbri-s679500a7-9 -s 192.168.244.125/32 -m mac --mac-source FA:16:3E:95:08:2C -m comment --comment "Allow traffic from defined IP/MAC pairs." -j RETURN
-A neutron-linuxbri-s679500a7-9 -m comment --comment "Drop traffic without an IP/MAC allow rule." -j DROP
[root@computer04 ~]#  # 上面可以看到是被 DROP的
[root@computer04 ~]# iptables -R neutron-linuxbri-s679500a7-9  2 -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
[root@computer04 ~]# 
[root@computer04 ~]# iptables -S | grep neutron-linuxbri-s679500a7-9
-N neutron-linuxbri-s679500a7-9
-A neutron-linuxbri-o679500a7-9 -j neutron-linuxbri-s679500a7-9
-A neutron-linuxbri-s679500a7-9 -s 192.168.244.125/32 -m mac --mac-source FA:16:3E:95:08:2C -m comment --comment "Allow traffic from defined IP/MAC pairs." -j RETURN
-A neutron-linuxbri-s679500a7-9 -j ACCEPT
[root@computer04 ~]#  # 放开以后可以看到为ACCEPT了
  • 放个图片,记录一下,现在公有云防火墙虚拟机在computer04上,如果后面换主机了,这些操作全部得再新宿主机上执行一遍。。。不然网络还是有问题。
    在这里插入图片描述

Openstack中单网卡使用多ip

  • 其实我上面的操作实现的效果也是单网卡使用多IP。下面内容来源于网络,更主要是介绍单网卡使用多IP这个概念

  • 创建虚拟机时主机上会有一条iptables 用来将ip和mac绑定,用来防止arp欺骗。在需要给单个网卡配置多个ip的场景下(例如keepalive)另外添加的ip地址是无法与外界通信的。 两种方法来解决。

  • 第一种是使用allowed-address-pairs来扩展端口属性,允许手动指定端口的mac_address和ip 地址对的流量通过。

      1. 建立port时指定allowed-address-pairs属性
        # neutron port-create e13762dc-9af7-49b6-a74e-2ed2a9728a6c --allowed-address-pairs type=dict list=true ip_address=172.16.1.5
        在这里插入图片描述
        可以看出新建的port的ip_address为172.16.1.7,而对应的allowed-address-pairs为172.16.1.5,两个ip对应的mac是相同的。
      1. 给现有网卡添加allowed-address-pairs属性
        在这里插入图片描述
        # neutron port-update 18dea4cb-db1d-4c44-96f0-0b57305e7b1e --allowed-address-pairs type=dict list=true ip_address=172.16.1.23
        在这里插入图片描述
  • 设置了属性后主机的iptables如下:

RETURN     all  --  172.16.1.5           anywhere             MAC FA:16:3E:65:5B:C7 /* Allow traffic from defined IP/MAC pairs. */
RETURN     all  --  172.16.1.4           anywhere             MAC FA:16:3E:65:5B:C7 /* Allow traffic from defined IP/MAC pairs. */
  • 第二种是使用port_security_enabled属性,可以针对整个网络更改,也针对某个端口更改。
    创建net和port时现在没有参数来指定port_security_enabled,默认是True,所以需要在创建之后更新。

  • 首先移除port上的安全组(创建port时默认是有安全组的,可以添加参数–no-security-groups创建没有安全组的prot),然后设置port的port_security_enabled为False(有安全组时port_security_enabled无法设置为False ) :

neutron port-update b0ddb9ad-6250-45f2-9927-a6633ddaf406 --no-security-groups --port_security_enabled=False
  • 设置了port_security_enabled=False后再主机的iptables中对应的下面规则会被删除。
RETURN     all  --  172.16.1.4           anywhere             MAC FA:16:3E:65:5B:C7 /* Allow traffic from defined IP/MAC pairs. */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openstack单网卡使用多IP说明、openstack虚拟机IP通网关但同网段IP不互通处理方法 的相关文章

随机推荐

  • nodejs -- koa框架

    koa下载安装 Koa 是一个基于 Node js 的 Web 框架 它提供了一组简洁而优雅的 API 使得编写 Web 应用程序变得更加容易和快捷 以下是如何使用 Koa 创建一个 Node js 项目的步骤 安装 Node js 首先
  • 高德、百度地图互联网可访问的瓦片地址

    ArcGIS上对外开放的瓦片地址网站 传送门 span class token literal property property http span span class token operator span span class to
  • VScode+Remote-SSH搭建远程开发环境

    最近项目需要 xff1a 多台本机控制远程电脑 xff0c 因此学习了一下在VScode中搭建一个远程调试环境 简单总结了一下 xff01 远程开发环境搭建 xff1a VScode 43 Remote SSH 1 下载Visual Stu
  • java.sql.SQLException: url not set

    出现这个问题的主要原因 xff0c 是因为代码中的 64 ConfigurationProperties prefix 61 34 spring datasource druid 34 和application properties配置文件
  • 交叉编译器--笔记

    一般我们用PC电脑上的ubuntu的gcc编译器是针对x86架构 xff0c 而再开发板上的编译是ARM架构的 xff0c 故需要一个可以在PC上运行的ARM架构的GCC编译器 xff08 交叉编译器 xff09 用这个GCC编译ARM架构
  • ensp配置FTP进行文件操作

    ensp配置FTP进行文件操作 首先配置设备之间的连通 接下来配置路由器为FTP Client 在本地创建一个FTP Huawei文件夹 xff0c 然后再创建一个子文件夹Config xff0c 再在里面创建一个test txt文件 xf
  • 改变世界的五位顶级程序员!

    点击上方 Java基基 xff0c 选择 设为星标 做积极的人 xff0c 而不是积极废人 xff01 源码精品专栏 原创 Java 2020 超神之路 xff0c 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析网络应用框
  • 你知道ping命令是如何工作的吗?

    点击上方 Java基基 xff0c 选择 设为星标 做积极的人 xff0c 而不是积极废人 xff01 每天 14 00 更新文章 xff0c 每天掉亿点点头发 源码精品专栏 原创 Java 2021 超神之路 xff0c 很肝 中文详细注
  • dashboard疏散主机提示报错:无法疏散主机...处理方法、openstack虚拟机状态卡在重启处理方法、openstack在数据库修改虚拟机状态的方法

    文章目录 dashboard疏散主机提示报错 无法疏散主机 处理方法 报错说明 状态卡在reboot状态 解决方法 登录nova数据库修改虚拟机信息 首先获取nova数据库的密码 登录nova数据库并做修改 验证信息是否修改成功 再次迁移并
  • 自学VUE(4)创建项目

    创建项目 1 检查电脑环境 node v npm v vue V cnpm v 2 创建项目 xff0c cd到桌面 xff0c 执行命令 xff1a vue init webpack firstVue 初始化一个项目 3 桌面获得一个项目
  • 前端请求后台报错400

    报错原因 xff1a 前端请求的字段名称或者字段类型和后台编写的实体类不一样 xff0c 或者前端提交的参数和后台需要的参数个数不匹配 xff0c 导致无法封装 xff0c 报错400 解决方法 xff1a 仔细对照前后端字段类型 xff0
  • Ubuntu终端文件管理工具ranger

    一 xff0c 安装 xff1a ubuntu使用apt get 安装 sudo apt get install ranger 二 xff0c 使用 ranger ranger 中有按键和命令两种操作方式 xff0c 按键是直接键入键盘上的
  • C# list根据字段生成排名

    需求分析 xff0c 我们要根据一个变量来生成排名 xff0c 变量数值相同则在同一名 xff0c 名数则跳过 xff0c 比如第一有两个 xff0c 那就不会有第二名 xff0c 直接到第三名 直接上代码 span class token
  • .net 6 web api项目添加日志(Serilog)管理,将日志输出到控制台、文件、数据库

    1 在nuget安装下面几个包 Serilog Serilog AspNetCore 用于日志输出到控制台 Serilog Formatting Compact 用于日志输出到mysql数据库 Serilog Sinks MySQL 用于日
  • GDB调试-新手笔记3

    ldd命令 43 readelf ldd 在制作自己的发行版时经常需要判断某条命令需要哪些共享库文件的支持 xff0c 以确保指定的命令在独立的系统内可以可靠的运行 ldd stack0 可以找到stack0程序使用的共享库 xff0c l
  • Spring源码分析(一)Spring的环境搭建与架构

    目录 一 Spring的基本信息1 1 Spring 概述1 2 架构 二 环境搭建2 1 gradle的安装与配置2 2 Spring源码构建 本图 xff1a 川西旅游中拍摄的 xff08 业余摄影 xff09 官网 xff1a Hom
  • RNA-seq:转录组数据分析处理(上)

    RNA seq xff1a 转录组数据分析处理 xff08 上 xff09 目录 RNA seq xff1a 转录组数据分析处理 xff08 上 xff09 一 流程概括二 准备工作1 fastq测序文件2 注释文件和基因组文件的获取 三
  • STM32串口数据接收 --环形缓冲区

    STM32串口数据接收 环形缓冲区 环形缓冲区简介 在单片机中串口通信是我们使用最频繁的 xff0c 使用串口通信就会用到串口的数据接收与发送 xff0c 环形缓冲区方式接收数据可以更好的保证数据丢帧率第 在通信程序中 xff0c 经常使用
  • Linux下驱动开发

    Linux下驱动开发 1 简介 驱动 xff0c 是指驱动计算机里软件的程序 驱动程序全称设备驱动程序 xff0c 是添加到操作系统中的特殊程序 xff0c 其中包含有关硬件设备的信息 驱动程序是操作系统与硬件连接的桥梁 设备驱动最通俗的解
  • openstack单网卡使用多IP说明、openstack虚拟机IP通网关但同网段IP不互通处理方法

    文章目录 openstack虚拟机IP通网关但同网段IP不互通处理方法问题描述处理方法 Openstack中单网卡使用多ip openstack虚拟机IP通网关但同网段IP不互通处理方法 问题描述 云平台的防火墙虚拟机部署再我们云平台上 x