天天看點

openswan安裝部署Lclient------------->Lserver……………….Rserver<---------------Rclient 安裝epel源: 安裝ipsec需要的基礎軟體包: 配置核心參數:配置時間同步: 下載下傳openswan: 驗證安裝:perl編譯問題解決: 配置openswan: 使用RSA數字簽名認證方式配置openswan

172.16.10.16      10.86.10.17         10.86.10.18           192.168.10.16

首先要保證:

<code>lclient  </code><code>ping</code><code>通lserver和rserver</code>

<code>rclient  </code><code>ping</code><code>通rserver和lserver</code>

<code>rpm -Uvh http:</code><code>//mirrors</code><code>.ustc.edu.cn</code><code>/fedora/epel/6/x86_64/epel-release-6-8</code><code>.noarch.rpm</code>

<code>yum clean all</code>

<code>yum makecache</code>

<code>yum -y </code><code>install</code> <code>ipsec-tools                      </code>

<code>yum -yinstall gmp gmp-devel </code><code>gawk</code> <code>flex bison</code>

<code>cp</code> <code>/etc/sysctl</code><code>.conf</code><code>/etc/sysctl</code><code>.conf.bak-$(</code><code>date</code> <code>+%F)</code>

<code>cat</code><code>&gt;&gt;</code><code>/etc/sysctl</code><code>.conf&lt;&lt;EOF</code>

<code>#create for darren</code>

<code>net.ipv4.ip_forward = 1</code>

<code>net.ipv4.conf.default.rp_filter= 0</code>

<code>net.ipv4.conf.default.accept_source_route= 0</code>

<code>kernel.sysrq = 0</code>

<code>kernel.core_uses_pid = 1</code>

<code>net.ipv4.tcp_syncookies = 1</code>

<code>kernel.msgmnb = 65536</code>

<code>kernel.msgmax = 65536</code>

<code>kernel.shmmax = 68719476736</code>

<code>kernel.shmall = 4294967296</code>

<code>net.ipv4.conf.eth1.send_redirects= 0</code>

<code>net.ipv4.conf.eth1.accept_redirects= 0</code>

<code>net.ipv4.conf.eth0.send_redirects= 0</code>

<code>net.ipv4.conf.eth0.accept_redirects= 0</code>

<code>net.ipv4.conf.lo.send_redirects= 0</code>

<code>net.ipv4.conf.lo.accept_redirects= 0</code>

<code>net.ipv4.conf.default.send_redirects= 0</code>

<code>net.ipv4.conf.default.accept_redirects= 0</code>

<code>net.ipv4.conf.all.send_redirects= 0</code>

<code>net.ipv4.conf.all.accept_redirects= 0</code>

<code>#create for Darren 2016/9/4</code>

<code>EOF</code>

<code>ntpdate pool.ntp.org</code>

<code>echo</code> <code>'*/5 * * * * /usr/sbin/ntpdate pool.ntp.org'</code> <code>&gt;&gt;</code><code>/var/spool/cron/root</code>

<code>mkdir</code> <code>-p </code><code>/home/darren/tools</code>

<code>cd</code> <code>/home/darren/tools</code>

<code>wget https:</code><code>//download</code><code>.openswan.org</code><code>/openswan/openswan-2</code><code>.6.42.</code><code>tar</code><code>.gz</code>

<code>cd</code> <code>openswan-2.6.42</code>

<code>make</code> <code>programs</code>

<code>make</code> <code>install</code>

<code>ipsec --version          </code><code>#檢視版本</code>

<code>ipsec verify           </code><code>#驗證</code>

<code>echo</code> <code>'1'</code><code>&gt;</code><code>/proc/sys/net/core/xfrm_larval_drop</code>    <code>#錯誤解決</code>

<code>/etc/init</code><code>.d</code><code>/ipsec</code> <code>start      </code><code>#啟動ipsec</code>

<code>echo</code> <code>'export LC_ALL=C'</code> <code>&gt;&gt;</code><code>/etc/profile</code>

<code>tail</code> <code>-1 </code><code>/etc/profile</code>

<code>source</code> <code>/etc/profile</code>

<code>openswan的主要配置檔案</code>

<code>/etc/ipsec</code><code>.secrets      </code><code>#用來儲存private RSA keys和preshared secrets      </code>

<code>/etc/ipsec</code><code>.conf        </code><code>#主要配置檔案(settings、options、defaults、connections)</code>

1.在Lserver、Rserver上分别生成新的hostkey:

<code>cp</code> <code>/etc/ipsec</code><code>.secrets </code><code>/etc/ipsec</code><code>.secrets.$(</code><code>date</code> <code>+%F)</code>

<code>ipsec newhostkey  --output</code><code>/etc/ipsec</code><code>.secrets</code>

此處有坑:生成很長時間沒有成功。

<code>第一,檢視是否啟動ipsec:</code><code>/etc/init</code><code>.d</code><code>/ipsec</code> <code>start</code>

<code>第二,實在不行就需要換版本。</code>

2.在Lserver上執行下面的指令獲得leftrsasigkey(即Lserver的公鑰public key)

<code>ipsec showhostkey --left &gt;</code><code>/tmp/key</code><code>.log</code>

3.在Rserver上執行下面的指令獲得Reftrsasigkey(即Lserver的公鑰public key)

<code>ipsec showhostkey --right &gt;</code><code>/tmp/key</code><code>.log</code>

4.在Lserver及Rserver上編輯/etc/ipsec.conf 

<code>左邊:</code>

<code>cp</code> <code>/etc/ipsec</code><code>.conf </code><code>/etc/ipsec</code><code>.conf.$(</code><code>date</code> <code>+%F)</code>

<code>vi</code> <code>/etc/ipsec</code><code>.conf</code>

<code>#create by darren.</code>

<code>#http://www.w501.pw</code>

<code>version 2.0</code>

<code>config setup</code>

<code>    </code><code>nat_traversal=</code><code>yes</code>

<code>   </code><code>virtual_private=%v4:192.1.1.0</code><code>/16</code><code>,%v4:172.1.1.0</code><code>/12</code>

<code>    </code><code>oe=off</code>

<code>    </code><code>protostack=netkey</code>

<code> </code> 

<code>conn left_lan</code>

<code>   </code><code>leftsubnet=172.1.1.0</code><code>/24</code>    

<code>    </code><code>also=A-B                       </code>

<code>conn right_lan</code>

<code>   </code><code>rightsubnet=192.1.1.0</code><code>/24</code>   

<code>    </code><code>also=A-B</code>

<code>###############################################</code>

<code>conn A-B</code>

<code>left=10.86.10.17          </code>

<code>leftid=@left</code>

<code>#leftsubnet=172.1.1.0/24      #如果上面的不要這裡可以取消注釋。</code>

<code># rsakey AQOgG5Gq4</code>

<code># leftrsasigkey=這裡的key需要複制/tmp/key.log的内容。</code>

<code>leftnexthop=%defaultroute</code>

<code>right=10.86.10.18         </code>

<code>rightid=@right</code>

<code>#rightsubnet=192.168.1.0/24</code>

<code># rsakey AQNDxTfqK</code>

<code>#rightrsasigkey=這裡的key需要複制/tmp/key.log的内容 </code>

<code>rightnexthop=%defaultroute</code>

<code>auto=start</code>

<code>右邊:</code>

<code>cp</code> <code>/etc/ipsec</code><code>.conf</code><code>/etc/ipsec</code><code>.conf.$(</code><code>date</code> <code>+%F)</code>

<code>和左邊一樣,直接拷貝過去。</code>

此時A和B用戶端是不能上網的,需要在L和R伺服器上設定iptables。

A:

<code>iptables-t nat -A POSTROUTING -s 172.1.1.0</code><code>/24</code>  <code>-jSNAT --to-</code><code>source</code> <code>10.86.10.17</code>

<code>echo</code><code>'iptables -t nat -A POSTROUTING -s 172.1.1.0/24 -j MASQUERADE'</code> <code>&gt;&gt;</code><code>/etc/rc</code><code>.</code><code>local</code>

B:

<code>iptables-t nat -A POSTROUTING -s 192.1.1.0</code><code>/24</code> <code>–o eth0 -j MASQUERADE</code>

<code>echo</code><code>'iptables -t nat -A POSTROUTING -s 192.1.1.0/24 -j MASQUERADE'</code> <code>&gt;&gt;</code><code>/etc/rc</code><code>.</code><code>local</code>

分别重新啟動ipsec:

A:

<code>/etc/init</code><code>.d</code><code>/ipsecrestart</code>

<code>chkconfigipsec on</code>

B:

http://blog.51cto.com/xiaodongge/1919502

本文轉自 王家東哥 51CTO部落格,原文連結:http://blog.51cto.com/xiaodongge/1919502

繼續閱讀