2016年10月20日星期四

debian 禁用默认服务


debian默认启动很多服务,有时占时用不到占用内存,现在我们用两条命令来对它进行修改
1查询启动的服务 service --status-all
2修改默认启动服务update-rc.d

用server --status-all查询时 +表示正在运行,-表示没有运行,?表示不详(?),可能是不支持用status查询状态。
查询到默认启动的服务名称时用update-rc.d来进行修改,用法也很简单 update-rc.d name enable|disable [s|2|3|4|5]

2016年7月6日星期三

openvpn云免流之debian系统搭建全能云免服务器

免流所需要的设备 可以搭openvpn的vps一台 android iphone的手机
vps系统是debian vps先更改时区dpkg-reconfigure tzdata

1 安装软件 apt-get update&&apt-get dist-upgrade
&&apt-get install openvpn squid3

2 用easy-rsa生成服务端证书
cp -r /usr/share/easy-rsa/ /etc/openvpn/
cd /etc/openvpn/easy-rsa/2.0
source vars
./clean-all
./build-ca

3 生成服务器证书和密钥
./build-key-server server #server服务器名称
期间也会提示输入一些信息,直接回车默认,选择[Y/n]的都选Y。

4 生成客户端证书和密钥:(client为客户端名字可以自定义,注意这里的客户端名字不能与上步的服务端名字相同)
./build-key client
期间也会提示输入一些信息,直接回车默认,选择[Y/n]的都选Y。 若要生成多个客户端的证书和密钥,将client改成另外的名字重复操作即可。所有生成的证书和密钥存都放在/etc/openvpn/easy-rsa/2.0/keys/下面。

5 生成Diffie Hellman参数:
./build-dh

6 配置openvpn 服务器密钥
把2 3 生成的文件复制到 /etc/openvpn下
cd /etc/openvpn/easy-rsa/keys/
cp ca.crt dh2048.pem server.crt server.key /etc/openvpn/

7 配置openvpn 服务器
将/usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz文件复制到/etc/openvpn目录,并解压
# cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn
# gzip -d /etc/openvpn/server.conf.gz
修改 /etc/openvpn/server.conf 文件
local ip
dh dh2048.pem
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"
client-to-client
duplicate-cn
cipher AES-128-CBC
log-append  openvpn.log
auth-nocache

8 修改 /etc/sysctl.conf内容为
 net.ipv4.ip_forward=1 运行sysctl -p 启动





8 设置IP转发
若Xen或KVM的请输入:(eth0要根据具体的网卡标示来,可以通过ifconfig查看)
iptables -t nat -A POSTROUTING -s 10.8.0.0/16 -o eth0 -j MASQUERADE
若OpenVZ的请输入:(11.22.33.44是你VPS的IP)
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source x.x.x.x # x.x.x.x为服务器IP
应对GFW封锁,我们要忽略RST包

iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP
iptables -I INPUT -p tcp --tcp-flags ACK,SYN,FIN,RST,URG,PSH RST -j DROP
为防止重启后转发丢失,把代码写进 /etc/rc.local中

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source x.x.x.x
iptables -A INPUT -p tcp --tcp-flags RST RST -j DROP
iptables -t filter -A OUTPUT -p tcp --tcp-flags RST RST -j DROP
/etc/init.d/dnsmasq restart

exit 0


9 配置openvpn客户端文件
mkdir /home/openvpn-client
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /home/openvpn-client/client.ovpn
cd /etc/openvpn/easy-rsa/keys/
cp -r ./ca.crt client.key client.crt /home/openvpn-client/
cd /home/openvpn-client/


将密钥文件添加到client.ovpn里

echo "" >> client.ovpn
echo "" >>client.ovpn
cat ca.crt | grep -A 100 "BEGIN CERTIFICATE" | grep -B 100 "END CERTIFICATE" >> client.ovpn
echo "
" >> client.ovpnecho "" >> client.ovpn
cat client.crt | grep -A 100 "BEGIN CERTIFICATE" | grep -B 100 "END CERTIFICATE" >> client.ovpn
echo "
" >> client.ovpnecho "" >> client.ovpn
cat client.key | grep -A 100 "BEGIN PRIVATE KEY" | grep -B 100 "END PRIVATE KEY" >> client.ovpn
echo "
" >> client.ovpn


以下是cmcc 免流代码
mssfix 1400
auth-nocache
http-proxy 服务器IP 8080
http-proxy-retry
http-proxy-timeout 1
http-proxy-option EXT1 "GET http://rd.go.10086.cn"
http-proxy-option EXT1 "POST http://rd.go.10086.cn"
http-proxy-option EXT1 "X-Online-Host: rd.go.10086.cn"
http-proxy-option EXT1 "Host: rd.go.10086.cn"
http-proxy-option AGENT "Iphone 9x"

;script-security 3 system
;route-up "net stop dnscache"
;route-up "net start dnscache"
;route-up "ipconfig /flushdns"
;route-up "ipconfig /registerdns"
ns-cert-type server     # 要求客户端证书 nsCertType 为 server
remote-cert-tls server   # 检查客户端证书 key usage 和 extended key usage


您能浏览我的网站,能让我高兴一整天!

2016年5月27日星期五

openvpn云免流之squid3及防恶意扫描


服务器架设了squid3代理,无奈扫代理的成堆
access.log 一天就几个G
现在设置让squid3只能连接一个ip

在配置文件(/etc/squid3/squid3.conf)中找到  http_access deny all
在上面添加以下2行代码,让squid3只能连接服务器IP
1 安装squid3
apt-get install squid3

2 设置squid3
vi /etc/squid3/squid.conf
找到http_access deny all 在上面添加以下代码

acl okip dst 服务器IP
http_access allow okip
http_access deny all

3设置端口
http_port 8080

4检查squid配置是否正确
squid -k check
5启动squid
/etc/init.d/squid3 start


您能浏览我的网站,能让我高兴一整天!
参考:
http://wangzan18.blog.51cto.com/8021085/1690504
http://home.arcor.de/pangj/squid/chap06.html

2016年5月19日星期四

把ca.crt证书放入client.ovpn配置文件

如果你有好几个网站的openvpn配置你可以在config目录下为每一个网站建一个文件夹,也可以都放在config目录下,不过是不是有很多.crt和.key文件很烦人呀,其实你可以把它们都删除了,只需要把他们放入client.ovpn配置文件。 

用写字板打开各个client.ovpn文件在最后面添加 

<ca> 

</ca> 

<cert> 

</cert> 

<key> 

</key> 

key-direction 1 
<tls-auth> 

</tls-auth> 

用记事本打开ca.crt把文件内容复制到<ca>和</ca>的中间, 

用记事本打开client.crt把文件内容复制到<cert>和</cert>的中间, 

用记事本打开client.key把文件内容复制到<key>和</key>的中间, 

用记事本打开ta.key把文件内容复制到<tls-auth>和</tls-auth>的中间, 

(ca.crt、client.crt、client.key、ta.key这些文件不一定全都与,有那些就修改那些;这些文件的名字不一定都是这样,可以在.ovpn配置文件里搜索ca、cert、key、tls-auth看他们所对应的文件名) 

修改完成后删除类似 

tls-auth ta.key 1 
ca ca.crt 
cert client.crt 
key client.key 

的那几行,然后保.ovpn文件即可删除那些.crt和.key文件而正常使用了(你可以把密码都保存在一个文件夹下,修改如下:把:auth-user-pass 改成: auth-user-pass pwd/mypass.txt 并在client.ovpn所在目录建立pwd文件夹并在此文件夹下建mypass.txt文件…)。