xenserver 通过防火墙禁用xencenter VM控制台方法

摘要:
#!-ne0];then/bin/systemctlstartiptables.service˃/dev/nullfielseserviceiptablesstatus˃/dev/nullif[$?-ne0];thenserviceiptablesstart˃/dev/nullfifi}vm_num(){while:doread-p"PleaseinputVMnumber:[exp˃10or60]"numif[`echo"$num"|grep-c'[^0-9]'`-ne0];thenecho"InputVMNumbererror!!!"continueelseif["$num"-gt0];thenbreakelseecho"InputVMNumbererror!!!"continuefifidone}#get_vm_vncport(){#xenstore-ls/local/domain|grepvnc-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/dev/nulldone#exceptdom0VNCportget_dom0_vncportiptables-IINPUT-ptcp--dport"$dom0_vnc_port"-jACCEPT}#mainstart_iptablesvm_numdrop_vm_vncportserviceiptablessaveecho"done"#!/bin/sh#ver0.10706/2017hayden#thisscriptforenableXenserverVMVNCConsoleport#yelang007sheng@163.comstart_iptables(){xen_ver=`cat/etc/redhat-release|awk'{print$3}'|awk-F.'{print$1}'`if[$xen_ver-eq7];then/bin/systemctlstatusiptables.service˃/dev/nullif[$?-ne0];then/bin/systemctlstartiptables.service˃/dev/nullfielseserviceiptablesstatus˃/dev/nullif[$?-ne0];thenserviceiptablesstart˃/dev/nullfifi}vm_num(){while:doread-p"PleaseinputVMnumber:[exp˃10or60]"numif[`echo"$num"|grep-c'[^0-9]'`-ne0];thenecho"InputVMNumbererror!!!"continueelseif["$num"-gt0];thenbreakelseecho"InputVMNumbererror!!!
#!/bin/sh
#ver 0.1 0706/2017hayden
#this script fordisable 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
    elseservice iptables status >/dev/null
        if [ $? -ne 0 ];thenservice iptables start >/dev/null
        fi
    fi}

vm_num(){
    while:
    doread -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 ]; thenbreak
             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++))
doiptables -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/2017hayden
#this script forenable 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
    elseservice iptables status >/dev/null
        if [ $? -ne 0 ];thenservice iptables start >/dev/null
        fi
    fi}

vm_num(){
    while:
    doread -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 ]; thenbreak
             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++))
doiptables -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"

免责声明:文章转载自《xenserver 通过防火墙禁用xencenter VM控制台方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SpringBoot添加对Mybatis的支持【MySQL笔记】mysql来源安装/配置步骤和支持中国gbk/gb2312编码配置下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

adb命令大全

基本用法 命令语法 adb 命令的基本语法如下: 1 adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉[-d|-e|-s <serialNumber>]这一部分,直接使用adb <command>。 为命令指定目标设备 如果有多个设备...

快速掌握Shell编程

(一)Shell编程概述 1.1 shell简述 Shell编程和JavaScript非常相似,Shell和JavaScript都是弱类型语言,同时也都是解释型语言。解释型语言需要解释器,JavaScript的解释器是浏览器,Shell脚本的解释器时bash,是一个shell、一个命令行用户接口。 1.2 bash简述 bash在执行或者解释脚本的时候,此...

老vue项目webpack3升级到webpack5全过程记录(一)

背景 19年新建的vue项目,使用的是webpack3,随着项目的积累,组件的增多导致本地构建,线上打包等操作速度极慢,非常影响开发效率和部署效率,基于此问题,本次对webpack及相关插件进行了优化和升级。本博文分为2篇,第 1 篇 会直接附上可运行的代码(去除了一些业务代码配置),直接粘贴复制即可使用(注意是基于vue2.0项目原配置基础上的修改哦,在...

一个相见恨晚的idea上的小功能——通过idea直接操作Linux上的文件

因为学习原因,平时自己操作虚拟机需要修改和增加很多文件。 而在Linux系统里的vim,有时候确实还是不及外面idea上用的爽。 在偶然下发现idea可以支持操作虚拟机上的文件,让我高兴不已,废话不多说,直接走流程,其实也很简单。 第一步,保证Linux是开启的 第二部,在idea上,按照如下点击 我自己的是2019.2的版本,后续版本可能有些显示内容不...

iptables常用命令及应用

http://blog.csdn.net/bill_lee_sh_cn/article/details/4401896 iptables中DNAT的配置方法 一、命令格式 iptables [-t TABLE] COMMAND CHAIN [creteria] -j(jump) ACTION{ACCEPT,DROP,REJECT,SNAT,DNAT}...

Ubuntu20.04在host-only模式下实现连接网络

1、网络适配器设为host-only模式  2、虚拟机网络所在的子网段 3、 将配置VMware Network Adapter VMnet1(这是创建VMware时创建的网络,用于host-only方式的连接)即通过设置虚拟网卡的ip4协议的属性修改网卡的IP(与之前在虚拟机上设置的IP相同)  4、将本地连接共享给VMware Network A...