登录 |

UFW安装及使用说明

2010年07月1日 上午 24:10 | 作者:

UFW防火墙是一个主机端的iptables类防火墙配置工具。这个工具的目的是提供给用户一个可以轻松驾驭的界面,就像包集成和动态检测开放的端口一样。

在Ubuntu中安装UFW:

目前这个包存在于Ubuntu的库中。

[shell] apt-get install ufw[/shell]

上面这行命令将把软件安装到您系统中。

开启/关闭防火墙 (默认设置是’disable’)

[shell]ufw enable|disable[/shell]

转换日志状态

[shell]ufw logging on|off[/shell]

设置默认策略 (比如 “mostly open” vs “mostly closed”)

[shell]ufw default allow|deny[/shell]

许可或者屏蔽某些入埠的包 (可以在“status” 中查看到服务列表[见后文])。可以用“协议:端口”的方式指定一个存在于/etc/services中的服务名称,也可以通过包的meta-data。 基本语法如下:

[shell]ufw allow|deny [service][/shell]

显示防火墙和端口的侦听状态,参见 /var/lib/ufw/maps。括号中的数字将不会被显示出来。

[shell]ufw status[/shell]

UFW 使用范例:

允许 53 端口

[shell] ufw allow 53[/shell]

禁用 53 端口

[shell] ufw delete allow 53[/shell]

允许 80 端口

[shell] ufw allow 80/tcp[/shell]

禁用 80 端口

[shell] ufw delete allow 80/tcp[/shell]

允许 smtp 端口

[shell] ufw allow smtp[/shell]

删除 smtp 端口的许可

[shell] ufw delete allow smtp[/shell]

允许某特定 IP

[shell] ufw allow from 192.168.254.254[/shell]

允许某特定 IP段

[shell]
ufw allow from 10.0.0.0/8
ufw allow from 172.16.0.0/12
ufw allow from 192.168.0.0/16
[/shell]

linux服务器网络配置(IP/DNS)

2010年07月1日 上午 44:04 | 作者:

IP

/etc/network/interfaces

[shell]
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# 你可以使用 man interfaces 查看帮助,interfaces(5)就是interfaces帮助文档的第5段,查看帮助只需要 man interfaces,不用输入段号

# 路由环回
# The loopback network interface
auto lo # 开机启动路由环回
iface lo inet loopback # 启用内部路由环回,将127.0.0.1指向本机

# 主网卡配置,网卡eth0,eth1,最后一个数字就是第几张网卡
# The primary network interface

auto eth0 # 开机自启动第一个网卡 eth0,否则需要手动 ifup eth0
#iface eth0 inet dhcp # dhcp自动获取ip
iface eth0 inet static # 手动设置固定ip
address 192.168.1.81 # ip
netmask 255.255.255.0 # 子网掩码
gateway 192.168.1.1 # 网关
[/shell]

DNS

/etc/resolv.conf

[shell]
# nameserver [ip]
nameserver 202.101.224.69
nameserver 61.131.253.68
[/shell]

SVN 改变UUID

2010年06月22日 下午 14:28 | 作者:

Server
UUID 存放在 REPOS/db/uuid

svnadmin setuuid REPOS_PATH [NEW_UUID]

Client
UUID 存放在每个 .svn/entries 文件内

sed -i “s/[OLD_UUID]/[NEW_UUID]/g” `grep [OLD_UUID] -rl /work/copy/path`
sed -i “s/b0927087-b325-4693-852c-0e4d9717ffc9/bf5bc82d-b9e2-49f5-a083-18a8b02e6a55/g” `grep b0927087-b325-4693-852c-0e4d9717ffc9 -rl /home/onoboss/td_chs`

NFS同步用户图片上传目录

2010年06月22日 上午 15:43 | 作者:

[toc]

  1. 61.164.186.242主服务器上建立nfs服务
    共享图片目录/home/onoboss/td_chs/union_img,/home/onoboss/td_chs/images/te
  2. 61.164.186.24[1|6]安装nfs客户端
    使用mount磁盘挂载把本地目录替换为242的nfs远程目录,客户端实际上都读写242的远程目录

服务端

61.164.186.242

安装

[shell]apt-get install nfs-kernel-server[/shell]

配置

共享目录

将/home/onoboss/td_chs/union_img,/home/onoboss/td_chs/images/te目录共享给本网段61.164.186.0/24

vim /etc/exports

[shell]

/home/onoboss/td_chs/union_img 61.164.186.0/24(rw,sync,no_root_squash,no_subtree_check)
/home/onoboss/td_chs/images/te 61.164.186.0/24(rw,sync,no_root_squash,no_subtree_check)

[/shell]

目录权限

允许读写

[shell]

chmod -R 0777 /home/onoboss/td_chs/union_img
chmod -R 0777 /home/onoboss/td_chs/images/te

[/shell]

客户端

61.164.186.241,61.164.186.246

安装

[shell]apt-get install nfs-common[/shell]

配置

手动挂载

[shell]

mount 61.164.186.242:/home/onoboss/chs/union_img /home/onoboss/chs/union_img
mount 61.164.186.242:/home/onoboss/chs/images/te /home/onoboss/chs/images/te

[/shell]

开机自动挂载

vim /etc/fstab

61.164.186.242:/home/onoboss/chs/union_img      /home/onoboss/chs/union_img     nfs     nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768  0       0
61.164.186.242:/home/onoboss/chs/images/te      /home/onoboss/chs/images/te     nfs     nosuid,noexec,nodev,rw,bg,soft,rsize=32768,wsize=32768  0       0

gearman

2010年06月19日 下午 20:28 | 作者:

apt-get install gearman
apt-get install libgearman-dev
apt-get install libevent-dev
apt-get install uuid-dev
pecl install gearman-0.6.0
echo “extension=gearman.so” > /etc/php5/conf.d/gearman.ini
/etc/init.d/php5-fpm restart

svnsync同步版本库

2010年06月18日 上午 35:42 | 作者:

[toc]

源服务器:http://192.168.1.81/svn
目标服务器:http://www.onoboss.com/svn

目标服务器

建立同名版本库

[shell]cd /var/lib/svn
svnadmin create chs
chown -R www-data:www-data chs[/shell]

配置hook/pre-revprop-change

[shell]
cd /var/lib/svn/chs/hooks/
vi pre-revprop-change #输入文件内容
chmod a+x pre-revprop-change #执行权限
[/shell]

pre-revprop-change文件内容:

[shell]
#!/bin/sh
exit 0;
[/shell]

同步服务器

初始任务

[shell]
#svnsync init [目标服务器] [源服务器]
svnsync init http://www.onoboss.com/svn/chs http://192.168.1.81/svn/chs
[/shell]

执行同步

[shell]
#svnsync sync [目标服务器]
svnsync sync http://www.onoboss.com/svn/chs
[/shell]

FAQ

  1. svnsync: DAV request failed; it’s possible that the repository’s pre-revprop-cha
    nge hook either failed or is non-existent
    svnsync: At least one property change failed; repository is unchanged
    svnsync: Error setting propertysync-lock‘:
    could not remove a property
    答:目标服务器未设置
    hook/pre-revprop-change,或者目录权限未更改为www-data。
  2. 中断同步进程,再次同步,出现:Failed to get lock on destination repos, currently held by ‘wonder:83edc72d-1b3c-4531-815a-b80bf58efe07’ 错误。
    答: svn propdel svn:sync-lock –revprop -r 0 http://www.onoboss.com/svn/chs
  3. svnsync: Destination HEAD (1021) is not the last merged revision (1019); have you committed to the destination without using svnsync
    答:svn propset –revprop -r0 svn:sync-last-merged-rev 1021 http://www.onoboss.com/svn/chs

参考链接

http://gregoire.org/2008/09/03/fun-with-svnsync-and-googlecode/

iowait

2010年06月16日 上午 55:47 | 作者:

%iowai表示CPU用于等待i/o请求结果的百分比,CPU的状态是空闲。但是较高的%iowait并不一定表明系统中磁盘是瓶颈,只是说明当前运行的应用是IO密集型的应用,通过增加CPU密集型的操作可以使%iowait降到0,另外较低的%iowait也不意味着不是瓶颈,总之,%iowait 不是一个磁盘性能的衡量指标。
db.s0

PHP5.3 fpm(PHP FastCGI Process Manager)安装

2010年06月11日 下午 44:08 | 作者:

手动下载几个依赖包:

[shell]wget http://mirrors.sohu.com/ubuntu/pool/main/k/krb5/libkrb53_1.6.dfsg.4~beta1-5ubuntu2_i386.deb
wget http://mirrors.sohu.com/ubuntu/pool/main/i/icu/libicu38_3.8-6ubuntu0.2_i386.deb[/shell]

安装:

[shell]sudo dpkg -i *.deb[/shell]

加入php5源

[shell]sudo echo “deb http://php53.dotdeb.org stable all” >> /etc/apt/sources.list[/shell]

更新源

[shell]sudo apt-get update[/shell]

apt安装

[shell]sudo apt-get install php5-cli php5-common php5-suhosin
sudo apt-get install php5-fpm php5-cgi
[/shell]

如果需要安装php5-mcrypt ,php5-dev,需要手动安装以下依赖包

[shell]# apt-get install php5-mcrypt
wget http://mirrors.sohu.com/debian/pool/main/libt/libtool/libltdl3_1.5.26-4+lenny1_i386.deb
# apt-get install php5-dev
wget http://mirrors.sohu.com/ubuntu/pool/main/libt/libtool/libtool_1.5.26-1ubuntu1_i386.deb[/shell]

Postfix邮件服务

2010年06月11日 上午 16:38 | 作者:

查看端口占用:

[shell]lsof -i:25[/shell]

安装postfix:

[shell]apt-get install postfix[/shell]

选择INTERNET Site模式,收发邮件都使用smtp协议

只允许本地发送邮件(否则被坏人利用来发垃圾邮件),编辑/etc/postfix/main.cf

inet_interfaces = all
inet_interfaces = localhost

Munin监控系统

2010年06月10日 上午 29:19 | 作者:

[toc]

监控地址

http://61.164.186.242/munin/

关键字

munin ubuntu9.10(想了解一个程序怎么安装,请直接google:[软件名称] [Linux系统版本])

任务

监控一组服务器,知道他们的运行状态(CPU/内存/磁盘/web服务/MySQL)

方案

  1. munin
  2. cacti
  3. nagios
  4. zenoss

原理

如果你想知道你老婆的状态,想知道她在QQ上和谁聊天?方案:

  1. 安插奸细,收集数据:给她的电脑装木马!让QQ中你的毒……
  2. 获取数据
    1. push 被动接受:让木马定时发送截获的QQ号码到你的电脑
    2. pull 主动获取  :你定时访问木马给你开放的后门,获取最新的数据

监控软件的原理大抵如此:

  1. 被控端,配置网络管理协议snmp服务,监听161端口,设置那些ip,ip段能够访问机器的隐私信息。
  2. 主控端,定时访问被控端的snmp端口161,获取被控端的数据;
  3. 有了这些数据,你就能够绘图,报警……

安装配置

选择munin,主要是因为配置简单,插件丰富,其他的软件的配置安装很麻烦,默认只提供很少的几种监控数据(内存/cpu/磁盘/load);
munin并没有使用通用的网络管理协议snmp,而是采用了自己的mnuin-node,在被控端监听4949端口。

  1. 被控端[mnuin-node] 61.164.186.241 61.164.186.242 61.164.186.246
    1. 安装软件 [shell]apt-get install munin-node[/shell]
    2. 编辑配置 [shell]vim /etc/munin/munin-node.conf[/shell]
      1. 允许主控端IP访问,添加一行:[shell] allow ^61\.164\.186\.242$[/shell]
    3. 重启服务,使配置生效 [shell]/etc/init.d/munin-node restart[/shell]
  2. 主控端[munin] 61.164.186.242
    1. 安装软件 [shell]apt-get install munin[/shell]
    2. 修改配置 [shell] vim /etc/munin/munin.conf [/shell]
      1. 添加被控端主机
    3. [shell][db.s0.tdwan]
      address 127.0.0.1
      use_node_name yes

      [web.s0.tdwan]
      address 61.164.186.241
      use_node_name yes

      [ajax.s0.tdwan]
      address 61.164.186.246
      use_node_name yes[/shell]

    4. 重启服务,使配置生效 [shell]/etc/init.d/munin restart[/shell]

每5分钟,munin会依次访问被控端,获取被控端的数据,然后生成最新的统计html数据到/var/www/munin

安装插件

插件目录:/usr/share/munin/plugins/
插件配置:/etc/munin/plugin-conf.d/munin-node

测试插件1(建议):

[shell]munin-node-configure –suggest

Plugin                     | Used | Suggestions
——                     | —- | ———–
acpi                       | no   | [thermal not supported by ACPI]
apache_accesses            | no   | [no apache server-status or ExtendedStatus missing on ports 80]
apache_volume              | no   | [no apache server-status or ExtendedStatus missing on ports 80]
courier_mta_mailqueue      | no   | [spooldir not found]
courier_mta_mailstats      | no   | [could not find executable]
courier_mta_mailvolume     | no   | [could not find executable]
cupsys_pages               | no   | [could not find logdir]
[/shell]

Suggestions列:插件能不能用,是否需要安装支持库,密码是否正确……

测试插件2(运行):

[shell]munin-run [插件名]

load.value 0.00
[/shell]

如果能够返回:xx.value,那就肯定没问题了!

启用插件:

[shell]ln -sf /usr/share/munin/plugins/[插件文件] /etc/munin/plugins/[插件文件][/shell]

参考链接

官方:http://munin-monitoring.org/
插件:http://exchange.munin-monitoring.org/
安装:http://library.linode.com/server-monitoring/munin/ubuntu-9.10-karmic