haojianyun

welcom to my haojianyun.com

docker 下构建openvpn 

主机设置

sudo sysctl -w net.ipv4.conf.default.accept_source_route=1   
sudo sysctl -w net.ipv4.conf.all.rp_filter=0    
sudo sysctl -w net.ipv4.ip_forward=1

docker 设置

docker run -v /etc/openvpn:/etc/openvpn –rm kylemanna/openvpn ovpn_genconfig -u udp://47.88.222.231

docker run -v /etc/openvpn:/etc/openvpn –rm -it kylemanna/openvpn ovpn_initpki

docker run -v /etc/openvpn:/etc/openvpn -d -p 1194:1194/udp –privileged kylemanna/openvpn

===

cd /etc/openvpn

NoPassWd:

docker run -v /etc/openvpn:/etc/openvpn –rm -it kylemanna/openvpn easyrsa build-client-full CLIENTNAME nopass

docker run -v /etc/openvpn:/etc/openvpn –rm kylemanna/openvpn ovpn_getclient CLIENTNAME > myopenvpn.ovpn

curl –upload-file ./myopenvpn.ovpn https://transfer.sh/myopenvpn.ovpn

docker 设置

window 下载

VPN

vpn_ip

iOS 下载设置
android 下载设置
  1. 应用市场搜索 openvpn connnect
  2. 想办法导入 配置文件 ,可以用电脑上发送到手机QQ我的电脑里面,或者微信 发送文件到相应文件共享里面,完后选择打开的应用的时候选择openvpn 就可以了。
  3. 或者使用 https://transfer.sh 上传
  4. android 可以从 https://www.apk4fun.com/link/6697/a/ 下载
  5. 或者 http://info.swufe.edu.cn/vpn/openvpn/openvpn.apk
  6. 安装客户端可以参考 : http://info.swufe.edu.cn/vpn/openvpn/#3

2月 25th, 2018

Posted In: Uncategorized

Leave a Comment

Linux系统用nginx+ thinkphp 跳转老是报错,rewrite 规则改写后也是报错,找了半天终于解决了
  • pathinfo的问题:nginx的配置文件nginx.conf中的 include enable-php.conf 修改为 include enable-php-pathinfo.conf

  • php.ini 问题: 把php配置文件php.ini中的 cgi.fix_pathinfo=0 修改为 cgi.fix_pathinfo=1

  • nginx rewrite 问题 : 改为 rewrite ^(.*)$ /index.php?s=$1 last;

12月 3rd, 2017

Posted In: PHP开发笔记

Leave a Comment

以前经常通过一个定时脚本实现文件同步,隔断时间检查一下,但总感觉这个不太智能化,于是一顿考量,选择了强大的 inotifywait,废话少说看代码

  • 安装inotify-tools,我这测试环境是centos7
    • yum install inotify-tools
    • 不明白或报错可以查看 https://github.com/rvoicilas/inotify-tools/wiki
  • 检查系统是否支持 inotify
    • grep INOTIFY_USER /boot/config-$(uname -r) 如果输出是 CONFIG_INOTIFY_USER=y 代表可以
  • 预览我的配置文件,这个配置文件是从上面github的 inotify-tools来的

#!/bin/sh

# get the current path
CURPATH=`pwd`

ip="`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"`"

inotifywait -mr --timefmt '%d/%m/%y %H:%M' --format '%T %w %f' \
-e modify -e create -e delete -e move -e attrib  /mnt/fzdisk/sync/var/www/ | while read date time dir file; do

       rsync -a --delete /mnt/fzdisk/sync/var/www /root/t/var/  && \
       echo " $ip At ${date} ${time} www files was rsync" >> /mnt/fzdisk/log/$ip.log
done

用法很简单:

  1. ip 那个是获取当前服务器内网IP地址
  2. inotifywait 这个是运行文件系统通知服务,后面跟相应的路径,以及需要监听的事件,用多个 -e 表示 ,我上面是修改,创建,删除,移动,已经文件属性修改,都会触发下面的语句
  3. rsync 这个是文件同步命令,类似于cp命令,但比cp好用,我这个里用到了,
    • -a 表示全部更新,包括文件属性,已经子目录的遍历等
    • –delete 表示原有目录删除什么,我们要更新的这个目录也会更着删除

好了,具体参数你可以网上继续搜索一下,很多的

11月 16th, 2017

Posted In: computer knowledge(电脑知识)

Leave a Comment

svn 常用

  1. svn 版本库拉取
    svn co svn://192.168.0.22/mysvn   #后面不更任何目录代码更新到命令当前所在的目录
    svn co svn://192.168.0.22/mysvn  /var/www  #更新到/var/www 目录
或者
    svn checkout svn://192.168.0.22/mysvn (同上 co 是 checkout 的缩写)
  1. svn 本地更新到某个版本
svn up   #更新当前所在的目录
svn up  ./user.php    #更新user.php 文件
svn up  /var/www/aa   #更新 /var/www/aa
  1. svn 增加文件
 svn add .    #增加当前目录到版本库
 svn add a.php    #增加a.php到版本库
  1. svn 提交
svn commit -m  'test'  #提交代码

git 常用

  1. git 版本库拉取
git clone http://192.168.0.22/a.git
  1. git 本地更新到某个版本
git pull .
git pull a.php 
  1. git 增加
git add a.php 
git add  .
  1. git 查看状态
git status
  1. git 提交
git commit -m "first commit"  #git commit后需要提交

git push #默认提交
git push origin master //提交master 分支

git svn 混合用

下面是一个git-svn的一般使用流程:
1、git-svn clone svn_repository
2、修改本地代码,使用git add/commit将修改提交到本地git库
3、定期使用git-svn rebase获取中心svn repository的更新
4、使用git-svn dcommit命令将本地git库的修改同步到中心svn库

http://svnbook.red-bean.com/en/1.7/svn.branchmerge.using.html

svn copy sourceURL branchURL
Then, switch to that branch:

svn switch branchURL
And commit your changes:

svn commit

svn switch –relocate http://svn.example.com/path/to/repository/path/within/repository http://svnnew.example.com/new/repository/path/within/repository

11月 10th, 2017

Posted In: computer knowledge(电脑知识)

Leave a Comment

1、查看已安装python的版本,可能是当前系统存在多个python导致


[root@test ~]# whereis python python: /usr/bin/python2.6 /usr/bin/python /usr/bin/python2.6-config /usr/lib/python2.6 /usr/lib64/python2.6 /usr/include/python2.6 /usr/share/man/man1/python.1.gz [root@test ~]# vi /usr/bin/yum 将 #!/usr/bin/python 修改为 #!/usr/bin/python2.6 或者 如果是源代码安装的,默认路径是/usr/local/bin/python2.6,做个软链接即可 rm -rf /usr/bin/python ln -s /usr/local/bin/python2.6 /usr/bin/python

2、查看iptable实现Nat

iptables -t nat -nvL

3、验证 ipsec

ipsec status

ipsec verify

4、看日志


grep pluto /var/log/auth.log grep xl2tpd /var/log/syslog tail -f /var/log/auth.log

5、配置VPN的时候常用端口要打开,包括安全组里面的出入

PPTP端口:TCP: 1723
———————————
L2TP
———————————
UDP:500    (isakmp)
UDP:4500   (nat-t)
UDP:1701   (l2tp)

5、Async同步文件常用方法

a. 服务端
/bin/rsync -a /var/www/ /mnt/fzdisk/www/  
/bin/rsync -a /usr/local/nginx/conf/vhost/ /mnt/fzdisk/vhost

b.同步端
/bin/rsync -a /mnt/fzdisk/www  /var/www
/bin/rsync -a /mnt/fzdisk/vhost/  /usr/local/nginx/conf/vhost
/sbin/service nginx reload

6、文件,硬盘查看

df -h      #硬盘查看
du -ksh  /var/www  #文件或文件夹查看

11月 10th, 2017

Posted In: computer knowledge(电脑知识)

Leave a Comment

« 上一页下一页 »