灵活运用这些变量
会让你编写脚本更加自如
$0
对于iptables的日志,找了很久都没有一个好的工具来输出我自己想要的格式,按条件来查询日志.
于是自己动手写了一个脚本.脚本很简单,几个grep组合而已.
当然这个脚本还很不完善,比如-l参数还不可用,-t参数还很粗糙.但是基本的功能已经实现了,用来做点小查询已经够用了.如果发挥你的想象力,可以用来定期处理日志,再加工处理一下,输出到web或者其它介质也是有可能的.
在ubuntu 8.04中,正式引入了wubi这种全新的安装方式。对于我的破笔记本来说简直就是一种福音啊。
之前装linux&xp双系统,带来的结果就是两次分区表出错,差点硬盘废了。第二次出错时我就很坚决地把linux分区格式化了。
于是在wubi下安装了ubuntu.
一直使用vmware workstation,对于其它版本不甚了解.
在vmware server免费推出的时候,曾经试过一次,但当时的环境让我觉得远程管理方式多此一举,不如使用vmware workstation来得方便.
近来需要在托管在IDC的服务器上安装wmware,vmware workstation版本的局限性就暴露出来了,我使用ssh连接上我的服务器,根本不可能完成安装任务.
工作中需要经常安装linux系统,为了安装过程遵循统一的标准 ,查看了一些无人值守安装的方法。总结如下:
关键字:无人值守 linux安装
方法:使用kickstart 建立ks.cfg,然后安装时使用linux ks=XXX:/ks.cfg
一、概述
我们通过Shell可以实现简单的控制流功能,如:循环、判断等。但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能。而Expect就使用来实现这种功能的工具。
Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预。Expect的作者Don Libes在1990年开始编写Expect时对Expect做有如下定义:Expect是一个用来实现自动交互功能的软件套件(Expect [is a] software suite for automating interactive tools)。使用它系统管理员的可以创建脚本用来实现对命令或程序提供输入,而这些命令和程序是期望从终端(terminal)得到输入,一般来说这些输入都需要手工输入进行的。Expect则可以根据程序的提示模拟标准输入提供给程序需要的输入来实现交互程序执行。甚至可以实现实现简单的BBS聊天机器人。
某日在openvpn服务器上配置iptables,配置完成,却发现forward中所有过滤居然都没有生效。传了个文件,发现流量居然都直接从input和output了,抓包后发现openvpn只是以其服务端口与两客户端建立了直接的连接实现了数据传输。百思不得其解,openvpn的的iptables示例明明就是在forward做过滤的啊。
百思不得其解之时,只好上水木社区求助。某大牛发来man page中的一段。大悟。
–client-to-client
这几天折腾iptables,我使用了一个路由器,一台linux作为网关,一个windows主机。三台机器用交换机相连。我要实现的目标是,windows的网关指向linux主机,用iptables来限制上网。
原本按照iptables的理论,转发的数据应该只通过FORWARD链。于是我只要INPUT和FORWARD做了限制,默认为DROP,允许了一些自己认可的端口通过,OUTPUT默认为ACCEPT。这原本就是一个很标准的过滤。但是真正应用的时候,问题出现了,FORWARD链的过滤根本没有起作用。只有把OUTPUT改为DROP才能起作用。百思不得其解之时,我查看了一下windows的路由表。居然神奇地发现,路由表中居然把我请求过的目的地址的下一跳直接改成了我的路由器。即,只要我访问了一次,那么第二次他们根本就不会从我的linux通过。