歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> Centos7安裝OpenVPN

Centos7安裝OpenVPN

日期:2017/3/6 9:10:55   编辑:學習Linux

Centos7安裝OpenVPN


Centos7安裝OpenVPN


  • 前言:

    最近想自己搭個VPN,搭VPN做什麼大家就自己YY了,嘿嘿。在網上找了很多教程,看著別人信誓旦旦的說一定能成功,但自己總是失敗,最後在阿裡雲找到了一篇帖子,搗鼓了一陣總算成功。原文地址:https://help.aliyun.com/knowledge_detail/7602040.html?pos=4,原文有個別地方未闡述清楚,本文加入盡可能多的注釋,以期讓讀者更易理解。
    系統基於 CentOS 7.0 64位的全新系統,VPN采用OpenVPN,如果讀者按著教程操作未成功,請仔細核查配置是否遺漏什麼,說不定會發現什麼哦,亦可留言反饋,本人Linux小白,大神勿噴。
    本文為Centos7安裝OpenVPN系列文章第一篇,後面會加入密碼驗證以及流量控制,詳見csdn.zxiaofan.com。


1、安裝openvpn和證書制作工具easy-rsa

yum install -y openvpnyum install -y easy-rsa

2、配置openvpn

拷貝配置文件

cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf  /etc/openvpn

編輯openvpn主配置文件

vim /etc/openvpn/server.conf

主要修改以下幾個配置,把前邊的分號注釋去掉,其中DNS配置項,改成阿裡公共DNS地址。

proto tcp    #選擇TCP自有妙用,允許http代理dh dh2048.pemserver 192.168.1.0 255.255.255.0          #vpn的內網地址段,與NAT轉發規則相對應,openvpn在使用tun路由模式時,分配給client端分配的IP地址段push "redirect-gateway def1 bypass-dhcp"    #重定向客戶端的網關,在進行翻牆時會使用到push "dhcp-option DNS 223.5.5.5"push "dhcp-option DNS 223.6.6.6"user nobody    #openvpn運行時使用的用戶及用戶組group nobodylog         openvpn.log    #log選項 ,重啟服務器將導致日志清零,亦可選擇log-appendverb 5

3、配置證書文件

mkdir -p  /etc/openvpn/easy-rsa/keyscp  -a  /usr/share/easy-rsa/2.0/*  /etc/openvpn/easy-rsa/vi   /etc/openvpn/easy-rsa/vars

修改以下配置的內容,自定義設置各項值就可以。

export KEY_COUNTRY="CN"export KEY_PROVINCE="CA"export KEY_CITY="Bei Jing"export KEY_ORG="zxiaofan"    #定義所在的組織export KEY_EMAIL="[email protected]"export KEY_OU="test"    #定義所在的單位export KEY_NAME="vpnserver"    #定義openvpn服務器的名稱export KEY_CN="zxiaofan"    這行配置,前邊默認的“#”號注釋去掉。

制作證書

cp  /etc/openvpn/easy-rsa/openssl-1.0.0.cnf  /etc/openvpn/easy-rsa/openssl.cnfcd /etc/openvpn/easy-rsa    #切換工作目錄source ./vars    #讓配置文件生效./clean-all ./build-ca    #之前已配置好相關參數,故執行命令後,按回車鍵,一直到結束。


創建服務端證書

./build-key-server server   

#按回車鍵進行,在提示輸入密碼的地方,設置一個密碼如zxiaofan,在An optional company name處輸入zxiaofan.com,最後輸入兩次“y”回車

創建客戶端證書

./build-dh     #創建秘鑰文件,等待命令執行完。ls   /etc/openvpn/easy-rsa/keys/       #可以看到,目錄中已經創建好了證書文件。cd  /etc/openvpn/easy-rsa/keyscp  dh2048.pem  ca.crt  server.crt  server.key   /etc/openvpncd  /etc/openvpn/easy-rsa./build-key client     

#創建客戶端證書文件,按回車進行,提示輸入密碼的地方,輸入之前設置的證書密碼,An optional company name處輸入先前設置的公司名字(zxiaofan.com)。【一定要和先前輸入的一樣哦.,其他參數如果前面設置了,也要保持一致噢】 #另外注意:有多少個客戶端就需要./build-key client 多少次,當然client名字需不同。

ls /etc/openvpn/easy-rsa/keys/    #可以看到,生成了客戶端的證書文件

4、設置iptables、路由轉發

yum install -y iptables-servicessystemctl enable iptablessystemctl stop firewalld   #關閉Centos7默認的 firewall防火牆systemctl start iptables   #啟動iptablesiptables  -F     #清空默認的iptables規則設置iptables NAT轉發規則iptables -t nat -A POSTROUTING -s 192.168.1.0/24  -j MASQUERADE service iptables save   #保存防火牆規則echo 1 > /proc/sys/net/ipv4/ip_forward     #臨時開啟路由轉發vi  /etc/sysctl.conf   #編輯配置文件,添加以下配置,設置永久路由轉發net.ipv4.ip_forward = 1

5、啟動openvpn

systemctl -f enable [email protected]      #設置啟動文件systemctl start [email protected]          #啟動openvpn的命令

6、openvpn客戶端(電腦、手機)連接vpn

把服務器上的三個客戶端證書文件,下載到本地電腦配置vpn客戶端。 /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/easy-rsa/keys/client.crt /etc/openvpn/easy-rsa/keys/client.key

安裝好openvpn客戶端軟件後,把證書文件,存放到openvpn安裝目錄的config文件夾下。 從sample-config文件夾下,拷貝客戶端的配置文件client.ovpn 到config文件夾下。 編輯config文件夾下的配置文件client.ovpn,修改remote my-server-1 1194 這行配置,指定openvpn服務器的ip地址,默認為你服務器的外網IP。

可以添加 push route 61.139.2.69 #電信DNS地址

配置好後,點擊openvpn的客戶端圖標,連接vpn。 openvpn的圖標顯示綠色後,表示已經連接上vpn了。 然後在本地電腦進行測試,連接vpn後,可以訪問ECS服務器的內網,通過ECS服務器連接公網。 本地電腦用浏覽器上網,顯示的ECS服務器的公網ip。 在客戶端ping一下服務器IP,查看響應情況。 最後,百度輸入IP,查看本機IP,發現你的IP已經變成服務器IP就表明VPN搭建成功了。


如果你要讓別人連VPN呢?難道也把那麼多配置文件發給別人,太麻煩了,所以可采取如下策略,將ca.crt、client.crt、client.key全部拷貝到Client.ovpn裡,這樣只需這一個文件即可連接
VPN:clientdev tunproto tcpremote 服務器IP 1194resolv-retry infinitenobindpersist-keypersist-tuncomp-lzoverb 5#ca ca.crt#cert client.crt#key client.key<ca>ca.crt的內容粘貼到這裡</ca><cert>client.crt的內容粘貼到這裡</cert><key>client.key的內容粘貼到這裡</key>

http://www.bkjia.com/Linuxjc/1156109.html TechArticle

Copyright © Linux教程網 All Rights Reserved