CentOS7下Strongswan架設IPSec-IKEv1, IKEv2, L2TP VPN,適用於 IOS9,OSX, Windows, Linux
zz from: http://linsir.org/post/how_to_install_IPSec_IKEV2_base_on_strongswan_with_CentOS7
VPN 隧道協議PPTP、L2TP、IPSec和SSLVPN(SSTP,OpenVPN)中安全性逐級提高,相應的受到牆的干擾相對要弱點,但是現在我們考慮到跨平臺,PPTP穿透力及安全性可以忽略,所以這裡搭建支援 ikev1/ikev2 的 Ipsec VPN,適用於iOS、Android、Windows 7+ 、MacOS X,及Linux。為了相容Windows 7以下的系統,同時搭建L2TP/IPSec支援。
支援IOS9 IKEV2 的配置,直接到最後檢視2015.12更新
安裝 StrongSwan
由於Openswan已經沒人維護了,所以我們選擇更強大的Strongswan.它是一個完整的2.4和2.6的Linux核心下的IPsec和IKEv1 的實現。它也完全支援新的IKEv2協議的Linux 2.6核心。
StrongSwan 的發行版已包含在 EPEL 源中, 但是CentOS源的包比較舊,所以我們手動在官網https://www.strongswan.org/download.html下載安裝包,當然你也可以直接原始碼編譯。
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/s/strongswan-5.3.2-1.el7.x86_64.rpm
rpm -ihv strongswan-5.3.2-1.el7.x86_64.rpm
編譯:
wget http://download.strongswan.org/strongswan.tar.gz
tar xzf strongswan.tar.gz
cd strongswan-*./configure --sysconfdir=/etc --enable-openssl --enable-nat-transport --disable-mysql --disable-ldap --disable-static--enable-shared --enable-md4 --enable-eap- mschapv2 --enable-eap-aka --enable-eap-aka-3gpp2--enable-eap-gtc --enable-eap-identity --enable-eap-md5 --enable-eap-peap --enable-eap-radius --enable-eap-sim --enable-eap-sim-file --enable-eap-simaka-pseudonym --enable-eap-simaka-reauth --enable-eap-simaka-sql --enable-eap-tls --enable-eap-tnc --enable-eap-ttls
make && make install
配置證書
每一個完整的 ssl 證書都有一個公鑰和一個私鑰。公鑰是在網路上傳輸的,而私鑰是藏好用來和接收到的公鑰配對的(因此私鑰裡也有整個公鑰,用來配對)。
-
生成CA證書的私鑰,並使用私鑰,簽名CA證書
ipsec pki --gen --outform pem > ca.pem ipsec pki --self--in ca.pem --dn "C=CN, O=VPN, CN=StrongSwan CA"--ca --lifetime 3650--outform pem >ca.cert.pem
這裡C 表示國家名,同樣還有 ST 州/省名,L 地區名,STREET(全大寫) 街道名。O 表示組織名。CN 為通用名
-
生成伺服器證書所需的私鑰,並用CA證書籤發伺服器證書
ipsec pki --gen --outform pem > server.pem ipsec pki --pub --in server.pem | ipsec pki --issue --lifetime 1200--cacert ca.cert.pem \ --cakey ca.pem --dn "C=CN, O=VPN, CN=vpn.linsir.org" \ --san="1.2.3.4"--san="vpn.linsir.org"--flag serverAuth --flag ikeIntermediate \ --outform pem > server.cert.pem
第二句是從我們剛生成的私鑰裡把公鑰提取出來,然後用公鑰去參與後面的伺服器證書籤發。
- iOS 客戶端要求 CN 也就是通用名必須是你的伺服器的 URL 或 IP 地址;-Windows7不但要求了上面,還要求必須顯式說明這個伺服器證書的用途(用於與伺服器進行認證),–flag serverAuth;-非 iOS 的Mac OS X 要求了“IP 安全網路金鑰互換居間(IP Security IKE Intermediate)”這種增強型金鑰用法(EKU),–flag ikdeIntermediate;-Android和 iOS 都要求伺服器別名(serverAltName)就是伺服器的 URL 或 IP 地址,–san。
所以這裡C、O的值要跟第一步的一致,CN值及--san值是伺服器公網地址或url,另外這裡可以設定多個--san值。否則會出現錯誤 13801:IKE身份驗證憑證不可接受.
-
生成客戶端證書
ipsec pki --gen --outform pem > client.pem ipsec pki --pub --in client.pem | ipsec pki --issue --cacert ca.cert.pem \ --cakey ca.pem --dn "C=CN, O=VPN, CN=VPN Client" \ --outform pem > client.cert.pem
這裡C、O的值要跟第一步的一致
-
生成 pkcs12 證書 pkcs12 證書用來匯入手機或電腦的。
openssl pkcs12 -export-inkey client.pem -in client.cert.pem -name "VPN Client"\ -certfile ca.cert.pem -caname "vpn.linsir.org"-out client.cert.p12
安裝證書
把證書複製到strongswan目錄下。
cp -r ca.cert.pem /etc/strongswan/ipsec.d/cacerts/
cp -r server.cert.pem /etc/strongswan/ipsec.d/certs/
cp -r server.pem /etc/strongswan/ipsec.d/private/
cp -r client.cert.pem /etc/strongswan/ipsec.d/certs/
cp -r client.pem /etc/strongswan/ipsec.d/private/
配置Strongswan
裝置/作業系統使用的 ike 版本
- Linux: 命令列客戶端就是 strongswan 本身,因此完美相容,支援 ikev1/ikev2 和所有加密方法的連線。
- Android: 只支援 ikev1。
- iOS/Mac OS X: IPsec 客戶端為自己修改的racoon。它只支援 ikev1,最新的IOS 9 Mac OS X 支援ikev2.
- Windows: 只在 Windows 7 以後支援ikev2, XP需要另外的l2tp方式。
ipsec.conf
vim /etc/strongswan/ipsec.conf
config setup
uniqueids=never #允許多個客戶端使用同一個證書,多裝置同時線上#所有專案共用的配置項
conn %default
keyexchange=ike #ikev1 或 ikev2 都用這個
left=%any #伺服器端標識,%any表示任意
leftsubnet=0.0.0.0/0#伺服器端虛擬ip, 0.0.0.0/0表示通配.
right=%any #客戶端標識,%any表示任意
conn IKE-BASE
leftca=ca.cert.pem #伺服器端 CA 證書
leftcert=server.cert.pem #伺服器端證書
rightsourceip=10.0.0.0/24#分配給客戶端的虛擬 ip 段#供 ios 使用, 使用客戶端證書
conn IPSec-IKEv1
also=IKE-BASE
keyexchange=ikev1
fragmentation=yes #開啟對 iOS 拆包的重組支援
ike=aes256-sha1-modp1024
leftauth=pubkey
rightauth=pubkey
rightauth2=xauth
rightcert=client.cert.pem
auto=add
#供 ios 使用, 使用 PSK 預設金鑰
conn IPSec-IKEv1-PSK
also=IKE-BASE
keyexchange=ikev1
fragmentation=yes
leftauth=psk
rightauth=psk
rightauth2=xauth
auto=add
#供 android, linux, os x 使用
conn IPSec-IKEv2
also=IKE-BASE
keyexchange=ikev2
leftauth=pubkey
rightauth=pubkey
rightcert=client.cert.pem
auto=add
#供 windows 7+ 使用, win7 以下版本需使用第三方 ipsec vpn 客戶端連線
conn IPSec-IKEv2-EAP
also=IKE-BASE
keyexchange=ikev2
ike=aes256-sha1-modp1024!#第一階段加密方式
rekey=no#伺服器對 Windows 發出 rekey 請求會斷開連線
leftauth=pubkey
rightauth=eap-mschapv2
rightsendcert=never #伺服器不要向客戶端請求證書
eap_identity=%any
auto=add
conn IKEV2-RSA
also=IKE-BASE
ikelifetime=60m
keylife=20m
rekeymargin=3m
keyingtries=1
keyexchange=ikev2
leftfirewall=yes
auto=add
strongswan.conf
vim /etc/strongswan/strongswan.conf
# strongswan.conf - strongSwan configuration file## Refer to the strongswan.conf(5) manpage for details## Configuration changes should be made in the included files
charon {
load_modular = yes
duplicheck.enable =no#是為了你能同時連線多個裝置,所以要把冗餘檢查關閉
compress = yes
plugins {
include strongswan.d/charon/*.conf
}
dns1 = 223.5.5.5
dns2 = 8.8.8.8
# for Windows only
nbns1 = 223.5.5.5
nbns2 = 8.8.8.8
}
include strongswan.d/*.conf
密碼認證檔案
# /etc/ipsec.secrets - strongSwan IPsec secrets file: RSA server.pem
: PSK "password": XAUTH "password"
vpn %any : EAP "password"
wp裝置名稱\用戶名2: EAP "密碼2"#僅對windowsphone8.1裝置,裝置名稱在`設定-關於-手機資訊` 中檢視
啟動Strongswan
ipsec start
或者
systemctl start strongswan.service
IKEv1,v2就搭建好了,我們配置L2TP/IPSec
L2TP/IPSec
安裝 xl2tpd
yum install ppp xl2tpd
CentOS 7 源已經不再有了,所以手動下載安裝。
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/x/xl2tpd-1.3.6-8.el7.x86_64.rpm
rpm -ihv l2tpd-1.3.6-8.el7.x86_64.rpm
/etc/strongswan/ipsec.conf
在/etc/strongswan/ipsec.conf最後新增
conn L2TP-PSK
keyexchange=ikev1
authby=secret
leftprotoport=17/1701#l2tp埠
leftfirewall=no
rightprotoport=17/%any
type=transport
auto=add
xl2tpd.conf
vim /etc/xl2tpd/xl2tpd.conf
[global]
ipsec saref =no#listen-addr = 1.2.3.4
port =1701[lns default]
ip range =10.0.0.100-10.0.0.254local ip =10.0.0.255require chap = yes
refuse pap = yes
require authentication = yes
name = vpn
ppp debug = yes
pppoptfile =/etc/ppp/options.xl2tpd
length bit = yes
options.xl2tpd
vim /etc/ppp/options.xl2tpd
require-mschap-v2
ms-dns 223.5.5.5
ms-dns 223.6.6.6
asyncmap 0
auth
crtscts
lock
hide-password
modem
debug
name l2tpd
proxyarp
lcp-echo-interval 30
lcp-echo
相關推薦
CentOS7下Strongswan架設IPSec-IKEv1, IKEv2, L2TP VPN,適用於 IOS9,OSX, Windows, Linux
zz from: http://linsir.org/post/how_to_install_IPSec_IKEV2_base_on_strongswan_with_CentOS7
VPN 隧道協議PPTP、L2TP、IPSec和SSLVPN(SSTP,OpenVPN)中安全性逐級提高,相應的受到牆的干擾
使用 Strongswan 架設 Ipsec VPN
本教學介紹瞭如何使用 Strongswan 5.0.x 在 openSUSE 12.3+ 伺服器上架設支援 ikev1/ikev2 的 Ipsec VPN。適用於 openSUSE、iOS、Android、Windows 和其它 Linux。
注意 Strongswan
5 即現在的主力支援
mac下創建ipsec/L2TP隧道(VPN)
ges etc span 地址 -- 密鑰 cnblogs 嘗試 添加 1. 打開網絡偏好設置
2. 點擊+
3. 輸入VPN的地址和賬號
4. 高級--勾選通過VPN鏈接發送所有流量
5. 添加dns
6. 由於公司VPN使用的是L2TP協議,並且是無共享密鑰的,
What is the difference between PPTP, L2TP/IPsec, SSTP, IKEv2, and OpenVPN?
相關文章:
iOS10把PPTP協定拿掉了,VPN協定只剩下L2TP、IPSEC、IKEv2。IKEv2 從 iOS 8.0 版開始支援。
PPTP和L2TP都使用PPP協議對資料進行封裝,然後新增附加包頭用於資料在網際網路絡上的傳輸。儘管兩個協議非常相似,但是仍存在以下幾方面的不同:
1.PPT
centos7下yum快速安裝 mariadb(mysql)
版本 repos 測試 tar b-s 新版 roo system -s 從最新版本的centos系統開始,默認的是 Mariadb而不是mysql!
使用系統自帶的repos安裝很簡單:
yum install mariadb mariadb-server
systemc
Linux下L2TP VPN客戶端的配置
linux下xl2tpd客戶端配置系統環境centos6.81,安裝xl2tpd和pppyum -y install xl2tpd ppp2,配置xl2tpd編輯配置文件xl2tpd.confvim /etc/xl2tpd/xl2tpd.conf[lac testvpn] ;testvpn為lac的名稱n
Centos7下安裝 JDK1.8
class bce hostname etc 下載 nod tar.gz 執行 profile 最近看了一篇技術文章, 用 nginx+tomcat+redis+centos 實現 session 共享等功能,覺得很有用,就跟著文章在 Centos7 的環境下搭建了幾個
CentOS7 下 Nginx + Tomcat 實現 Session 共享
++ port orange 安裝目錄 nag 教訓 font ext 參考 在之情的文章中搭建的 centos7 + tomcat + nginx 的環境的基礎上, 使用 redis 實現 tomcat 的 session 共享的問題。
一 : 安裝 Redis
Centos7下關於memcached的安裝和簡單使用
entos name 終端 說明 所有 local memcach 們的 clas 在這裏,由於用編譯安裝memcached服務端過於復雜,因此我選用依賴管理工具 yum 來實現 memcached 的服務端安裝:
[root@localhost /]# yum insta
Centos7下配置phpMyAdmin(提供HTTPS服務)
phpmyadmin https httpd Centos7下配置phpMyAdmin(提供HTTPS服務)phpMyAdmin可以通過web方式控制和操作MySQL數據庫。通過phpMyAdmin 可以完全對數據庫進行操作,例如建立、復制和刪除數據等等。配置環境Centos7 2臺(IP1:19
CentOS7 下調教mysql記實 之二
rac hang general username sta roo warnings 普通用戶 pan 導入SQL後,普通用戶不能調用存儲過程,root可以。
解決:
mysql> update mysql.proc set Definer=‘username@%‘;
CentOS7 下調教mysql記實 之三
ase systemctl 服務器 exp span mes start lis centos7 我去,我的mysql在原Windows 2003服務器上好好的,遷移到linux下不能打開,跟蹤半天,發現表名大小寫的問題,windows不區分大小寫,linux區分。
解決
CentOS7下配置網絡yum源(附帶下載地址)
tro arch all 運行 help soc 1-1 centos6 earch 一、查看外網是否通暢
配置網絡yum源(需要保證外網開通,我這裏是使用網易163提供開源鏡像站)
二、下載repo文件
cd /etc/yum.repos.dwget http:
centos7下的redis的搭建
停止 後臺 .com 自動啟動 人的 wget make conf 0.10 轉載:http://www.cnblogs.com/hd3013779515/p/6914824.html
http://www.cnblogs.com/it-cen/p/42
CentOS7下的AIDE入侵檢測配置
linux 服務器 數據庫 配置文件 入侵檢測 1、AIDE的簡單介紹 AIDE通過掃描一臺(未被篡改)的Linux服務器的文件系統來構建文件屬性數據庫,以後將服務器文件屬性與數據庫中的進行校對,然後在服務器運行時對被修改的索引了的文件發出警告。出於這個原因,AIDE必須在系統更新後或其
Centos7下安裝php-redis擴展及簡單使用
簡單使用 默認安裝路徑 lan 使用 ges l數據庫 sta https log 前言:
在本篇博客中,我將給大家介紹如何在Centos7上安裝PHP-Redis擴展以及一些簡單的實用,關於如何在Centos上安裝redis的,可以參考我的上一篇博客 Redis在Cen
CentOS7下安裝MySQL5.7安裝與配置(YUM)
centos7下安裝mysql5.7安裝與配置(yum)
CentOS7下安裝MySQL5.7安裝與配置(YUM)
安裝環境:CentOS7 64位 MINI版,安裝MySQL5.71、配置YUM源
在MySQL官網中下載YUM源rpm安裝包:http://dev.mysql.co
VM安裝Centos7下安裝vmware-tools /mnt/hgfs沒有文件的解決方法
vm 文件共享 1.正常安裝vmware-tools2.在安裝過程中,我遇到了一個提示為:Enter the path to the kernel header files for the 3.18.0-kali1-686-pae kerne?解決方法:yum -y install kernel-de
Centos7下vim的table鍵修改為4個空格
大寫 最後一行 centos7 clas roo style 空格 table class 1、要有root用戶權限
2、已經安裝vim
3、編輯/etc/vim/vimrc 文件,添加set ts=4
vim /etc/vimrc
#按大寫G到最後一行,添加s
Centos7下安裝redis實戰(單機版以及集群)
mkdir 一個 建議 總結 有序 bin 實戰 img http 一、背景
因項目需要,要引入redis做緩存,就在centos7下親自安裝了一遍redis,剛好趁著這個機會就來把redis的概念以及單機版和集群版redis安裝步驟記錄下來,在此和大家一起分享。