zoukankan      html  css  js  c++  java
  • xenserver 通过防火墙禁用xencenter VM控制台方法

    #!/bin/sh
    
    #ver 0.1 0706/2017 hayden
    #this script for disable Xenserver VM VNC Console port
    #yelang007sheng@163.com
    
    start_iptables(){
        xen_ver=`cat /etc/redhat-release |awk '{print $3}' |awk -F. '{print $1}'`
        if [ $xen_ver -eq 7 ];then
            /bin/systemctl status  iptables.service >/dev/null
            if [ $? -ne 0 ];then
                /bin/systemctl start iptables.service >/dev/null
            fi
        else
            service iptables status >/dev/null
            if [ $? -ne 0 ];then
                service iptables start >/dev/null
            fi
        fi
    }
    
    vm_num(){
        while :
        do
            read -p "Please input VM number: [ exp> 10 or 60 ] " num
            if [ `echo "$num" |grep -c '[^0-9]'` -ne 0 ]; then
                echo "Input VM Number  error!!!"
                continue
              else
                 if [ "$num" -gt 0 ]; then
                    break
                 else
                    echo "Input VM Number error!!!"
                    continue
                 fi
              fi
        done
    }
    
    #get_vm_vncport(){
    #    xenstore-ls /local/domain |grep vnc-port |awk -F= '{print $2}' |sed 's/"//g' >/tmp/vm_vncport.tmp
    #}
    get_dom0_vncport(){
        dom0_vnc_port=`xenstore-read /local/domain/0/console/vnc-port`
    }
    
    drop_vm_vncport(){
    max_num=`echo "5900 + $num" |bc`
    for((i=5900;i<=$max_num;i++))
    do
        iptables -I INPUT -p tcp --dport $i -j DROP >/dev/null
    done
    #except dom0 VNC port
    get_dom0_vncport
    iptables -I INPUT -p tcp --dport "$dom0_vnc_port" -j ACCEPT
    }
    
    #main
    start_iptables
    vm_num
    drop_vm_vncport
    service iptables save
    echo "done"
    #!/bin/sh
    
    #ver 0.1 0706/2017 hayden
    #this script for enable Xenserver VM VNC Console port
    #yelang007sheng@163.com
    
    start_iptables(){
        xen_ver=`cat /etc/redhat-release |awk '{print $3}' |awk -F. '{print $1}'`
        if [ $xen_ver -eq 7 ];then
            /bin/systemctl status  iptables.service >/dev/null
            if [ $? -ne 0 ];then
                /bin/systemctl start iptables.service >/dev/null
            fi
        else
            service iptables status >/dev/null
            if [ $? -ne 0 ];then
                service iptables start >/dev/null
            fi
        fi
    }
    
    vm_num(){
        while :
        do
            read -p "Please input VM number: [ exp> 10 or 60 ] " num
            if [ `echo "$num" |grep -c '[^0-9]'` -ne 0 ]; then
                echo "Input VM Number  error!!!"
                continue
              else
                 if [ "$num" -gt 0 ]; then
                    break
                 else
                    echo "Input VM Number error!!!"
                    continue
                 fi
              fi
        done
    }
    
    #get_vm_vncport(){
    #    xenstore-ls /local/domain |grep vnc-port |awk -F= '{print $2}' |sed 's/"//g' >/tmp/vm_vncport.tmp
    #}
    get_dom0_vncport(){
        dom0_vnc_port=`xenstore-read /local/domain/0/console/vnc-port`
    }
    
    drop_vm_vncport(){
    max_num=`echo "5900 + $num" |bc`
    for((i=5900;i<=$max_num;i++))
    do
        iptables -I INPUT -p tcp --dport $i -j ACCEPT >/dev/null
    done
    #except dom0 VNC port
    get_dom0_vncport
    iptables -I INPUT -p tcp --dport "$dom0_vnc_port" -j ACCEPT
    }
    
    #main
    start_iptables
    vm_num
    drop_vm_vncport
    service iptables save
    echo "done"
  • 相关阅读:
    sql server 删除重复数据新思路
    sqlserver 迁移 mysql
    ASP.NET Web deployment task failed. 请与服务器管理员联系,检查授权和委派设置 部署任务失败的解决方案
    数据库交互之减少IO次数
    sqlserver 安全设置
    windows设置相对路径的快捷方式
    利用SignalR实现实时推送信息
    image magick 备忘
    dotnetCore开发中遇到的一些问题
    “NETSDK1061: 项目是使用 Microsoft.NETCore.App 版本 2.1.14 还原的, 但使用当前设置, 将改用版本 2.1.0。”的处理方法
  • 原文地址:https://www.cnblogs.com/hayden1106/p/8006565.html
Copyright © 2011-2022 走看看