Xen 128M yum内存不足解决

setenforce 0 >> /dev/null 2>&1
echo "exclude=filesystem">>/etc/yum.conf
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
sed -i -e "s/enabled=1/enabled=0/g" /etc/yum/pluginconf.d/fastestmirror.conf
小内存下用centos有点蛋痛,各位小内存玩家还是用debian或者加大内存


sshfs通过ssh挂载远程目录到本地

SSH 是一个强大且安全的工具,我们除了可以用它来远程管理主机外,还可以通过它建立 SSH tunnel 作 Proxy 用,远程传输文件等等。而这里我想要介绍另外一个功能,那就是结合 sshfs 这个工具可以把远程主机的文件系统映射到本地主机上,透过 SSH 把远程文件系统挂载到本机上,这样我们可以不必使用 scp 工具就可以做到直接复制及删除远程主机的文件了,就像操作本地磁盘一样方便。

sshfs 是基于 FUSE 构建的 SSH 文件系统客户端程序,通过它远程主机的配置无需作任何改变,就可以透过 SSH 协议来挂载远程文件系统了,非常方便及安全。

主页:http://fuse.sourceforge.net/sshfs.html

Ubuntu 上安装:

sudo apt-get install sshfs

挂载远程 ssh 文件系统:

sshfs -o transform_symlinks -o follow_symlinks user@hostname:/远程路径 /本地路径

sshfs root@hostname:/远程路径 /本地路径

-o transform_symlinks 表示转换绝对链接符号为相对链接符号
-o follow_symlinks 沿用服务器上的链接符号

更多参数请 man sshfs ,如果碰到其它问题请参考官方的 FAQ

如果你想不输入密码的话,请使用 SSH key 认证方式。

执行命令后就可以像操作本地磁盘一样操作这个映射的磁盘了。

PS: 其实 FreeBSD 上也有此工具,Ports : /usr/ports/sysutils/fusefs-sshfs

linux修改ssh端口和禁止root远程登陆设置

linux修改ssh端口22
vi /etc/ssh/sshd_config
找到#port 22
将前面的#去掉,然后修改成其他端口
比如:port 1890
为增强安全和管理方便
增加一个普通权限的用户,并设置密码
useradd 您自己的帐户
passwd 您自己的密码
帐户和密码不建议使用单词/常见词/有规则性的字符
然后禁止ROOT远程SSH登录:
vi /etc/ssh/sshd_config
把其中的
PermitRootLogin yes
修改为
PermitRootLogin no
最后重启sshd服务
service sshd restart

Linux查看系统配置常用命令

系统

# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量

资源

阅读剩余部分...

CentOS安装crontab及使用方法

安装crontab:
yum install crontabs

说明:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置

查看crontab服务状态:service crond status

手动启动crontab服务:service crond start

查看crontab服务是否已设置为开机启动,执行命令:ntsysv

加入开机自动启动:
chkconfig --level 35 crond on

1,crontab命令

功能说明:设置计时器。

语  法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:
Minute Hour Day Month DayOFWeek Command

参  数:
-e  编辑该用户的计时器设置。
-l  列出该用户的计时器设置。
-r  删除该用户的计时器设置。
-u<用户名称>  指定要设定计时器的用户名称。

2,crontab 格式

基本格式 :
* *  *  *  *  command
分 时 日 月 周  命令

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列 表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

crontab文件的一些例子:

30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启 apache。

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、 10、22日的4 : 45重启apache。

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每 隔一小时重启apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三 的11点重启apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache

*/30 * * * * /usr/sbin/ntpdate 210.72.145.44
每半小时同步一下时间

Linux系统安装RAR

1
2
3
4
5
wget http://www.rarsoft.com/rar/rarlinux-3.9.3.tar.gz
tar -xvf rarlinux-3.9.3.tar.gz
cd rar
make
cp rar_static /usr/local/bin/rar

centos下添加IP地址实例

操作如下,登陆SSH:

vi /etc/syscionfig/network-scripts/ifcfg-eth0:0

第二个IP,就是

vi /etc/syscionfig/network-scripts/ifcfg-eth0:1

第三个IP,就是
ifcfg-eth0:2(由此类推)

DEVICE=eth0:0 网卡设备名称
onboot=YES    随机启动
BOOTPROTO=static  静态分配IP
IPADDR=*.*.*.*  要添加的IP地址
NETMASK=255.255.255.0  子网掩码(以实际为准)
GATEWAY=*.*.*.*  路由

如果IP是连续的,可以使用下面的方法。

vi /etc/sysconfig/network-scripts/ifcfg-eth0-range
DEVICE=eth0
BOOTPROTO=static
IPADDR_START=起始IP
IPADDR_END=结束IP
CLONENUM_START=网卡起始编号
NETMASK=子网掩码
ONBOOT=yes

保存文件然后重启网络服务立即生效

/etc/init.d/network restart

centos add IP addresses

关于HVM和KVM VPS

HVM是属于XEN,XEN则分为半虚拟化环境(Xen PV)和全虚拟化环境(Xen HVM), 全虚拟化环境可以支持Windows Freebsd 以及各大Linux的发行版都可以使用ISO来自主安装DIY系统,而半虚拟化的系统则只支持Linux的发行版,可以说是专业Linux版!

KVM是在近几年才进入了RedHat和Centos的核心属于后起之秀,而XEN出现的要早所以更加成熟稳定!

KVM和HVM一些明显相同点都是全虚拟化的环境可以安装Windows freebsd Linux的各大发现版,这点很类似。一些明显不同之处就是Xen和Kvm的资源分配模式差异就是对内存的分配,XEN是采用完全独立式分割内存给vps,而Kvm则是增量式的分配内存给VPS,这样一来就充分发挥宿主服务器的内存资源!Xen和Kvm的内核不一样这个就不用说了 !

KVM的起步比较晚,和xen比还不够完善,技术普及度还有很长的路走!

我们的KVM VPS也将会在短期内上架,敬请关注!

使用netstat判断网络连接数状况

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#查看所有80端口的连接数
netstat -nat|grep -i ":80"|wc -l
 
#对连接的IP按连接数量进行排序
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
 
#查看TCP连接状态
netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn
netstat -n | awk '/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}' 
netstat -n | awk '/^tcp/ {++state[$NF]}; END {for(key in state) print key,"\t",state[key]}'
netstat -n | awk '/^tcp/ {++arr[$NF]};END {for(k in arr) print k,"\t",arr[k]}'
netstat -n |awk '/^tcp/ {print $NF}'|sort|uniq -c|sort -rn
netstat -ant | awk '{print $NF}' | grep -v '[a-z]' | sort | uniq -c
 
#查看80端口连接数最多的20个IP
netstat -anlp|grep 80|grep tcp|awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20
netstat -ant |awk '/:80/{split($5,ip,":");++A[ip[1]]}END{for(i in A) print A,i}' |sort -rn|head -n20
 
#用tcpdump嗅探80端口的访问看看谁最高
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr |head -20
 
#查找排列较多time_wait连接
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
netstat -n|grep TIME_WAIT|awk '{print $5}'|sort|uniq -c|sort -rn|head -n20
#查找排列较多的SYN连接
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq -c | sort -nr | more

Linux防止PHPDDOS流量外出攻击

1
2
3
4
5
#!/bash/sh
DNSIP=`cat /etc/resolv.conf |grep nameserver |awk 'NR==1{print $2 }'`
iptables -A OUTPUT -p udp -j DROP
iptables -I OUTPUT -p udp --dport 53 -d $DNSIP -j ACCEPT
iptables-save

 

 

保存为脚本或者直接运行

脚本意思是,从resolv获取本地dns地址,用iptables封udp out所有端口,最后再开放dns 53号端口,从而达到防止DDOS对外攻击

mknod

mknod:
mknod 装置名称 [bcp] [Major] [Minor]
参数:
装置种类:
b :设定装置名称成为一个周边储存设备档案,例如硬盘等;
c :设定装置名称成为一个周边输入设备档案,例如鼠标/键盘等;
p :设定装置名称成为一个 FIFO 档案;
Major :主要装置代码;
Minor :次要装置代码;
范例:
范例一:建立 /dev/hda10 这个磁盘储存装置
[root@linux ~]# mknod /dev/hda10 b 3 10
# 上面那个 3 与 10 是有意义的,不要随意设定啊!


在 Linux 底下所有的装置都以档案来代表, 但是那个档案如何代表该装置呢?很简单!就是透过档案的 major 与 minor 数值来替代的~所以,那个 major 与 minor 数值是有特殊意义的, 不是随意设定的喔!举例来说,创建raw设别:mknod /dev/raw/raw1 c 162 1,如果以硬盘装置来说明,那么 /dev/hda 到 /dev/hdd 的 major 与 minor 代码是:
硬盘代号 Major Minor
/dev/hda 3 0~63
/dev/hdb 3 64~127
/dev/hdc 22 0~63
/dev/hdd 22 64~127

e2label(改标头名称):
e2label 装置名称 新的Label名称
[root@linux ~]# e2label /dev/hdb5 hdb5

mknod fd0 b 2 0
mknod fd1 b 2 1
mknod hda b 3 0
mknod hda1 b 3 1
mknod hda2 b 3 2
mknod hda3 b 3 3
mknod hda4 b 3 4
mknod hda5 b 3 5
mknod hda6 b 3 6
mknod hda7 b 3 7
mknod hda8 b 3 8
mknod hdb b 3 64
mknod hdb1 b 3 65
mknod hdb2 b 3 66
mknod hdb3 b 3 67
mknod hdb4 b 3 68
mknod hdb5 b 3 69
mknod hdb6 b 3 70
mknod hdb7 b 3 71
mknod hdb8 b 3 72
mknod hdc b 22 0
mknod hdc1 b 22 1
mknod hdc2 b 22 2
mknod hdc3 b 22 3
mknod hdc4 b 22 4
mknod hdc5 b 22 5
mknod hdc6 b 22 6
mknod hdc7 b 22 7
mknod hdc8 b 22 8
mknod hdd b 22 64
mknod hdd1 b 22 65
mknod hdd2 b 22 66
mknod hdd3 b 22 67
mknod hdd4 b 22 68
mknod hdd5 b 22 69
mknod hdd6 b 22 70
mknod hdd7 b 22 71
mknod hdd8 b 22 72
mknod sda b 8 0
mknod sda1 b 8 1
mknod sda2 b 8 2
mknod sda3 b 8 3
mknod sda4 b 8 4
mknod sda5 b 8 5
mknod sda6 b 8 6
mknod sda7 b 8 7
mknod sda8 b 8 8
mknod sdb b 8 16
mknod sdb1 b 8 17
mknod sdb2 b 8 18
mknod sdb3 b 8 19
mknod sdb4 b 8 20
mknod sdb5 b 8 21
mknod sdb6 b 8 22
mknod sdb7 b 8 23
mknod sdb8 b 8 24
mknod sr0 b 11 0
mknod sr1 b 11 1
mknod tty c 5 0
mknod console c 5 1
mknod tty1 c 4 1
mknod tty2 c 4 2
mknod tty3 c 4 3
mknod tty4 c 4 4
mknod ram b 1 1
mknod mem c 1 1
mknod kmem c 1 2
mknod null c 1 3
mknod zero c 1 5

解决php服务器时区差异问题

 方法1、在php代码中增加如下命令:
<?php
date_default_timezone_set('PRC');//其他东八去时间表示均可
?>
方法2、配置php.ini文件,设置如下:
date.timezone=PRC; //中国:PRC如果没有此项在任意位置添加即可,添加后别忘记重启web服务器

东八区时区可用的有Asia/Chongqing、 Asia/Chungking、Asia/Hongkong、Asia/Shanghai、Asia/Taipei、PRC、Etc/GMT+8等

KVM/HVM 系列VPS安装系统说明

 VPS控制面板截图(基于HVM系列),全中文面板,管理方便上手快。

我们的Windows VPS是基于HVM和KVM架构,HVM和KVM架构的VPS均可以自行通过系统ISO光盘映像安装Windows Linux FreeBSD系统,自由度非常的高!

相关VPS围观地址:http://www.kvm.la/win.html

下面是控制面板截图:

vps1.png

 

 本文主要说明一下HVM和KVM系统安装,面板已经集成了ssh和VNC控制台,仅需要到http://www.java.com下载java系统安装到您的电脑就可以使用了!

方法1(不适用于KVM架构):

 通过【VPS管理区】的重装系统快速安装预装系统:

vps2.png

 

方法二(KVM和HVM均适用):

通过使用ISO来自行安装系统,全虚拟化的VPS对windows linux bsd的系统都支持,这里只说如何引导进入安装系统,至于windows linux freebsd等各种系统的安装教程就不累赘了!

 如下面截图演示: ①设置硬盘和光驱启动顺序为CD-ROM,②选择挂载您要安装的系统ISO

vps4.png

设置好光驱后重启VPS,进入VNC控制台开始引导安装系统,如下图所示:

vps5.png

 

进入CD引导模式后就和您在本机电脑上安装系统一样,系统安装过程中配置网络的时候选择DHCP就可以自动完成网络连接!

至于一些系统安装教程我们会在后面适当更新发布!

 

 

用linux下常用命令wget进行整站下载(递归下载至本地)

wget加上参数之后,即可成为相当强大的下载工具。

wget -r -p -np -k http://xxx.com/abc/

-r,  --recursive(递归)          specify recursive download.(指定递归下载)
-k,  --convert-links(转换链接)      make links in downloaded HTML point to local files.(将下载的HTML页面中的链接转换为相对链接即本地链接)
-p,  --page-requisites(页面必需元素)    get all images, etc. needed to display HTML page.(下载所有的图片等页面显示所需的内容)
-np, --no-parent(不追溯至父级)          don't ascend to the parent directory.

另外断点续传用-nc参数 日志 用-o参数

安装denyhosts防止被扫口令

概述: 现在的互联网非常不安全,很多人没事就拿一些扫描机扫描ssh端口,然后试图连接ssh端口进 行暴力破解(穷举扫描),所以建议vps主机的空间,尽量设置复杂的ssh登录 密码!
 那么有什么办法设法阻止这些,就可以使用denyhosts这款软件了,DenyHosts是 Python语言写的一个程序,它会分析SSHD的日志文件,当发现重复的攻击时就会记录IP到/etc/hosts.deny文件,从而达到自动屏蔽 IP的功能。
DenyHosts官方网站为:http://denyhosts.sourceforge.net
目的: 阻止非授权的大量访问我们的ssh端口,造成负载过高
环境:vps主机 使 用型 centos5系统
安装:
一、使用原代码安装
1、下载原文件且解压
wget http://downloads.sourceforge.net/denyhosts/DenyHosts-2.6.tar.gz
tar zxvf DenyHosts-2.6.tar.gz
cd DenyHosts-2.6
2、安装、配置和启动
python setup.py install
默认是安装到/usr/share/denyhosts/目录的,进入相应的目录修改配置文件
cd /usr/share/denyhosts/
cp denyhosts.cfg-dist denyhosts.cfg
cp daemon-control-dist daemon-control
默认的设置已经可以适合centos系统环境,你们可以使用vi命令查看一下denyhosts.cfg和daemon-control,里面有详 细的解释
接着使用下面命令启动denyhosts程序
chown root daemon-control
chmod 700 daemon-control
./daemon-control start
如果要使DenyHosts每次重起后自动启动还需做如下设置:
cd /etc/init.d
ln -s /usr/share/denyhosts/daemon-control denyhosts
chkconfig --add denyhosts
chkconfig --level 2345 denyhosts on
或者修改/etc/rc.local文件:
echo "/usr/share/denyhosts/daemon-control start" >> /etc/rc.local
DenyHosts配置文件denyhosts.cfg说明:
SECURE_LOG = /var/log/secure
 
#sshd日志文件,它是根据这个文件来判断的,不同的操作系统,文件名稍有不同。
 
HOSTS_DENY = /etc/hosts.deny
 
#控制用户登陆的文件
 
PURGE_DENY = 5m
 
#过多久后清除已经禁止的
 
BLOCK_SERVICE = sshd
 
#禁止的服务名
 
DENY_THRESHOLD_INVALID = 1
 
#允许无效用户失败的次数
 
DENY_THRESHOLD_VALID = 10
 
#允许普通用户登陆失败的次数
 
DENY_THRESHOLD_ROOT = 5
 
#允许root登陆失败的次数
 
HOSTNAME_LOOKUP=NO
 
#是否做域名反解
 
DAEMON_LOG = /var/log/denyhosts
 
#DenyHosts的日志文件
更多的说明请查看自带的README文本文件。
二、使用yum命令安装
1、下载和安装EPEL RPM
cd /tmp
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
rpm -Uhv epel-release-5-3.noarch.rpm
2、使用yum命令安装denyhosts
yum install denyhosts
主要配置文件/etc/denyhosts.cfg ,您可以看看,确保配置合适你的环境
3、添加系统启动自动运行
chkconfig --add denyhosts
chkconfig denyhosts on
如何你想把某个ip或者ip段放入白名单,可以使用下列命令,这样就可以避免把自己的ip阻止了
echo '208.85.151.*' >> /var/lib/denyhosts/allowed-hosts
这样208.85.151.*就可以不受到此程序的约束,请根据自己的环境进行设置
4、最后启动服务
service denyhosts start