记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
CentOS6.4 配置iptables如果没有安装iptables可以直接用yum安装yum install -t iptables检查iptables服务的状态,service iptables status如果出现“iptables: Firewall is not running”,说明没有启动或没有规则启动iptables服务service iptables start第一次配置前消除默认的规则#这个一定要先做,不然清空后可能会悲剧
iptables -P INPUT ACCEPT
#清空默认所有规则
iptables -F
#清空自定义的所有规则
iptables -X
#计数器置0
iptables -Z配置规则 #如果没有此规则,你将不能通过127.0.0.1访问本地服务,例如ping 127.0.0.1
iptables -A INPUT -i lo -j ACCEPT
#开启ssh端口22
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开启FTP端口21
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#开启web服务端口80
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#tomcat
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
#mysql
iptables -A INPUT -p tcp --dport xxxx -j ACCEPT
#允许icmp包通过,也就是允许ping
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#允许所有对外请求的返回包
#...
RemoteFX vGPU 安装程序和 Windows Server 2012 的配置指南请查看附件。 点击打开链接
iSCSI 多路径实现 KVM 高可用本文我们将以 Linux 平台为例,分别使用两台 Linux 主机来运行 iSCSI 目标和 iSCSI 启动器,然后在其中一台运行 iSCSI 启动器的主机上运行 KVM 虚拟机,两台主机之间存在多个网络连接,以此来实现提高 KVM 虚拟机的可用性。回页首配置 iSCSI(target 和 initiator)iSCSI (Internet Small Computer System Interface), 即 Internet 小型计算机系统接口,它是一种基于 TCP/IP 的协议。通过它可以在 IP 网络传送 SCSI 命令和数据,实现建立和管理网络存储设备、主机和客户机等之间的相互连接,并创建存储区域网络(SAN)。iSCSI 协议定义了在 TCP/IP 网络发送、接收数据块级别的存储数据的规则和方法。发送端将 SCSI 命令和数据封装到 TCP/IP 包中通过网络转发,接收端收到 TCP/IP 包之后,将其还原为 SCSI 命令和数据并执行,完成之后将返回的 SCSI 命令和数据再封装到 TCP/IP 包中再传送回发送端。而整个过程在用户看来,使用远端的存储设备就如同访问本地 SCSI 设备一样简单。其流程如下图:图 0. iSCSI 流程iSCSI target, 即 iSCSI 目标,它是 iSCSI 网络的服务器组件,通常是一个存储设备,用于包含所需的数据并回应来自 iSCSI 启动器的请求。...
QEMU 中使用 BIOS 简介BIOS 提供主板或者显卡的固件信息以及基本输入输出功能,QEMU 使用的是一些开源的项目,如 Bochs、openBIOS 等。QEMU 中使用到的 BIOS以及固件一部分以二进制文件的形式保存在源码树的 pc-bios 目录下。pc-bios 目录里包含了 QEMU 使用到的固件,还有一些 BIOS 以 git 源代码子模块的形式保存在 QEMU 的源码仓库中,当编译 QEMU 程序的时候,也同时编译出这些 BIOS 或者固件的二进制文件。QEMU 支持多种启动方式,比如说 efi、pxe 等, 都包含在该目录下,这些都需要特定 BIOS 的支持。清单 1. QEMU 源码树中的 BIOS 文件$ ls pc-bios/
acpi-dsdt.aml efi-rtl8139.rom openbios-ppc pxe-e1000.rom qemu_logo_no_text.svg slof.bin bamboo.dtb
efi-virtio.rom openbios-sparc32 pxe-eepro100.rom qemu-nsis.bmp spapr-rtas bamboo.dts keymaps
openbios-sparc64 pxe-ne2k_pci.rom qemu-nsis.ico spapr-rtas.bin bios.bin kvmvapic.bin optionrom
pxe-pcnet.rom vgabios.bin efi-e1000.rom linuxboot.bin palcode-clipper pxe-rtl8139.rom
s390-ccwvgabios-cirrus.bin efi-eepro100.rom petalogix-ml605.dtb pxe-virtio.rom s390-ccw.img
...
开始之前了解本教程中包含的内容以及如何最好地利用本教程。关于本系列这个包括四个部分的系列教程从头开始介绍 UNIX®。对于很久没有使用类 UNIX 操作系统的用户来说,这个初始的教程是个很好的温习。对于具有 Windows® 使用经验的新的 UNIX 用户来说,它也很有价值,因为其中参考了 Windows,并将两者进行了比较。第二个教程重点讲述 vi 文本编辑器,该编辑器是功能最强大(也最神秘)的可用 UNIX 实用程序之一。本教程向您讲授有关使用正则表达式的 UNIX 命令行过滤器的知识,包括 grep、sed 和 awk。关于本教程要发挥 UNIX 命令行过滤器(如 grep、sed 和 awk)背后的强大功能,您需要非常熟悉正则表达式。本教程向新用户讲授其中每个实用程序的功能和如何使用正则表达式来操作文本。您将首先使用一个简单和好玩的 grep 示例,然后继续研究 sed 和 awk 的实际示例。目标本教程的目标是使 UNIX 和 Linux® 用户习惯于使用这三个可用于快速和高效地搜索和更改数据的强大命令行工具。本教程开头将解释许多 UNIX 实用程序(及编程语言)基本框架中使用的正则表达式。随后的各个部分将给出与 grep、sed 和 awk 一起使用的正则表达式的示例。先决条件对于本教程,您需...
vi 文本编辑器 对于新用户来说,vi 文本编辑器可能看起来不是很直观,但是不要误会,世界上许多最优秀的程序员仍然广泛地使用这种经历了 30 年之久的古老工具,之所以会这样,有一个很好的理由。 vi 文本编辑器将操作分为插入模式和命令模式,这允许您使用超快的键盘命令对文本和用户定义的段进行动态地编辑、插入和移动。开始之前了解本教程中包含的内容以及如何最好地利用本教程。关于本系列这个由四部分组成的文章系列将从用户的角度出发,介绍 UNIX® 的基本知识。对于很久没有使用类 UNIX 操作系统的用户来说,这个初始的教程是个很好的温习。对于具有 Windows® 使用经验的新的 UNIX 用户来说,它也很有价值,因为其中引用了 Windows,并将两者进行了比较。 本系列中的后续教程将详细地介绍一些特定的应用程序(比如 vi),并讨论关于 Shell 的诀窍与技巧。关于本教程vi 编辑器已有 30 多年的历史,并且到现在为止,仅对其进行了很少的更改。 它保持了不使用鼠标而通过键盘驱动的界面,这使得用户可以始终将手指放在标准键位处。 用户可以在两种模式(插入模式和命令模式)之间进行切换,以便分别插入文本或对文档进行操作和导航。 命令模式为用户提供了各种各样...
Linux Shell for循环写法总结 关于shell中的for循环用法很多,一直想总结一下,今天网上看到上一篇关于for循环用法的总结,感觉很全面,所以就转过来研究研究,嘿嘿...1、 for((i=1;i<=10;i++));do echo $(expr $i \* 4);done2、在shell中常用的是 for i in $(seq 10) 3、for i in `ls`4、for i in ${arr[@]} 5、for i in $* ; do 6、for File in /proc/sys/net/ipv4/conf/*/accept_redirects; do 7、for i in f1 f2 f3 ;do 8、for i in *.txt 9、for i in $(ls *.txt) for in语句与` `和$( )合用,利用` `或$( )的将多行合为一行的缺陷,实际是合为一个字符串数组10、LIST="rootfs usr data data2" for d in $LIST; do 用for in语句自动对字符串按空格遍历的特性,对多个目录遍历 11、for i in {1..10}12、for i in stringchar {1..10}13、awk 'BEGIN{for(i=1; i<=10; i++) print i}'注意:AWK中的for循环写法和C语言一样的
shell 编程——for in 循环 for in 格式for 无$变量 in字符串do $变量done一简单的字符串 枚举遍历法,利用forin格式对字符串按空格切份的功能SERVICES="80 22 25 110 8000 23 20 21 3306 "for x in $SERVICES do iptables -A INPUT -p tcp --dport $x -m state --state NEW -j ACCEPT done for variable invalues --------字符串数组依次赋值#!/bin/shfor i in a bc 字符串列表A B C 字符串用空格分隔,没有括号,没有逗号, 然后循环将其依次赋给变量i &nbs...
if [ $# -ne 1 ];then 是什么意思?$# 表示提供到shell脚本或者函数的参数总数;
$1 表示第一个参数。
-ne 表示 不等于
另外:
整数比较
-eq 等于,如:if ["$a" -eq "$b" ]
-ne 不等于,如:if ["$a" -ne "$b" ]
-gt 大于,如:if ["$a" -gt "$b" ]
-ge 大于等于,如:if ["$a" -ge "$b" ]
-lt 小于,如:if ["$a" -lt "$b" ]
-le 小于等于,如:if ["$a" -le "$b" ]
< 小于(需要双括号),如:(("$a" < "$b"))
<= 小于等于(需要双括号),如:(("$a" <= "$b"))
> 大于(需要双括号),如:(("$a" > "$b"))
>= 大于等于(需要双括号),如:(("$a" >= "$b"))
另外:$?是shell变量,表示"最后一次执行命令"的退出状态.0为成功,非0为失败.
linux变量$#,$0,$1,$2,$@,$*,$$,$UID,$?的含义我们先写一个简单的脚本,执行以后再解释各个变量的意义 # touch variable# vi variable 脚本内容如下: #!/bin/shecho "number:$#"echo "scname:$0"echo "first :$1"echo "second:$2"echo "argume:$@"echo "show parmlist:$*"echo "show processid:$$"echo "show precomm stat: $?"echo "show user id : $UID"保存退出 赋予脚本执行权限 # chmod +x variable 执行脚本 # ./variable aa bbnumber:2scname:./variablefirst:aasecond:bbargume:aa bbshow parm list:aa bbshow process id:24544show precomm stat:0show user id: 0 //说明是root用户通过显示结果可以看到: $# 是传给脚本的参数个数$0 是脚本本身的名字$1 是传递给该shell脚本的第一个参数$2 &...
最新评论