天天看點

CentOS6.5 搭建OpenVPN伺服器

前言:

    之前搭建過程中找了5-6個教程一起看,真是累,難道就沒有寫的詳細一點,一次成功的嗎,基于此花了一下午制作了本教程,實際測試2遍均成功,懶人福音。

基礎環境:

系統:Centos6.5 64X

Openvpn:2.3.14

安裝:

Windows版

Linux版

問題:

Windows版有路由推送、使用者名密碼驗證方面的問題,不推薦使用。建議安裝Linux版

附件中有密碼檢查腳本,配置檔案等。

0基礎環境

#關閉selinux

setenforce 0

sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config

#清空防火牆

iptables -F

iptables -X

#啟動smb共享,可以看到還沒有安裝。

CentOS6.5 搭建OpenVPN伺服器

#安裝Samba共享,後面有需要。

yum -y install samba

mkdir /home/samba

調整權限:chown nobody:nobody /home/samba/

建立測試檔案:touch /home/samba/1.txt

#修改配置檔案

vim /etc/samba/smb.conf

修改

security = share//表示允許匿名通路

workgroup = WORKGROUP//和windows主機相同

末尾追加

CentOS6.5 搭建OpenVPN伺服器

#啟動Samba

service smb restart

#添加開機啟動

chkconfig smb on

#在windows主機輸入\\伺服器IP通路可以看到1.txt

#安裝openssl和lzo,lzo用于壓縮通訊資料加快傳輸速度.

yum -y install openssl openssl-devel lzo

#安裝epel源

rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm

sed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo

1安裝openvpn

#安裝主程式

yum -y install openvpn easy-rsa

#修改基本資訊

cd  /usr/share/easy-rsa/2.0/

chmod +x *

vim vars

CentOS6.5 搭建OpenVPN伺服器

#清除keys目錄下所有與證書相關的檔案

#下面步驟生成的證書和密鑰都在/usr/share/easy-rsa/2.0/keys目錄裡

source vars//這裡會提示一個東西,不用管它。

./clean-all

#生成根證書ca.crt和根密鑰ca.key(一路按回車即可)

./build-ca

CentOS6.5 搭建OpenVPN伺服器

#生成服務端證書和密鑰

./build-key-server server

CentOS6.5 搭建OpenVPN伺服器

#為用戶端生成證書 (後面要換成賬号名+密碼認證這一步可以省略。)

#建立dh密鑰

./build-dh//按電腦性能決定,等一會,不要亂動。

#檢視檔案是否都有

CentOS6.5 搭建OpenVPN伺服器

#将剛才建立的密鑰檔案拷貝出來

cd keys

cp  ca.crt dh2048.pem server.crt server.key  /etc/openvpn/

#拷貝主配置檔案(可選,方式一)

cd /usr/share/doc/openvpn-2.3.14/sample/sample-config-files/

cp  server.conf  /etc/openvpn/

#拷貝主配置檔案(可選,方式二,建議使用,兩者差別是方式一是預設檔案,方式二是我修改過)

将檔案内的server.conf通過smb共享拷貝到伺服器上

#在伺服器上轉移拷貝過來的檔案

cp /home/samba/server.conf  /etc/openvpn/

CentOS6.5 搭建OpenVPN伺服器

cd /etc/openvpn/

vim server.conf

CentOS6.5 搭建OpenVPN伺服器

#下載下傳使用者名密碼檢查腳本

       wget http://openvpn.se/files/other/checkpsw.sh

修改vim checkpsw.sh

CentOS6.5 搭建OpenVPN伺服器

添加執行權限

chmod +x checkpsw.sh

建立使用者名密碼檔案

vim userfile.sh

CentOS6.5 搭建OpenVPN伺服器

#檔案屬性調整

chown nobody:nobody userfile.sh

#确認權限

ls -l

CentOS6.5 搭建OpenVPN伺服器

#拷貝用戶端證書檔案

cp ca.crt /home/samba

2添加防火牆規則

#允許ssh端口通過

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -P OUTPUT ACCEPT

#允許openvpn的端口連接配接

iptables -A INPUT -p tcp --dport 1194 -j ACCEPT

#配置openvpn的nat功能

ifconfig檢視接口是否為etho,有些伺服器是em1.

CentOS6.5 搭建OpenVPN伺服器
CentOS6.5 搭建OpenVPN伺服器

iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE

#開啟系統的路由功能

echo "1" > /proc/sys/net/ipv4/ip_forward

#添加FORWARD白名單

iptables -A FORWARD -i tun+ -j ACCEPT

#允許虛拟網段的所有連接配接

 iptables -A INPUT -s 10.10.10.0/24 -j ACCEPT

#保持已經建立的連接配接

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

service iptables save

service iptables start

3啟動服務

/etc/init.d/openvpn start

#添加自動啟動

chkconfig openvpn on

4到此服務端所有配置已完成,确認所有檔案存在,權限正确。

CentOS6.5 搭建OpenVPN伺服器

5用戶端配置

#用戶端安裝,去官網下載下傳,一路預設下一步。

通路伺服器共享目錄\\xxxx 拷貝ca.crt,放到安裝目錄的config目錄中。

拷貝檔案内的client.ovpn,放到安裝目錄的config目錄中。

修改client.ovpn内容如下,這個檔案需要用進階檔案編輯工具打開。

CentOS6.5 搭建OpenVPN伺服器

#輕按兩下桌面openvpn圖示運作,右擊桌面右下角圖示,Connect連接配接,輸入使用者名密碼。連接配接成功

CentOS6.5 搭建OpenVPN伺服器

#實作用戶端自動登入

修改client.ovpn配置檔案,将auth-user-pass改為auth-user-pass pass.txt

在config目錄中建立pass.txt

内容為兩行,第一行為vpn使用者名,第二行為密碼.

繼續閱讀