很多人说CentOS下OpenVZ安装PPTP VPN必须要开启PPP和TUN。经过我的测试,只要开启了PPP即可,不需要TUN的支持。
安装PPTP VPN需要开启PPP;安装OpenVPN需要开启TUN。
1,检测PPP是否开启,命令如下
Category: Linux运维
Linux,unix,mysql,database,oracle,mysql
CentOS 6 64bit安装配置OpenVPN的完整过程,本文于2014年12月24日重新整理,简化了安装过程。
如果是VPS,可能需要检测一下是否支持TUN/TAB
$ cat /dev/net/tun
cat: /dev/net/tun: File descriptor in bad state #开启成功,可以继续安装OpenVPN
一,安装OpenVPN
安装基础软件包
$ yum install gcc gcc-c++ openssl openssl-devel lzo lzo-devel easy-rsa -y
安装epel的源
$ wget http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ rpm -ivh epel-release-6-8.noarch.rpm
然后就可以直接使用yum安装OpenVPN了
$ yum install openvpn -y
复制配置文件
$ cp -R /usr/share/easy-rsa/ /etc/openvpn/
$ cp /usr/share/doc/openvpn-2.3.2/sample/sample-config-files/server.conf /etc/openvpn
二,生成CA证书、Server Key和Client Key
1,制作CA证书
$ cd /etc/openvpn/easy-rsa/2.0/
$ vim vars #修改如下内容:
export KEY_COUNTRY="CN"
export KEY_PROVINCE="GD"
export KEY_CITY="GZ"
export KEY_ORG="SZUniversity"
export KEY_EMAIL="[email protected]"
export KEY_OU="SZUniversity"
……
export KEY_CN="fuckgfw"
全部回车即可,CN指Common Name,OU指Organizational Unit Name
$ source ./vars #使修改的变量生效
$ ./clean-all #清除原有不需要的证书文件
$ ./build-ca #生成证书,初始化参数一路按回车默认即可
2,建立服务端证书Server Key
$ ./build-key-server myserver #这里指定服务端的证书名为myserver
一路按回车默认即可,此时CN会变成myserver,不用修改,可以直接回车,“A challenge password”也可以直接回车,最后弹出询问,按Y即可
3,建立客户端证书Client Key
$ ./build-key client1 #这里指定客户端的证书名为client1
一路按回车默认即可,此时CN会变成client1,不用修改,可以直接回车,“A challenge password”也可以直接回车,最后弹出询问,按Y即可
如果要创建多个vpn帐户,则同样如client1一样生成其他客户端证书
$ ./build-dh #证书加密,dh指Diffie Hellman
所有的创建文件,都会在/etc/openvpn/easy-rsa/2.0/keys 目录下。
三,创建OpenVPN服务端和客户端配置文件
1,建立服务端配置文件
$ vim /etc/openvpn/server.conf #将以下内容复制其中
local 1.1.1.1 #改为你的VPS IP地址
port 1194 #默认端口,建议改成53,别问我为什么
proto udp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/myserver.crt
key /etc/openvpn/easy-rsa/2.0/keys/myserver.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh2048.pem #请注意,网络上有些教程是dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt #记录客户端和分配IP的对应表,客户端重新连接会获得同样的IP
client-to-client #让客户端之间能直接通讯
keepalive 10 120 #服务端检测的间隔和超时时间
comp-lzo #使用lzo压缩数据,服务端和客户端都要启用
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 4 #设定日志级别
push "dhcp-option DNS 10.8.0.1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
创建日志目录
$ mkdir /var/log/openvpn
$ vim /etc/sysctl.conf
net.ipv4.ip_forward=1
$ sysctl -p
$ iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source VPS的IP地址
$ /etc/init.d/iptables save
$ /etc/init.d/iptables restart
启动OpenVPN服务端
$ openvpn --config /etc/openvpn/server.conf &
加入开机自启动
$ vim /etc/rc.local #加入如下一行
/usr/sbin/openvpn --config /etc/openvpn/server.conf > /dev/null 2>&1 &
2,建立客户端配置文件
$ vim /etc/openvpn/client.ovpn #将以下内容复制其中
client
dev tun #定义使用路由IP模式,与服务端一致
proto udp
remote 1.1.1.1 1194 #改成VPS的IP地址与端口
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
comp-lzo
verb 3
3,下载客户端配置文件
cp /etc/openvpn/client.ovpn /etc/openvpn/easy-rsa/2.0/keys/
tar -zcvf /root/keys.tar.gz /etc/openvpn/easy-rsa/2.0/keys/
然后把/root/keys.tar.gz文件下载到本地。
四,windows客户端安装设置
终于配置到了客户端了,在Windows 系统下的安装OpenVPN GUI程序就比较简单了
1,下载安装和服务器端配套的OpenVPN GUI For Windows(http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-install.exe),直接点next安装即可;
2,将刚才下载到本地的keys.tar解压,全部放到OpenVPN GUI For Windows安装目录下的config目录下,检查一下至少要包含以下6个文件:
ca.crt | ca.key | client1.crt | client1.csr | client1.key | client.ovpn
3,在客户端双击client.ovpn即可启动OpenVPN GUI For Windows客户端,不用输入账号密码即可连接至vpn服务器;
4,如果多个客户端要用到多个vpn账号,OpenVPN的配置和上面相同,再将config文件目录里的 client1.crt,client1.csr,client1.key 替换成对应的 client2harry.xxx 即可,最后在client.ovpn中修改cert client1.crt 和key client1.key;
11 Comments系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看操作系统版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
wget 是一个命令行的下载工具,直接HTTP,HTTPS,FTP协议,支持断点续传,在宽带状态不佳的情况下,wget能表现出很强的稳定性。wget的用法并不复杂。一般的Linux发行版都已自带了wget工具。下面就简单介绍一下wget的一些用法。
$ wget http://example.com/yarkee
此命令下载整个网页http://example.com/yarkee到当前目录下,如果加上参数-x则会建立一个与服务器同名的目录,下载内容保存在该目录下。
6 Comments昨天自己的一个VPS负载高达50以上。这个VPS上仅有的一个网站也是频繁的出现502状态,已经无法访问。
使用netstat -n命令查看了一下,发现一个奇怪的IP(74.117.62.78)在通过各种端口连接着我的服务器。不知道此IP已经成为肉鸡了还是在扫描我的服务器漏洞……
linux下使用iptables封ip段的一些常见命令:
16 Comments这是由DiaHosting.com提供的PPTPD VPN一键安装包。
系统要求:CentOS 5 32bit/64bit。若VPS安装需要Xen虚拟化技术支持或者最新的OpenVZ技术支持。
本方法已经在如下VPS上测试成功:VPSyou的Xen;BuyVM的OpenVZ;Yardvps的xen。
31 Comments本文继续讲述我在使用CentOS+Licess的lnmp一键安装包时遇到的问题。
1,访问时出现 502 Bad Gateway 的解决办法
Nginx 502 Bad Gateway的含义是请求的php-cgi已经执行,但是由于某种原因(一般是读取资源的问题)没有执行完毕而导致php-cgi进程终止。一般并发数太高的网站都容易出现此错误。出现502 Bad Gateway的原因有很多(更多原因见这里),但是大部分人修改下面的参数即可解决。
打开 /usr/local/php/etc/php-fpm.conf 文件,修改几个参数:
11 Comments