CentOS7.3 搭建Openvpn
阿新 • • 發佈:2017-07-29
direct top csharp mon mkdir -p iptable erb amp country
環境:CentOS Linux release 7.3.1611 (Core)
查看os版本命令:[[email protected] ~]# cat /etc/redhat-release
命令記錄如下:
yum upgrade #更新源 yum install epel-release -y #安裝epel庫 yum install easy-rsa openssh-server lzo openssl openssl-devel openvpn NetworkManager-openvpn openvpn-auth-ldap -y #安裝一系列相關軟件、
拷貝配置文件:
cp /usr/share/doc/openvpn-*/sample/sample-config-files/server.conf /etc/openvpn #拷貝server.conf到/etc/openvpn目錄下
編輯openvpn配置文件
vim /etc/openvpn/server.conf
我的配置如下(有些註釋掉了,但留著備用):
port 1194 proto tcp dev tun ca ca.crt cert server.crt key server.key # This file should be kept secret dh dh2048.pem topology subnet server10.8.0.0 255.255.255.0 ifconfig-pool-persist ipp.txt push "route 0.0.0.0 0.0.0.0" #定義網關 push "route 192.168.0.0 255.255.255.0" #推送vpn服務器內網網段給客戶端 ;push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 223.5.5.5" push "dhcp-option DNS 114.114.114.114" client-to-client duplicate-cn keepalive10 120 ;tls-auth ta.key 0 # This file is secret ;cipher AES-256-CBC comp-lzo ;max-clients 100 persist-key persist-tun status openvpn-status.log ;log openvpn.log log-append openvpn.log verb 3 ;mute 20 ;explicit-exit-notify 1
準備配置證書文件
mkdir -p /etc/openvpn/easy-rsa/keys cp -a /usr/share/easy-rsa/2.0/* /etc/openvpn/easy-rsa/ vi /etc/openvpn/easy-rsa/vars
修改vars配置的內容, 自定義設置各項值就可以。
export KEY_COUNTRY="CN" export KEY_PROVINCE="ZJ" export KEY_CITY="HZ" export KEY_ORG="xihu" #定義所在的組織 export KEY_EMAIL="[email protected]" export KEY_OU="westlake" #定義所在的單位 export KEY_NAME="openvpn" #定義openvpn服務器的名稱 export KEY_CN="APEC" #這行配置,需要將前邊的“#”號註釋去掉。
開始制作證書
cp /etc/openvpn/easy-rsa/openssl-1.0.0.cnf /etc/openvpn/easy-rsa/openssl.cnf cd /etc/openvpn/easy-rsa #切換工作目錄 source ./vars #讓配置文件生效 ./clean-all ./build-ca #之前已配置好相關參數,故執行命令後,按回車鍵,一直到結束即可。
創建服務端證書
./build-key-server server #創建通用名(common name)為"server"的證書文件
#按回車鍵進行,在提示輸入密碼的地方,設置一個密碼如qaz123,在An optional company name處輸入CNABB,最後輸入兩次“y”確認
創建客戶端證書
./build-dh #創建秘鑰文件,耗時1分鐘左右 ls /etc/openvpn/easy-rsa/keys/ #可以看到,有一個db2048.pem的文件產生。 cd /etc/openvpn/easy-rsa/keys cp dh2048.pem ca.crt server.crt server.key /etc/openvpn cd /etc/openvpn/easy-rsa ./build-key client #創建一個通用名(common name)為 client的客戶端
#創建客戶端證書文件,按回車進行,提示輸入密碼的地方,輸入之前設置的證書密碼 "qaz123",An optional company name處輸入先前設置的公司名字(CNABB)。【一定要和先前輸入的一樣】
#另外註意:有多少個客戶端就需要./build-key client 多少次,當然這裏的client名字需不同。
ls /etc/openvpn/easy-rsa/keys/ #可以看到,生成了客戶端的證書文件
設置iptables、路由轉發
yum install -y iptables-services systemctl enable iptables systemctl stop firewalld #關閉firewall防火墻,我的OS沒有預裝防火墻,因此這條命令不用輸, systemctl start iptables #啟動iptables iptables -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
啟動openvpn
systemctl -f enable [email protected] #設置啟動文件 systemctl start [email protected] #啟動openvpn的命令 #註意,這裏如果啟動報錯,說明你前面的server.conf配置文件有誤,需要調試配置文件
CentOS7.3 搭建Openvpn