标签归档:centos

CentOS6使用yum搭建VPN

第一步:检查
如果检查结果没有这些支持的话,是不能安装pptp的。执行指令:
#modprobe ppp-compress-18 && echo ok
这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:
#cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state
上述两条均通过,才能安装pptp。否则就只能考虑openvpn,或者请你的服务商来解决这个问题。
注意:如果你显示的不是这个文本,而是别的,可能显示的就不一样,这是版本问题,(如你安装的简体中文可能就会出现error之类的一句话。)
#rpm -q ppp //查询当前系统的ppp是否默认集成了,以及ppp的版本

第二步:安装
1.安装ppp和iptables
PPTPD要求Linux内核支持mppe,一般来说CentOS安装时已经包含了
#yum install perl ppp iptables //centos默认安装了iptables和ppp
#chkconfig iptables on
#service iptables start
2.安装pptpd
#rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
#yum install pptpd
#chkconfig pptpd on
#service pptpd start
以下命令检查PPP是否支持MPPE:
#strings ‘/usr/sbin/pppd’ |grep -i mppe | wc –lines
如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。

第三步:配置
开启路由转发
#vim /etc/sysctl.conf
修改
net.ipv4.ip_forward = 1
执行:
#sysctl -p 让修改的内核参数生效

配置
#vi /etc/ppp/options.pptpd
修改:
ms-dns 8.8.8.8
ms-dns 8.8.4.4

#vi /etc/pptpd.conf
修改 :
localip 10.8.8.1 为vpn管道的ip (VPN主机IP)
remoteip 10.8.8.2-245 为给客户端连接分配的ip地址范围

添加账号
#echo -e ‘vpntest pptpd vpntestpassword *’ >> /etc/ppp/chap-secrets
注:chap-secrets保存的信息客户端连接信息依次是:用户名,服务名,密码,允许的ip。服务名在options.pptpd的name定义,默认为pptpd

iptables 配置
#iptables -A INPUT -p tcp –dport 22 -j ACCEPT #SSH使用的端口
#iptables -A INPUT -p tcp –dport 1723 -j ACCEPT
#iptables -A INPUT -p tcp –dport 47 -j ACCEPT
#iptables -A INPUT -p gre -j ACCEPT
#iptables -A POSTROUTING -t nat -s 10.8.8.0/24 -o eth0 -j MASQUERADE
#service iptables save
#service iptables restart

dig,深入挖掘网站域名下隐藏的秘密

Dig命令简介:
Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。

Dig命令安装(CentOS):

yum install bind-utils

最简单的用法:

[root@x360 ~]# dig

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>>
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55297
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;.                              IN      NS

;; ANSWER SECTION:
.                       10845   IN      NS      c.root-servers.net.
.                       10845   IN      NS      h.root-servers.net.
.                       10845   IN      NS      m.root-servers.net.
.                       10845   IN      NS      i.root-servers.net.
.                       10845   IN      NS      a.root-servers.net.
.                       10845   IN      NS      l.root-servers.net.
.                       10845   IN      NS      b.root-servers.net.
.                       10845   IN      NS      j.root-servers.net.
.                       10845   IN      NS      e.root-servers.net.
.                       10845   IN      NS      g.root-servers.net.
.                       10845   IN      NS      k.root-servers.net.
.                       10845   IN      NS      d.root-servers.net.
.                       10845   IN      NS      f.root-servers.net.

;; Query time: 30 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Oct 12 00:46:09 2013
;; MSG SIZE  rcvd: 228

用DNS查看某域名下所有A记录:

[root@x360 ~]# dig -t A @8.8.8.8 www.chnlanker.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> -t A @8.8.8.8 www.chnlanker.com
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25575
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.chnlanker.com.             IN      A

;; ANSWER SECTION:
www.chnlanker.com.      120     IN      CNAME   www.chnlanker.com.h1.aqb.so.
www.chnlanker.com.h1.aqb.so. 60 IN      A       220.181.135.218

;; Query time: 618 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Oct 12 00:56:14 2013
;; MSG SIZE  rcvd: 92

命令格式:

dig @dnsserver name querytype

如果你设置的dnsserver是一个域名,那么dig会首先通过默认的上连DNS服务器去查询对应的IP地址,然后再以设置的dnsserver为上连DNS服务器。
如果你没有设置@dnsserver,那么dig就会依次使用/etc/resolv.conf里的地址作为上连DNS服务器。
而对于querytype可以设置A/AAAA/PTR/MX/ANY等类型,默认是查询A记录。

一些常用的选项:
-t选项,用来设置查询类型,默认情况下是A,也可以设置MX等类型。
-c选项,可以设置协议类型(class),包括IN(默认)、CH和HS。
-f选项,dig支持从一个文件里读取内容进行批量查询,文件内容一行为一个查询请求。
-4和-6选项,用于设置仅适用哪一种作为查询包传输协议(IPv4和IPv6)。
-q选项,可以显式设置你要查询的域名,这样可以避免和其他众多的参数、选项相混淆,提高了命令的可读性。
-x选项,是逆向查询选项。可以查询IP地址到域名的映射关系。

dig特有的查询选项(query option)
dig还有一批“查询选项”,这批选项的使用与否,会影响到dig的查询方式或输出的结果信息,因此对于这批选项,dig要求显式的在其前面统一的加上一个“+”(加号),这样dig识别起来会更方便,同时命令的可读性也会更强。
dig总共有42个查询选项,涉及到DNS信息的方方面面,如此多的查询选项,本文不一一赘述,在些只挑出常用的几个来讲解:

TCP代替UDP
众所周知,DNS查询过程中的交互是采用UDP的。如果你希望采用TCP方式,需要这样:

[root@x360 ~]# dig +tcp www.chnlanker.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> +tcp www.chnlanker.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59430
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.chnlanker.com.             IN      A

;; ANSWER SECTION:
www.chnlanker.com.      120     IN      CNAME   www.chnlanker.com.h1.aqb.so.
www.chnlanker.com.h1.aqb.so. 60 IN      A       220.181.135.218

;; Query time: 626 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Oct 12 01:02:09 2013
;; MSG SIZE  rcvd: 92

默认追加域

[root@x360 ~]# dig +domain=chnlanker.com club

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> +domain=chnlanker.com club
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30868
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;club.chnlanker.com.            IN      A

;; ANSWER SECTION:
club.chnlanker.com.     600     IN      CNAME   club.chnlanker.com.h1.aqb.so.
club.chnlanker.com.h1.aqb.so. 60 IN     A       220.181.135.218

;; Query time: 721 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Sat Oct 12 01:04:59 2013
;; MSG SIZE  rcvd: 94

跟踪dig全过程
dig非常著名的一个查询选项就是+trace,当使用这个查询选项后,dig会从根域查询一直跟踪直到查询到最终结果,并将整个过程信息输出出来。

[root@x360 ~]# dig +trace chnlanker.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5_8.6 <<>> +trace chnlanker.com
;; global options:  printcmd
.                       9611    IN      NS      c.root-servers.net.
.                       9611    IN      NS      h.root-servers.net.
.                       9611    IN      NS      m.root-servers.net.
.                       9611    IN      NS      i.root-servers.net.
.                       9611    IN      NS      a.root-servers.net.
.                       9611    IN      NS      l.root-servers.net.
.                       9611    IN      NS      b.root-servers.net.
.                       9611    IN      NS      j.root-servers.net.
.                       9611    IN      NS      e.root-servers.net.
.                       9611    IN      NS      g.root-servers.net.
.                       9611    IN      NS      k.root-servers.net.
.                       9611    IN      NS      d.root-servers.net.
.                       9611    IN      NS      f.root-servers.net.
;; Received 228 bytes from 8.8.8.8#53(8.8.8.8) in 32 ms

com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
;; Received 503 bytes from 192.33.4.12#53(c.root-servers.net) in 60 ms

chnlanker.com.          172800  IN      NS      f1g1ns1.dnspod.net.
chnlanker.com.          172800  IN      NS      f1g1ns2.dnspod.net.
;; Received 325 bytes from 192.26.92.30#53(c.gtld-servers.net) in 4430 ms

chnlanker.com.          600     IN      SOA     f1g1ns1.dnspod.net. freednsadmin.dnspod.com. 0 3600 180 1209600 180
;; Received 108 bytes from 180.153.10.150#53(f1g1ns1.dnspod.net) in 162 ms

精简dig输出
1 使用+nocmd的话,可以节省输出dig版本信息。
2 使用+short的话,仅会输出最精简的CNAME信息和A记录,其他都不会输出。
3 使用+nocomment的话,可以节省输出dig的详情注释信息。
4 使用+nostat的话,最后的统计信息也不会输出。

CentOS6.x使用YUM安装配置LNMP运行环境

一、Nginx

# cd /tmp
# wget http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
# rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm
# yum install nginx

站点配置样本:

server {
	listen 80;
	server_name www.chnlanker.net;
	root /usr/www/;
	index index.html index.php;

	access_log /var/log/nginx/access_filename.log main;
	error_log /var/log/nginx/error_filename.log warn;
	error_page 404 /404.html;
	error_page 500 502 503 504 /50x.html;

	location ~ \.php$ {
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		fastcgi_param PHP_ADMIN_VALUE open_basedir=$document_root;
		include fastcgi_params;
	}
	location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
		expires 30d;
	}
	location ~ .*\.(js|css)?$ {
		expires 12h;
	}
}

默认安装目录: /etc/nginx/
默认SSL和虚拟主机配置目录: /etc/nginx/conf.d/
默认日志保存目录: /var/log/nginx/
默认网站文件目录: /usr/share/nginx/html
默认配置文件: /etc/nginx/nginx.conf
默认访问日志文件: /var/log/nginx/access.log
默认错误日志文件: /var/log/nginx/error.log

二、MYSQL

# yum install mysql mysql-server
# chkconfig mysqld on
# service mysqld start
# mysqladmin -u root password 'your-password'

配置文件路径:/etc/my.cnf
数据库路径:/var/lib/mysql

三、PHP

# yum install php-common php-fpm php-cli php-pdo php-mysql php-mcrypt php-mbstring php-gd php-tidy php-xml php-xmlrpc php-pear php-pecl-memcache php-eaccelerator
# chown nginx:nginx /etc/php-fpm.conf
# mkdir /var/lib/php/session
# chown -R nginx:nginx /var/lib/php/session
# chkconfig php-fpm on
# service php-fpm start

配置文件路径:/etc/php.ini
扩展模块路径:/usr/lib/php/modules (32bit)
/usr/lib64/php/modules (64bit)