Linux安裝OpenVPN服務(wù)端
先將本機(jī)的yum換成阿里云的yum源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
安裝依賴的軟件包
yum install rpm-build gcc lsof -y
yum install -y pam-devel*
yum install -y lzo lzo-devel openssl openssl-devel pam pam-devel
yum -y install epel*
yum install -y pkcs11-helper pkcs11-helper-devel
#確認(rèn)已經(jīng)安裝完成:
rpm -qa lzo lzo-devel openssl openssl-devel pam pam-devel pkcs11-helper pkcs11-helper-devel
yum -y install wget
#下載openvpn
wget http://oss.aliyuncs.com/aliyunecs/openvpn-2.2.2.tar.gz
#編譯
rpmbuild -tb openvpn-2.2.2.tar.gz
#執(zhí)行上面這條命令以后就會正常開始編譯了煤痕,編譯完成以后會在 /root/rpmbuild/RPMS/x86_64 目錄下生成 openvpn-2.2.2-1.x86_64.rpm 安裝包。
#查看安裝包
ls /root/rpmbuild/RPMS/x86_64
#安裝
rpm -ivh /root/rpmbuild/RPMS/x86_64/openvpn-2.2.2-1.x86_64.rpm
配置OpenVPN服務(wù)(服務(wù)端)
#初始化KPI
cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0
#進(jìn)入到 /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0 目錄下扬霜,找到 vars 證書環(huán)境文件救湖,修改以下幾行 export 定義的參數(shù)值
vim vars
export KEY_COUNTRY="CN"
export KEY_PROVINCE="SH"
export KEY_CITY="SHANGHAI"
export KEY_ORG="wu2700222"
export KEY_EMAIL="wu2700222@126.com"
#上述參數(shù)的值可以自定義設(shè)置点寥,也可以不改,對配置無影響
生成服務(wù)端的證書
#清除并刪除keys目錄下的所有key
cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0
#創(chuàng)建軟鏈接
ln -s openssl-1.0.0.cnf openssl.cnf
ll openssl*
source ./vars
./clean-all
#生成CA證書,剛剛上面已經(jīng)在vars文件中配置了默認(rèn)參數(shù)值,多次回車完成就可以:
./build-ca
#一路回車
#生成服務(wù)器證書
#如下kuping是自定義的名字谊娇,一直回車,到最后會有兩次交互罗晕,輸入y確認(rèn)济欢,完成后會在keys目錄下保存了kupingvpn.key、kupingvpn.csrl和kupingvpn.crt 三個文件小渊。
./build-key-server kupingVPN
#一路回車,遇到交互提示時,輸入y
#查看一下,剛生成的文件
ls keys/
創(chuàng)建VPN登陸用戶的秘鑰與證書
#如下法褥,創(chuàng)建用戶名為kevin的秘鑰和證書,一直回車酬屉,到最后會有兩次確認(rèn)半等,只要按y確認(rèn)即可。完成后呐萨,在keys目錄下生成1024位RSA服務(wù)器密鑰kevin.key杀饵、kevin.crt和kevin.csr 三個文件。
./build-key kevin
#一路回車,遇到交互提示時,輸入y
#查看一下,剛生成的文件
ls keys/
如果創(chuàng)建用戶證書時報錯谬擦,可以將keys整個目錄刪除切距,然后從source ./vars這一步開始重新操作(慎重,否則之前在keys目錄里的用戶數(shù)據(jù)就會都刪除)
生成Diffie Hellman參數(shù)
./build-dh
#執(zhí)行了./build-dh后惨远,會在 keys 目錄下生成 dh 參數(shù)文件 dh1024.pem谜悟。該文件客戶端驗(yàn)證的時候會用到
##查看一下,剛生成的pem文件
ls keys/
#將/usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys 目錄下的所有文件復(fù)制到 /etc/openvpn下:
cp -a /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0/keys/* /etc/openvpn/
#復(fù)制openvpn服務(wù)端配置文件 server.conf 到 /etc/openvpn/ 目錄下:
cp -a /usr/share/doc/openvpn-2.2.2/sample-config-files/server.conf /etc/openvpn/
#查看server.conf文件的配置
vim /etc/openvpn/server.conf
#修改對應(yīng)的證書名
ca ca.crt
cert kupingVPN.crt
key kupingVPN.key # This file should be kept secret
#日志文件 vim /etc/openvpn/openvpn.log
;log openvpn.log
;log-append openvpn.log
設(shè)置iptables
vim /etc/sysctl.conf
net.ipv4.ip_forward = 1
vm.min_free_kbytes = 409600
vm.vfs_cache_pressure = 200
vm.swappiness = 0
fs.file-max = 1024000
fs.aio-max-nr = 1024000
kernel.sysrq = 1
#載入配置
sysctl -p
#顯示如下
net.ipv4.ip_forward = 1
vm.min_free_kbytes = 409600
vm.vfs_cache_pressure = 200
vm.swappiness = 0
fs.file-max = 1024000
fs.aio-max-nr = 1024000
kernel.sysrq = 1
#添加iptables規(guī)則,確保服務(wù)器可以轉(zhuǎn)發(fā)數(shù)據(jù)包到外網(wǎng):
yum install -y iptables iptables-services
#查看版本
iptables -V
iptables v1.4.21
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j MASQUERADE
service iptables save
systemctl restart iptables
#查看
iptables -t nat -L
啟動OpenVPN服務(wù)
/etc/init.d/openvpn start 或者 service openvpn start
#查看啟動狀態(tài)
systemctl status openvpn
ps aux|grep openvpn
chkconfig openvpn on //設(shè)置為開機(jī)自啟
#查看啟動的端口
lsof -i:1194
#顯示如下
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
openVPN 83101 nobody 5u IPv4 348617 0t0 UDP *:openvpn
#如果1194端口啟動不起來,可以通過查看/etc/openvpn/openvpn.log日志進(jìn)行原因排查
給其他同事開通VPN賬號
后續(xù)給同事開VPN賬號北秽,只需要下面幾步(比如給wuwei同事開vpn)
cd /usr/share/doc/openvpn-2.2.2/easy-rsa/2.0
./build-key wuwei
#不需要重啟openvpn /etc/init.d/openvpn restart
#lsof -i:1194
#然后編寫wuwei用戶的config.ovpn客戶端配置文件
#創(chuàng)建客戶端配置文件,注意ip換成openvpn服務(wù)端的ip
vim /tmp/config.ovpn
cat /tmp/config.ovpn
client
dev tun
proto udp
remote 192.168.0.15 1194
resolv-retry infinite
nobind
mute-replay-warnings
ca ca.crt
cert wuwei.crt
key wuwei.key
comp-lzo
#然后將ca.crt葡幸、config.ovpn、wuwei.crt贺氓、wuwei.csr蔚叨、wuwei.key這五個文件放到wuwei用戶下
mkdir /tmp/wuwei
cp keys/wuwei.* keys/ca.crt /tmp/config.ovpn /tmp/wuwei/
#查看文件
ls /tmp/wuwei/
#顯示如下
ca.crt config.ovpn wuwei.crt wuwei.csr wuwei.key
#打包
cd /tmp/ && tar -zvcf wuwei.tar.gz wuwei