Openswan企业实战之ipsec ***加速ERP系统
? ? ??公司ERP系統是放在IDC機房,租用的別人的云服務器,因云服務器供應商的限制,不能直接拉電路專線,又因服務器數量不夠,remoteapp方案也放棄了,只能通過軟件×××方案來解決問題,之前搭建了一個open***,使用route模式,但是用戶反饋使用效果并不理想,每次反饋ERP系統保存比較慢,其他操作沒有問題,想過各種辦法去優化Open***,比如去掉認證,使用靜態密鑰方式,都沒能解決,其真正的原因應該是open***是在用戶態,內部經過多次加密和解密過程,性能自然不是最佳;后來直接改成橋接模式,速度快了不少,但是使用的是跟云服務器供應商服務網絡,云服務商不接受這種模式,因此,最終選擇了openswan來解決這個問題,openswan的netkey又稱為26sec,其實現是在內核實現,主要負責控制管理SA及密鑰,同時處理數據包的加密和解密工作,因此其性能更優越;
1、 目標
在防火墻內部,通過兩臺Linux系統,搭建ipsec ***,連通辦公室和IDC機房的網絡,并解決辦公室人員訪問IDC機房的金蝶ERP系統,所出現的保存慢的問題;
2、 網絡拓撲圖
3、 環境說明
軟件環境:centos 7.3????? openswan 2.6.50
序號 | 名稱 | 內網IP | 外網IP | 備注 |
1 | IDC機房防火墻 | 10.99.0.254/24? | 固定IP(略) | 需要開放UDP4500/500端口 |
2 | IDC機房×××服務器 | 10.99.0.16/24 | 需要開放UDP4500/500端口 | |
3 | 辦公室防火墻 | 192.168.1.1/24 | 動態IP (略) | |
4 | 辦公是×××服務器 | 192.168.1.252/24 |
注:
l? ***服務器安裝了centos系統,全部都是在防火墻后面,對于openswan來說,其仍然是路由到防火墻,再通過防火墻的NAT去訪問外網的,因此,對于服務器來說,并不需要開啟iptables的NAT功能,但是Iptables功能需要開啟,并開放UDP 4500/500 端口(如果開啟iptables的NAT功能也可以,但是經過多層NAT,這樣會嚴重影響×××的性能);
l? openswan目前網上系統的資料比較少,對于百度的搜索信息要注意甄別,多思考,即使部署成功了,也要回去反復斟酌,配置是否是最優的,推薦可以查看源碼包下面的openswan/docs目錄下的說明,加深理解;
l? 本文案例是,IDC機房擁有固定IP,辦公室是動態IP,因此,對于防火墻來說,只需要開啟IDC機房這邊的4500/500端口,辦公室這邊無需開放端口;
l? 對于DPD功能,當隧道空閑的時候(建立,但是在dpddelay=N1之內沒有流量),一端或兩端發送了hello消息(R_U_THERE)和另一端回復確認信息(R_U_THERE_ACK),如果沒有收到響應,直至dpdtimeout=N2的時間,仍然沒有流量或者收到R_U_THERE_ACK,那么會認為對端死亡,刪除SA并從路由表中刪除相關聯的路由;建議開啟此功能,并且兩邊同時開啟和保持數據一致,如果只是開啟一端,另一端便于以默認參數開啟,這點很重要,網絡上的資料有點不對; tunnel模式,建議dpdaction設置為hold;transport模式,dpdaction設置為clear;
4、 準備工作
禁用重定向
開啟路由轉發
Vi /etc/sysctl.conf
net.ipv4.ip_forward?=?1 net.ipv4.conf.default.rp_filter?=?0sysctl –p ?#生效
配置iptables防火墻
vi /etc/sysconfig/iptables??? 增加如下內容,開放UDP 4500和500端口
-A?INPUT?-p?udp?-m?state?--state?NEW?-m?udp?--dport500?-j?ACCEPT -A?INPUT?-p?udp?-m?state?--state?NEW?-m?udp?--dport4500?-j?ACCEPT注:以上配置都需要在兩臺×××服務器上 進行操作;
最后,開放IDC機房的外部硬件防火墻的 UDP 4500/500端口(即目的端口映射)
5、 安裝
yum?install?bison?flex?xmlto?perl-podlators? tar?–zxvf?openswan-2.6.50.tar.gz cd?openswan-2.6.50 make?programs make?install注: 這里使用openswan的netkey,centos7.3的內核是3.10,本身已經支持了nat-T功能
使用ipsec verify命令 驗證openswan的安裝是否Ok
紅色方框處,不要在意,開啟Ipsec服務之后,就會顯示OK
6、 配置
Openswan有兩個主要的配置文件:
/etc/ipsec.conf 主要配置文件,settings和connections,
/etc/ipsec.secrets主要用來保存RSA Keys和preshared secrets (PSKs)
?
Openswan支持許多不同的安全認證方式,包括RSA keys、pre-shared keys或x.509證書方式,通常推薦使用RSA Keys,安全性高;但是這里選擇使用pre-shared keys,簡單而且性能高;
?
IDC機房
×××服務器/etc/ipsec.conf配置如下:
version?2??#版本 config?setup???#命名為setup,Ipsec服務啟動直接加載nat_traversal=yes??#開啟NAT-T穿透virtual_private=%v4:192.168.1.0/24,%v4:10.99.0.0/24??#指定哪些子網通過×××,如果不允許,在%前面加上!;%v4?表示為ipv4protostack=netkey????#使用netkeyinterfaces="%defaultroute"??#ipsec?***使用的虛擬接口和實接口,格式是"virtual=physicalvirtual=physical?...",這里設置為默認路由出去的接口oe=off???#此選項已經被忽略。它用于確定是否啟用機會加密;plutostderrlog=/var/log/pluto.log??#指定日志保存路徑plutodebug=all????#記錄多少調試輸出,默認是none,這里便于設置為all,便于追蹤,調試OK,可以設置為none;conn?idc-to-office??#設置connection,并命名為idc-to-officetype=tunnel???#隧道模式,支持host-to-host,host-to-network和network-to-network;如果設置transport,表示為host-to-host傳輸模式;authby=secret?#配置安全網關如何認證,默認是rsa,這里使用共享密鑰auto=start????#start是表示connection隨Ipsec服務器啟動而自動連接;add不會隨ipsec服務啟動而啟動,需要ipsec?auto?up?idc-to-office啟動connection;dpddelay=15???#每15秒鐘檢測一次,默認是30秒dpdtimeout=60???#閑置超時時間,這個時間內沒有流量,沒有響應,就表示對等實體已經死亡,并刪除SA,默認120秒;dpdaction=hold???#eroute進入hold,等待對方的return信息;tunnel模式,推薦設置為hold;transport模式,推薦設置為clear;pfs=no??#無論設置為yes,還是no,都會啟用;ike=aes128-sha1;modp1024??#第一階段算法參數ikelifetime=86400s???#第一階段生存時間keyexchange=ike?????phase2=espphase2alg=aes128-sha1;modp1024???#指定第二階段的算法參數;salifetime=3600s???#第二階段生存時間aggrmode=no???#一般模式,設置yes,就是野蠻模式;?left=10.99.0.16???#本機服務器提供對外(通常是指Internet)服務的接口,網上大多說是公網IP,這個說法對于服務器是直接對接Internet,并作為內網的網關的時候,是對的;但是,對于本例,在防火墻內部,就是不對的,其IP仍然是私網地址,所以,這點很重要,要認真區分;leftid=@szidc????#設置身份ID,如果是域名,使用@指定;如果用IP,直接使用IP地址接口,不需要@符號;leftsubnet=10.99.0.0/24???#表示本地的子網網絡,如果有多個網段就有leftsubnetsleftnexthop=%defaultroute???#默認路由right=%any????#對端公網IP,無固定IP或不確定IP,設置為%any,這里必須設置為公網IP,跟left有些不同;rightsubnet=192.168.1.0/24???#對端本地的子網網絡rightnexthop=%defaultroute???#默認路由 注:?通常理解,left?表示本地網絡,right表示對端網絡;/etc/ipsec.secrets配置文件內容如下
辦公室網絡
/etc/ipsec.conf配置文件如下:
version?2???#版本 config?setupnat_traversal=yes??#開啟nat-t?穿透virtual_private=%v4:192.168.1.0/24,%v4:10.99.0.0/24??#protostack=netkeyinterfaces="%defaultroute"oe=offplutostderrlog=/var/log/pluto.logplutodebug=all??#調試完畢,改為noneconnidc-to-officetype=tunnelauthby=secretauto=start??#注意跟前面IDC機房的配置比較區別,前面是add,這里設置為startpfs=nokeyexchange=ikephase2=espike=aes128-sha1;modp1024ikelifetime=86400sphase2alg=aes128-sha1;modp1024salifetime=3600saggrmode=nodpddelay=15dpdtimeout=60dpdaction=holdright=211.154.139.8???#注意與IDC機房的配置比較rightsubnet=10.99.0.0/24???#注意與IDC機房的配置比較rightid=@szidc???#注意與IDC機房的配置比較rightnexthop=%defaultroute???#注意與IDC機房的配置比較left=192.168.1.252??#注意與IDC機房的配置比較leftsubnet=192.168.1.0/24???#注意與IDC機房的配置比較#lefttid=@rightleftnexthop=%defaultroute???#注意與IDC機房的配置比較/etc/ipsec.secrets配置文件內容如下:
7、 啟動服務
/etc/init.d/ipsec start?? #啟動ipsec服務,先啟動IDC機房服務器,后啟動辦公室這邊的服務器;
8、 檢測***的tunnel狀態
/etc/init.d/ipsec status ???#檢測ipsec tunnel是否建立起來
結果如下:
表示×××通道已經建立起來
?
測試是否能夠Ping通
轉載于:https://blog.51cto.com/tsykl2008/1970141
總結
以上是生活随笔為你收集整理的Openswan企业实战之ipsec ***加速ERP系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA设计模式之【建造者模式】
- 下一篇: 混合云计算和联合云计算