未来往事
每一天,努力让梦想更近一些,遇见更好的未来。 [2017年 第50周/共52周]

2台机器之间的端口转发iptables

2台机器之间的端口转发iptables方式实现,场景:

两台机器,A机器能正常访问,B机器不能直接被访问,所以希望用A机器进行端口转发间接访问B机器,大致思路:
路由器 —— 指定端口nat到 ———- A机器————-iptables nat 到 ——————B机器的端口

iptables -t nat -A PREROUTING -i em3 -p tcp —dport 5080 -j DNAT —to 192.168.0.230:80
(后面这个ip是B机器的ip加端口,前面的em3是A机器的数据经过的网卡 5080是访问A机器的5080端口就转发到后面机器来)

iptables -t nat -A POST



......
+阅读全文

Nginx限制并发连接数和白名单配置-提升整体并发

背景/需求:

恶意攻击、恶意采集、恶意刷页面
秒杀、抢购并发连接限制、队列缓冲
web下载带宽限制、web请求速率限制
CC攻击

Nginx连接数限制模块:

说明:Nginx有很多模块、模块下面又分很多指令,下面就说说limitconn_zone和limit_conn两指令

limit_conn_zone模块指令配置

Nginx http模块中添加
http{
……………………
limit_conn_zone $binary_remote_addr zone=perip:10m;
limit_conn_zone $server_name zone=perserver:10m;

server{
……………………
}
}
PS:配置区域名称为perip、perserver,















......
+阅读全文

phpmyadmin Error during session start

错误详细描述:
phpMyAdmin - Error
Error during session start; please check your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
错误截图:
点击在新窗口中浏览此图片

系统环境:
centos7 apache

错误原因分析:
服务端无法写入se......
+阅读全文

linux查找替换目录下文件中包含的字符串-sed命令

linux查找替换目录下文件中包含的字符串-sed命令

查找文件夹下包含字符串的文件
例:查找/opt/web/blog目录下所有包含”demo.fity.cn”的文件。
grep -lr 'demo.fity.cn' /opt/web/blog/*


vim替换单个文件中所有字符串方法
例:替换当前文件中所有demo为blog
:%s/demo/blog/g
#注释:%表示替换说有行,g表示替换一行中所有匹配点


替换文件夹下包含字符串的文件
sed结合grep,例:将目录/opt/web/blog下所有文件中的demo.fity.cn都替换为fity.cn:
sed -i "s/demo.fity.cn/fity.cn/g" `grep de
......
+阅读全文

SSH连接端口及监听IP地址修改

......
+阅读全文

Windows系统下访问Linux系统格式分区

linux系统下大多数都是用ext3/ext4文件系统系统,许多流行的linux发行版默认的文件系统就是ext3/ext4,正常我们在windows下是无法识别ext3/ext4分区.导致我们想要提取一些数据的时候而有心无力.Ext2Fsd可以让你在Windows系统中挂在linux的分区。

这里推荐两款可以在windows系统下识别linux分区格式的软件
1、Ext2Read 是一个能够读取etc2/etx3/ext4文件系统的工具。他支持LVM2和Ext4.可以查看和复制文件和文件夹,递归复制整个文件夹。
......
+阅读全文

cacti不出图无数据常见错误问题解决

最后更新时间:2013-09-09
  • 2013-05-07 发布到博客
  • 2013-09-09 最后更新


使用cacti监控工具的朋友都经常会遇到这样的问题,比如说无图像或者无数据等。今天遇到cacti不出图无数据,总结排查思路如下:
1、图像没有生成,运行#/usr/local/webserver/php5320/bin/php /htdoc/cacti/cacti/poller.php --force 看看是否成功,并查看日志记录了什么错误
2、system utilities -->Rebuild poller cache
3、系统时间不准确,重新设置时间
4、权限问题,修改权限#chmod 777 -R /srv/www/htdocs/cacti/rra
......
+阅读全文

CentOS下yum安装配置samba服务

Samba 是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
这些年来,Windows 和Linux 操作系统各自拥有自己的用户群和市场。然而在一般的公司或学校里,可能同时有Windows 和Linux 操作系统的主机。Windows 主机彼此间可利用“网上邻居”来访问共享的资源,NFS也能使Linux 主机之间实现资源共享。但如何能使Windows 主机和Linux主机之间实现资源共享呢?
微软的“网上邻居(就是Windows 上利用SMB通信协议实现资源共享的程序)”一经推出,便广受用户的好评,大家突然觉得原来要在网上共享资源尽是那么简单,有鉴于此,便有一些Linux 爱好者开始在Linux 主机上实现SMB通信协议,后来这个实现了SMB功能的软件既被称为 Samba ,它使得Windows 主机和Linux主机之间实现了资源共享。

注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目录拥有充分的读写权限属性,读者可顺着本文的思路完成基本配置流程,如需复杂读写权限功能请自行google。

系统信息约定:
操作系统:CentOS 6.3 X64
共享目录:/share/fity.cn

1、使用yum命令安装samba
# yum -y install samba     //-y参数:如遇询问自动选择y,全自动下载并安装samba

2、检查samba服务包的安装情况
# rpm -qa | grep samba
samba-common-3.0.33-3.7.el5_3.1    //服务器和客户端均需要的文件
samba-3.0.33-3.7.el5_3.1                 //服务器端文件

3、用whereis命令查看samba安装位置
# whereis samba
samba: /etc/samba /usr/lib/samba /usr/share/samba /usr/share/man/man7/samba.7.gz

4、配置samba服务
# vi /etc/samba/smb.conf
(1)[global]    //找到全局设置标签,在下面进行配置
workgroup =  WORKGROUP  //说明:设定 Samba Server 所要加入的工作组或者域
server string = Samba Server Version %v  //说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。
; hosts allow = 192.168.1. 192.168.2. 127. 找到此行,去掉行首的“;”,并制定访问限制改为hosts allow = 192.168.1. 127.,指定内网IP地址及本地,只允许这两种情况的访问
security = user
说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。
1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。
2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。

(2)配置最简单访问目录几个基本属性:
[share]    windows客户端查看时看到的文件夹名
path = /share/fity.cn    共享目录位置,要系统中存在的目录,也可以配置完再创建
read only = no
public   = yes

5、给配置的共享目录设置权限:
# mkdir /var/samba/share       如刚才配置的共享目录不存在则创建
# chown -R nobody. /var/samba/share       设置共享目录归属为 nobody
# chmod 777 /var/samba/share       将共享目录属性设置为 777

6、配置登录用户信息
+阅读全文

Can't locate DBI.pm in @INC (@INC contains: /usr/lib/perl错误解决方法

在安装使用mysqlsla时遇到了这个常见的错误,错误大致描述如下:
[root@vpn mysqlsla-2.03]# mysqlsla -lt slow /opt/slow.log | more
Can't locate DBI.pm in @INC (@INC contains: /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl /usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at /usr/bin/mysqlsla line 2098.
BEGIN failed--compilation aborted at /usr/bin/mysqlsla line 2098.


错误......
+阅读全文

Can't locate ExtUtils/MakeMaker.pm OR Time/HiRes.pm in @INC解决方法

在编译安装mysqlsla遇到如下错误提示,该错误缺少依赖的包文件所致。解决方法如下:

错误提示一:
[root@monitor mysqlsla-2.03]# perl Makefile.PL   //perl脚本检查包依赖关系
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 2.
BEGIN failed--compilation aborted at Makefile.PL line 2.

缺少perl-ExtUtils-MakeMaker依赖包,安装即可

[root@localhost mysqlsla-2.03]# yum insta......
+阅读全文

make错误:warning:Clock skew detected.Your build may be incomplete解决方法

错误信息:
今天在编译pam_mysql软件时遇到错误:(cd .libs && rm -f pam_mysql.la && ln -s ../pam_mysql.la pam_mysql.la) make: warning:  Clock skew detected.  Your build may be incomplete.错误解决方法

原因分析:
原因是,当前系统的时间还在编译目录中的文件(包括源程序文件和编译后生成的.o目标文件)最后修改时间之前,比如我用“date”命令查看到的时间为2012年12月19日,而目录中文件最后的修改时间为2012年12月20日。
......
+阅读全文

关闭selinux 不重启机器关闭selinux 查看selinux状态

linux查看SELinux的状态及不重启机器关闭selinux

查看SELinux当前状态的命令:
#getenforce
例如,输出:Disabled   //为关闭状态

#/usr/bin/setstatus -v
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:  
......
+阅读全文

CentOS安装为简体中文后设置支持英文

CentOS安装时选择为简体中文,完成后设置支持英文或中文方法:
修改配置文件:
#vi /etc/sysconfig/i18n
中文
LANG="zh_CN.gb2312"
或者
LANG="zh_CN.GB18030"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en:zh_CN.GB18030"
SYSFONT="latarcyrheb-sun16"
英文
LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"


重新加载配置
#source /etc/sysconfig/i18n


如果安装时选择的是英文,后期需要支持中文可以使用yun安装以下两个包:
#yum install fonts-chinese-3.02-12.el5.noarch
......
+阅读全文

CentOS终端字符界面下乱码解决方法

今天刚装的Centos系统,安装时选择的语言为简体中文,安装完成后使用SecureCRT终端远程访问CentOS linux主机时,出现乱码现象,下面就分享下最后解决的方法:

一:终端乱码问题:
# vi /etc/sysconfig/i18n
进入编辑状态,添加如下内容:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"

保存退出并执行如下命令使配置生效:
# source /etc/sysconfig/i18n


二:linux系统下字符界面乱......
+阅读全文

configure make clean make distclean make install区别及说明

configure make make clean make distclean make install make distcheck 说明及区别

configure
源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系等

Makefile
在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作

make
根据Makefile编译源代码,连接,生成目标文件,可执行文件。

make clean
清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。即清除之前编译的可执行文件及配置文件。

make......
+阅读全文