18 Jul

CentOS 下 OPENSSL 的升级

下载资源 //自己找最新

wget http://www.openssl.org/source/openssl-1.0.1h.tar.gz

然后解压安装

./config  --prefix=/usr/local --openssldir=/usr/local/ssl
make && make install
./config shared --prefix=/usr/local --openssldir=/usr/local/ssl
make clean
make && make install

为了防止OPENSSL令人蛋疼的版本不符问题
再来一次

./config --prefix=/usr --shared
make && make install

没事别蛋疼的 YUM 更新, 尤其是不明网站提供的升级包!

16 Jul

Linode CentOS 6.5 X64 L2TPD VPN 的搭建

安装 OpensWan

yum install openswan

配置 /etc/ipsec.conf // IP 是 VPS 公网 IP 地址

version 2.0
config setup
        protostack=netkey
        nat_traversal=yes
        virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12
        oe=off

conn L2TP-PSK-NAT
        rightsubnet=vhost:%priv
        also=L2TP-PSK-noNAT

conn L2TP-PSK-noNAT
        authby=secret
        pfs=no
        auto=add
        keyingtries=3
        rekey=no
        ikelifetime=8h
        keylife=1h
        type=transport
        left=IP
        leftprotoport=17/1701
        right=%any
        rightprotoport=17/%any

配置 /etc/ipsec.secrets // IP 是 VPS 公网 IP 地址

IP %any: PSK "password"

配置转发

   for i in /proc/sys/net/ipv4/conf/*
   do
       echo 0 > $i/accept_redirects
       echo 0 > $i/send_redirects
   done
   echo 1 > /proc/sys/net/ipv4/ip_forward

启动 IPSEC

/etc/init.d/ipsec start

测试 IPSEC

ipsec verify

安装 libpcap-devel

yum install libpcap-devel

安装 rp-l2tp

wget http://downloads.sourceforge.net/project/rp-l2tp/rp-l2tp/0.4/rp-l2tp-0.4.tar.gz
tar zxvf rp-l2tp-0.4.tar.gz
cd rp-l2tp-0.4
./configure
make && make install

配置 rp-l2tp

cp handlers/l2tp-control /usr/local/sbin/
mkdir /var/run/xl2tpd/
ln -s /usr/local/sbin/l2tp-control /var/run/xl2tpd/l2tp-control

安装 xl2tpd

wget https://github.com/xelerance/xl2tpd/archive/master.zip
unzip master.zip
cd xl2tpd-master
make && make install

创建 /etc/xl2tpd

mkdir /etc/xl2tpd

配置 /etc/xl2tpd/xl2tpd.conf

  [global]
  ipsec saref = yes

  [lns default]
  ip range = 192.168.20.2-200
  local ip = 192.168.20.1
  refuse chap = yes
  refuse pap = yes
  require authentication = yes
  ppp debug = yes
  pppoptfile = /etc/ppp/options.xl2tpd
  length bit = yes

配置 /etc/ppp/options.xl2tpd

  name l2tpd
  ipcp-accept-local
  ipcp-accept-remote 
  ms-dns 8.8.8.8
  noccp
  auth
  crtscts 
  idle 1800 
  mtu 1410 
  mru 1410  
  nodefaultroute
  debug   
  lock
  proxyarp     
  connect-delay 5000

配置 /etc/ppp/chap-secrets

VpnUsrName l2tpd password *

iptables 转发

iptables --table nat --append POSTROUTING --jump MASQUERADE
/etc/init.d/iptables save
/etc/init.d/iptables restart

启动 l2tpd

/etc/init.d/ipsec restart
/usr/local/sbin/xl2tpd

开机运行 /etc/rc.local

for each in /proc/sys/net/ipv4/conf/*
do
echo 0 > $each/accept_redirects
echo 0 > $each/send_redirects
done
echo 1 >/proc/sys/net/core/xfrm_larval_drop
/etc/init.d/ipsec restart
/usr/local/sbin/xl2tpd

至此 应该已经可以OK了

16 Jul

Linode CentOS 6.5 X64 PPTPD VPN 搭建

由于 Linode VPS iptables 的兼容问题 所以要提前做好iptables的变更。
参考地址:http://way.so/linode-iptables.html

清理环境

yum remove -y pptpd ppp
iptables --flush POSTROUTING --table nat
iptables --flush FORWARD
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp
rm -rf /dev/ppp

安装 ppp iptables

yum install -y ppp iptables

安装 pptp

rpm -Uvh http://poptop.sourceforge.net/yum/stable/rhel6/pptp-release-current.noarch.rpm
yum install -y pptpd
mknod /dev/ppp c 108 0 
echo "mknod /dev/ppp c 108 0" >> /etc/rc.local

配置文件 /etc/pptpd.conf

echo "localip 192.168.10.1" >> /etc/pptpd.conf
echo "remoteip 192.168.10.2-254" >> /etc/pptpd.conf

配置文件 /etc/ppp/options.pptpd

echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd
echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd

配置文件 /etc/sysctl.conf

net.ipv4.ip_forward = 1
#net.ipv4.tcp_syncookies

载入配置

sysctl -p /etc/sysctl.conf

关闭 SELinux /etc/selinux/config //使用 /usr/sbin/sestatus -v 验证状态

SELINUX=disabled

iptables NAT // IP 为VPS公网IP地址

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source IP
iptables -A FORWARD -p tcp --syn -s 192.168.10.0/24 -j TCPMSS --set-mss 1356

保存iptables

/etc/init.d/iptables save
/etc/init.d/iptables restart

配置用户 /etc/ppp/chap-secrets

VpnUsrName pptpd password *

启动PPTP

/etc/init.d/pptpd restart

开机运行

chkconfig pptpd on
chkconfig iptables on

此时基本已经结束
可以尝试 VPN 连接了

16 Jul

Linode VPS CentOS 6.5 iptables 保存规…

环境:Linode VPS Centos6.5
操作:/etc/init.d/iptables restart
报错:Setting chains to policy ACCEPT: security raw nat[FAILED]filter
解决:vi /etc/init.d/iptables

for i in $tables; do
        echo -n "$i "
        case "$i" in
            raw)
                $IPTABLES -t raw -P PREROUTING $policy \
                    && $IPTABLES -t raw -P OUTPUT $policy \
                    || let ret+=1
                ;;

加入以下内容到 case "$i" in 下面:

 security)
        $IPTABLES -t filter -P INPUT $policy \
            && $IPTABLES -t filter -P OUTPUT $policy \
            && $IPTABLES -t filter -P FORWARD $policy \
            || let ret+=1
        ;;

最终版本类似:

  for i in $tables; do
        echo -n "$i "
        case "$i" in
            security)
                $IPTABLES -t filter -P INPUT $policy \
                    && $IPTABLES -t filter -P OUTPUT $policy \
                    && $IPTABLES -t filter -P FORWARD $policy \
                    || let ret+=1
                ;;
            raw)
                $IPTABLES -t raw -P PREROUTING $policy \
                    && $IPTABLES -t raw -P OUTPUT $policy \
                    || let ret+=1
                ;;

service iptables restart

09 Mar

关于相册插件的 EXIF 说明

_DSC0038-album.jpg

EXIF 函数需要服务器支持
简单说下linux扩展办法

先找到php的安装包,这个必须对应你当前环境的php版本
进入目录 cd /usr/local/php-版本号/ext/exif
然后给PHP动态添加扩展
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
这个是php-config路径,如果不确定可以 find 一下
接下来编译
make && make install

最后需要修改php.ini文件添加
extension = "exif.so"

完成以上后 直接 reboot