<div dir="ltr">Hi All,<div><br></div><div>I'm having huge issues setting up an IPSec tunnel from a Libreswan system to Huawei VRP device and was hoping someone could assist me in pinpointing what the error is</div><div><br></div><div>Here are the logs from the connection: <a href="http://pastebin.com/vCY5GLG0">http://pastebin.com/vCY5GLG0</a></div><div><br></div><div><b>Here is my ipsec.conf</b></div><div>#</div><div><div>version<span class="gmail-Apple-tab-span" style="white-space:pre"> </span>2.0<span class="gmail-Apple-tab-span" style="white-space:pre">   </span># conforms to second version of ipsec.conf specification</div><div><br></div><div># basic configuration</div><div>config setup</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>nat_traversal=yes<br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>virtual_private=%v:<a href="http://10.0.0.0/16">10.0.0.0/16</a></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>oe=off</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>protostack=netkey<br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>interfaces=%defaultroute</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>klipsdebug=none</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>uniqueids=yes<br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>plutodebug="control parsing"</div><div><span class="gmail-Apple-tab-span" style="white-space:pre"> </span>plutostderrlog=/var/log/ipsec.log</div><div><br></div><div>#You may put your configuration (.conf) file in the "/etc/ipsec.d/" and uncomment this.</div><div>include /etc/ipsec.d/*.conf</div></div><div><br></div><div><b>Here is my host-prd.conf</b></div><div><div>conn host-prd</div><div>        ##### Local</div><div>        left=externalIP</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">     </span>leftid=@LOCALID</div><div>        leftsubnet=externalIP/32</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">     </span>leftnexthop=%defaultroute</div><div><br></div><div>        ##### Remote</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">      </span>right=REMOTEIDIP</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">       </span>rightid=REMOTEIDIP</div><div>        rightsubnets={<a href="http://172.25.48.43/32">172.25.48.43/32</a> <a href="http://172.25.48.36/32">172.25.48.36/32</a>}</div><div>        rightnexthop=%defaultroute</div><div><br></div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>##### Auth Options</div><div>        authby=secret</div><div>        rekey=no</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">  </span>aggrmode=no</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">    </span>forceencaps=no</div><div><br></div><div>        ##### Phase 1</div><div><span class="gmail-Apple-tab-span" style="white-space:pre">        </span>ike=3des-md5-modp1024</div><div>        ikelifetime="28800"</div><div><br></div><div>        ##### Phase 2</div><div>        esp=3des-md5</div><div>        keylife="3600"</div><div>        pfs=no</div><div><br></div><div>        ##### Connection Options</div><div>        type=tunnel</div><div>        auto=start</div><div>        compress=no</div></div><div><br></div><div><b>Here is my ipsec.secrets</b></div><div>@LOCALID<span class="gmail-Apple-tab-span" style="white-space:pre">  </span>REMOTEIDIP<span class="gmail-Apple-tab-span" style="white-space:pre">    </span>: PSK "SOMEPSKHERE"<br></div><div><br></div><div><b>Here is an ipsec verify (SIDE NOTE: I cant find the errors?!)</b></div><div><div>Verifying installed system and configuration files</div><div><br></div><div>Version check and ipsec on-path                   <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>[OK]</div><div>Libreswan 3.15 (netkey) on 2.6.32-504.16.2.el6.x86_64</div><div>Checking for IPsec support in kernel              <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>[OK]</div><div> NETKEY: Testing XFRM related proc values</div><div>         ICMP default/send_redirects              <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>[OK]</div><div>         ICMP default/accept_redirects            <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>[OK]</div><div>         XFRM larval drop                         <span class="gmail-Apple-tab-span" style="white-space:pre">        </span>[OK]</div><div>Pluto ipsec.conf syntax                           <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>[OK]</div><div>Hardware random device                            <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>[N/A]</div><div>Two or more interfaces found, checking IP forwarding<span class="gmail-Apple-tab-span" style="white-space:pre">      </span>[OK]</div><div>Checking rp_filter                                <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>[ENABLED]</div><div> /proc/sys/net/ipv4/conf/default/rp_filter        <span class="gmail-Apple-tab-span" style="white-space:pre">       </span>[ENABLED]</div><div> /proc/sys/net/ipv4/conf/lo/rp_filter             <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>[ENABLED]</div><div> /proc/sys/net/ipv4/conf/eth0/rp_filter           <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>[ENABLED]</div><div> /proc/sys/net/ipv4/conf/eth1/rp_filter           <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>[ENABLED]</div><div>  rp_filter is not fully aware of IPsec and should be disabled</div><div>Checking that pluto is running                    <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>[OK]</div><div> Pluto listening for IKE on udp 500               <span class="gmail-Apple-tab-span" style="white-space:pre"> </span>[OK]</div><div> Pluto listening for IKE/NAT-T on udp 4500        <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>[OK]</div><div> Pluto ipsec.secret syntax                        <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>[OK]</div><div>Checking 'ip' command                             <span class="gmail-Apple-tab-span" style="white-space:pre">   </span>[OK]</div><div>Checking 'iptables' command                       <span class="gmail-Apple-tab-span" style="white-space:pre">      </span>[OK]</div><div>Checking 'prelink' command does not interfere with FIPSChecking for obsolete ipsec.conf options          <span class="gmail-Apple-tab-span" style="white-space:pre">     </span>[OK]</div><div>Opportunistic Encryption                          <span class="gmail-Apple-tab-span" style="white-space:pre">    </span>[DISABLED]</div><div><br></div><div>ipsec verify: encountered 9 errors - see 'man ipsec_verify' for help</div></div><div><br></div><div><b>Here is an ipsec status after a few minutes</b></div><div><div>000 using kernel interface: netkey</div><div>000 interface lo/lo ::1@500</div><div>000 interface lo/lo 127.0.0.1@4500</div><div>000 interface lo/lo 127.0.0.1@500</div><div>000 interface eth0/eth0 externalIP@4500</div><div>000 interface eth0/eth0 externalIP@500</div><div>000 interface eth1/eth1 10.0.64.10@4500</div><div>000 interface eth1/eth1 10.0.64.10@500</div><div>000</div><div>000</div><div>000 fips mode=disabled;</div><div>000 SElinux=disabled</div><div>000</div><div>000 config setup options:</div><div>000</div><div>000 configdir=/etc, configfile=/etc/ipsec.conf, secrets=/etc/ipsec.secrets, ipsecdir=/etc/ipsec.d, dumpdir=/var/run/pluto, statsbin=unset</div><div>000 sbindir=/usr/sbin, libexecdir=/usr/libexec/ipsec</div><div>000 pluto_version=3.15, pluto_vendorid=OE-Libreswan-3.15</div><div>000 nhelpers=-1, uniqueids=yes, perpeerlog=no, shuntlifetime=900s, xfrmlifetime=300s</div><div>000 ddos-cookies-treshold=50000, ddos-max-halfopen=25000, ddos-mode=auto</div><div>000 ikeport=500, strictcrlpolicy=no, crlcheckinterval=0, listen=<any>, nflog-all=0</div><div>000 secctx-attr-type=32001</div><div>000 myid = (none)</div><div>000 debug parsing+control</div><div>000</div><div>000 nat-traversal=yes, keep-alive=20, nat-ikeport=4500</div><div>000 virtual-private (%priv):</div><div>000</div><div>000 ESP algorithms supported:</div><div>000</div><div>000 algorithm ESP encrypt: id=3, name=ESP_3DES, ivlen=8, keysizemin=192, keysizemax=192</div><div>000 algorithm ESP encrypt: id=6, name=ESP_CAST, ivlen=8, keysizemin=128, keysizemax=128</div><div>000 algorithm ESP encrypt: id=11, name=ESP_NULL, ivlen=0, keysizemin=0, keysizemax=0</div><div>000 algorithm ESP encrypt: id=12, name=ESP_AES, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=13, name=ESP_AES_CTR, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=14, name=ESP_AES_CCM_A, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=15, name=ESP_AES_CCM_B, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=16, name=ESP_AES_CCM_C, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=18, name=ESP_AES_GCM_A, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=19, name=ESP_AES_GCM_B, ivlen=12, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=20, name=ESP_AES_GCM_C, ivlen=16, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=22, name=ESP_CAMELLIA, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=252, name=ESP_SERPENT, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm ESP encrypt: id=253, name=ESP_TWOFISH, ivlen=8, keysizemin=128, keysizemax=256</div><div>000 algorithm AH/ESP auth: id=1, name=AUTH_ALGORITHM_HMAC_MD5, keysizemin=128, keysizemax=128</div><div>000 algorithm AH/ESP auth: id=2, name=AUTH_ALGORITHM_HMAC_SHA1, keysizemin=160, keysizemax=160</div><div>000 algorithm AH/ESP auth: id=5, name=AUTH_ALGORITHM_HMAC_SHA2_256, keysizemin=256, keysizemax=256</div><div>000 algorithm AH/ESP auth: id=6, name=AUTH_ALGORITHM_HMAC_SHA2_384, keysizemin=384, keysizemax=384</div><div>000 algorithm AH/ESP auth: id=7, name=AUTH_ALGORITHM_HMAC_SHA2_512, keysizemin=512, keysizemax=512</div><div>000 algorithm AH/ESP auth: id=8, name=AUTH_ALGORITHM_HMAC_RIPEMD, keysizemin=160, keysizemax=160</div><div>000 algorithm AH/ESP auth: id=9, name=AUTH_ALGORITHM_AES_XCBC, keysizemin=128, keysizemax=128</div><div>000 algorithm AH/ESP auth: id=251, name=AUTH_ALGORITHM_NULL_KAME, keysizemin=0, keysizemax=0</div><div>000</div><div>000 IKE algorithms supported:</div><div>000</div><div>000 algorithm IKE encrypt: v1id=0, v1name=0??, v2id=16, v2name=AES_CCM_C, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=0, v1name=0??, v2id=15, v2name=AES_CCM_B, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=0, v1name=0??, v2id=14, v2name=AES_CCM_A, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=5, v1name=OAKLEY_3DES_CBC, v2id=3, v2name=3DES, blocksize=8, keydeflen=192</div><div>000 algorithm IKE encrypt: v1id=24, v1name=OAKLEY_CAMELLIA_CTR, v2id=24, v2name=CAMELLIA_CTR, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=8, v1name=OAKLEY_CAMELLIA_CBC, v2id=23, v2name=CAMELLIA_CBC, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=20, v1name=OAKLEY_AES_GCM_C, v2id=20, v2name=AES_GCM_C, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=19, v1name=OAKLEY_AES_GCM_B, v2id=19, v2name=AES_GCM_B, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=18, v1name=OAKLEY_AES_GCM_A, v2id=18, v2name=AES_GCM_A, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=13, v1name=OAKLEY_AES_CTR, v2id=13, v2name=AES_CTR, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=7, v1name=OAKLEY_AES_CBC, v2id=12, v2name=AES_CBC, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=65004, v1name=OAKLEY_SERPENT_CBC, v2id=65004, v2name=SERPENT_CBC, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=65005, v1name=OAKLEY_TWOFISH_CBC, v2id=65005, v2name=TWOFISH_CBC, blocksize=16, keydeflen=128</div><div>000 algorithm IKE encrypt: v1id=65289, v1name=OAKLEY_TWOFISH_CBC_SSH, v2id=65289, v2name=TWOFISH_CBC_SSH, blocksize=16, keydeflen=128</div><div>000 algorithm IKE hash: id=1, name=OAKLEY_MD5, hashlen=16</div><div>000 algorithm IKE hash: id=2, name=OAKLEY_SHA1, hashlen=20</div><div>000 algorithm IKE hash: id=4, name=OAKLEY_SHA2_256, hashlen=32</div><div>000 algorithm IKE hash: id=5, name=OAKLEY_SHA2_384, hashlen=48</div><div>000 algorithm IKE hash: id=6, name=OAKLEY_SHA2_512, hashlen=64</div><div>000 algorithm IKE hash: id=9, name=DISABLED-OAKLEY_AES_XCBC, hashlen=16</div><div>000 algorithm IKE dh group: id=2, name=OAKLEY_GROUP_MODP1024, bits=1024</div><div>000 algorithm IKE dh group: id=5, name=OAKLEY_GROUP_MODP1536, bits=1536</div><div>000 algorithm IKE dh group: id=14, name=OAKLEY_GROUP_MODP2048, bits=2048</div><div>000 algorithm IKE dh group: id=15, name=OAKLEY_GROUP_MODP3072, bits=3072</div><div>000 algorithm IKE dh group: id=16, name=OAKLEY_GROUP_MODP4096, bits=4096</div><div>000 algorithm IKE dh group: id=17, name=OAKLEY_GROUP_MODP6144, bits=6144</div><div>000 algorithm IKE dh group: id=18, name=OAKLEY_GROUP_MODP8192, bits=8192</div><div>000 algorithm IKE dh group: id=22, name=OAKLEY_GROUP_DH22, bits=1024</div><div>000 algorithm IKE dh group: id=23, name=OAKLEY_GROUP_DH23, bits=2048</div><div>000 algorithm IKE dh group: id=24, name=OAKLEY_GROUP_DH24, bits=2048</div><div>000</div><div>000 stats db_ops: {curr_cnt, total_cnt, maxsz} :context={0,2,64} trans={0,2,6144} attrs={0,2,4096}</div><div>000</div><div>000 Connection list:</div><div>000</div><div>000 "host-prd/0x1": externalIP/32===externalIP<externalIP>[@LIDTECH]---defaultGW...REMOTEIDIP<REMOTEIDIP>===<a href="http://172.25.48.43/32">172.25.48.43/32</a>; prospective erouted; eroute owner: #0</div><div>000 "host-prd/0x1":     oriented; my_ip=unset; their_ip=unset</div><div>000 "host-prd/0x1":   xauth info: us:none, them:none,  my_xauthuser=[any]; their_xauthuser=[any]</div><div>000 "host-prd/0x1":   modecfg info: us:none, them:none, modecfg policy:push, dns1:unset, dns2:unset, domain:unset, banner:unset;</div><div>000 "host-prd/0x1":   labeled_ipsec:no;</div><div>000 "host-prd/0x1":   policy_label:unset;</div><div>000 "host-prd/0x1":   ike_life: 28800s; ipsec_life: 3600s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0;</div><div>000 "host-prd/0x1":   retransmit-interval: 500ms; retransmit-timeout: 60s;</div><div>000 "host-prd/0x1":   sha2_truncbug:no; initial_contact:no; cisco_unity:no; send_vendorid:no;</div><div>000 "host-prd/0x1":   policy: PSK+ENCRYPT+TUNNEL+DONT_REKEY+UP+IKEV1_ALLOW+IKEV2_ALLOW+SAREF_TRACK+IKE_FRAG_ALLOW;</div><div>000 "host-prd/0x1":   conn_prio: 32,32; interface: eth0; metric: 0; mtu: unset; sa_prio:auto; nflog-group: unset;</div><div>000 "host-prd/0x1":   newest ISAKMP SA: #0; newest IPsec SA: #0;</div><div>000 "host-prd/0x1":   aliases: host-prd</div><div>000 "host-prd/0x1":   IKE algorithms wanted: 3DES_CBC(5)_000-MD5(1)_000-MODP1024(2)</div><div>000 "host-prd/0x1":   IKE algorithms found:  3DES_CBC(5)_192-MD5(1)_128-MODP1024(2)</div><div>000 "host-prd/0x1":   ESP algorithms wanted: 3DES(3)_000-MD5(1)_000</div><div>000 "host-prd/0x1":   ESP algorithms loaded: 3DES(3)_000-MD5(1)_000</div><div>000 "host-prd/0x2": externalIP/32===externalIP<externalIP>[@LIDTECH]---defaultGW...REMOTEIDIP<REMOTEIDIP>===<a href="http://172.25.48.36/32">172.25.48.36/32</a>; prospective erouted; eroute owner: #0</div><div>000 "host-prd/0x2":     oriented; my_ip=unset; their_ip=unset</div><div>000 "host-prd/0x2":   xauth info: us:none, them:none,  my_xauthuser=[any]; their_xauthuser=[any]</div><div>000 "host-prd/0x2":   modecfg info: us:none, them:none, modecfg policy:push, dns1:unset, dns2:unset, domain:unset, banner:unset;</div><div>000 "host-prd/0x2":   labeled_ipsec:no;</div><div>000 "host-prd/0x2":   policy_label:unset;</div><div>000 "host-prd/0x2":   ike_life: 28800s; ipsec_life: 3600s; rekey_margin: 540s; rekey_fuzz: 100%; keyingtries: 0;</div><div>000 "host-prd/0x2":   retransmit-interval: 500ms; retransmit-timeout: 60s;</div><div>000 "host-prd/0x2":   sha2_truncbug:no; initial_contact:no; cisco_unity:no; send_vendorid:no;</div><div>000 "host-prd/0x2":   policy: PSK+ENCRYPT+TUNNEL+DONT_REKEY+UP+IKEV1_ALLOW+IKEV2_ALLOW+SAREF_TRACK+IKE_FRAG_ALLOW;</div><div>000 "host-prd/0x2":   conn_prio: 32,32; interface: eth0; metric: 0; mtu: unset; sa_prio:auto; nflog-group: unset;</div><div>000 "host-prd/0x2":   newest ISAKMP SA: #0; newest IPsec SA: #0;</div><div>000 "host-prd/0x2":   aliases: host-prd</div><div>000 "host-prd/0x2":   IKE algorithms wanted: 3DES_CBC(5)_000-MD5(1)_000-MODP1024(2)</div><div>000 "host-prd/0x2":   IKE algorithms found:  3DES_CBC(5)_192-MD5(1)_128-MODP1024(2)</div><div>000 "host-prd/0x2":   ESP algorithms wanted: 3DES(3)_000-MD5(1)_000</div><div>000 "host-prd/0x2":   ESP algorithms loaded: 3DES(3)_000-MD5(1)_000</div><div>000</div><div>000 Total IPsec connections: loaded 2, active 0</div><div>000</div><div>000 State Information: DDoS cookies not required, Accepting new IKE connections</div><div>000 IKE SAs: total(0), half-open(0), open(0), authenticated(0), anonymous(0)</div><div>000 IPsec SAs: total(0), authenticated(0), anonymous(0)</div><div>000</div><div>000 Bare Shunt list:</div><div>000</div></div><div><br></div><div><b>Here is the last part of an ipsec status before the connection "times out":</b></div><div><div><br></div><div>000 #1: "host-prd/0x2":500 STATE_MAIN_I3 (sent MI3, expecting MR3); EVENT_v1_RETRANSMIT in 0s; nodpd; idle; import:admin initiate</div><div>000 #1: pending Phase 2 for "mtn-ug-prd/0x1" replacing #0</div><div>000 #1: pending Phase 2 for "mtn-ug-prd/0x2" replacing #0</div></div><div><br></div><div>My suspicion is that this is a misconfiguration on their end, but not sure what though...</div><div><br></div><div>Any advice would be great - thanks in advance</div><div><br></div><div>Ian</div></div>