zoukankan      html  css  js  c++  java
  • openstack端口禁用安全规则

    #!/bin/bash
    source ~/admin-openrc
    
    UserHelp() {
    cat <<EOF
    # Disable the security rules and ports of the cloud host
    
    Usage:
      ./disablePort.sh <network> server..
    
    Options:
      <network>   Enter the network name. For example: selfnetwork provider
    
    Example:
      ./disablePort.sh selfnetwork test01 test02
    EOF
    }
    
    if [[ $1 == 'selfnetwork' || $1 == 'provider' ]]; then
      network=$1
      shift
    
      for i in $*; do
        # 根据主机名,查IP地址
        # "/${i}/"'{print $5}' 两者之间不能有空格,如果过滤项是变量请使用双引号
        # '{sub("^ *","");sub(" *$","");print $2}' 显示第二项并删除前后空格
        IP_Field=`openstack server list | awk -F"|" "/$i/"'{print $5}'`
        # 判断主机是否存在,不存在则跳过本次循环。继续下一次循环
        if [[ -z $IP_Field ]];then
          echo "$i Host does not exist"
          continue
        fi
    
        for j in $IP_Field;do
          if [[ $j =~ "$network" ]];then
            IP=`echo $j | awk -F"[,;=]" '{sub("^ *","");sub(" *$","");print $2}'`
            # echo $IP
          fi
        done
      
        # 根据IP地址,查port id
        if [[ ! -z $IP ]];then
          Port_id=`openstack port list | awk "/'${IP}'/"'{print $2}'`
          # echo $Port_id
        fi
      
        # 禁用安全规则和端口规格
        openstack port set --no-security-group --disable-port-security ${Port_id}
      done
    
    elif [[ $1 == '--help' || $1 == '-h' || $# == 0 ]];then
      UserHelp
    
    else
      echo -e "Wrong option
    
    "
      UserHelp
    
    fi
    
  • 相关阅读:
    IOS多态在项目中的应用
    经济博弈题-逻辑思维-算法-海盗分金币
    iOS weak底层实现原理
    Two Sum
    HTTP与HTTPS的理解
    iOS 加锁的方式
    PHP 打印前一天的时间
    PHP 遍历文件夹下的文件以及子文件夹
    PHP 获取url里文件的扩展名
    vi 编辑器基本命令
  • 原文地址:https://www.cnblogs.com/mycloudedu/p/14962054.html
Copyright © 2011-2022 走看看