Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    IPsec/racoon fails to start, config error

    Scheduled Pinned Locked Moved 2.0-RC Snapshot Feedback and Problems - RETIRED
    8 Posts 5 Posters 12.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D Offline
      dszp
      last edited by

      In recent snapshots, IPsec fails because racoon fails to start on one particular box, including after I backed up the config, reinstalled pfSense and restored the config file. It's working on other installs with different configs still, so it's definitely related to this specific config, but it wasn't changed manually ever, and wasn't changed after the update, it just stopped working after running an upgrade and nothing else. No upgrades to snapshots in the past few days have fixed it. Now that the system logs are working again, I can get logs of why it's not starting, looks like a config error in racoon.conf.

      My IPsec log contains only this (one set of entries from bootup after snapshot upgrade, the second try is from me manually clicking Start on the racoon service):

      Dec 18 16:50:27	racoon: [Mobile IPsec]: ERROR: fatal parse failure (1 errors)
      Dec 18 16:50:27	racoon: [Mobile IPsec]: ERROR: /var/etc/racoon.conf:75: "}" duplicated sainfo: loc='ANONYMOUS', rmt='ANONYMOUS', peer='ANY', id=1
      Dec 18 16:50:27	racoon: [Mobile IPsec]: INFO: Resize address pool from 0 to 253
      Dec 18 16:50:27	racoon: [Mobile IPsec]: INFO: Reading configuration from "/var/etc/racoon.conf"
      Dec 18 16:50:27	racoon: [Mobile IPsec]: INFO: @(#)This product linked OpenSSL 0.9.8n 24 Mar 2010 (http://www.openssl.org/)
      Dec 18 16:50:27	racoon: [Mobile IPsec]: INFO: @(#)ipsec-tools 0.7.3 (http://ipsec-tools.sourceforge.net)
      Dec 18 16:45:28	racoon: [Mobile IPsec]: ERROR: fatal parse failure (1 errors)
      Dec 18 16:45:28	racoon: [Mobile IPsec]: ERROR: /var/etc/racoon.conf:75: "}" duplicated sainfo: loc='ANONYMOUS', rmt='ANONYMOUS', peer='ANY', id=1
      Dec 18 16:45:28	racoon: [Mobile IPsec]: INFO: Resize address pool from 0 to 253
      Dec 18 16:45:28	racoon: [Mobile IPsec]: INFO: Reading configuration from "/var/etc/racoon.conf"
      Dec 18 16:45:28	racoon: [Mobile IPsec]: INFO: @(#)This product linked OpenSSL 0.9.8n 24 Mar 2010 (http://www.openssl.org/)
      Dec 18 16:45:28	racoon: [Mobile IPsec]: INFO: @(#)ipsec-tools 0.7.3 (http://ipsec-tools.sourceforge.net)
      

      Here's my (IP-and-KeyID-sanitized) /var/etc/racoon.conf file:

      # This file is automatically generated. Do not edit
      path pre_shared_key "/var/etc/psk.txt";
      
      path certificate  "/var/etc";
      
      listen
      {
              adminsock "/var/db/racoon/racoon.sock" "root" "wheel" 0660;
              isakmp 12.13.14.165 [500];
              isakmp_natt 12.13.14.165 [4500];
      }
      
      mode_cfg
      {
              auth_source system;
              group_source system;
              pool_size 253;
              network4 172.30.201.1;
              netmask4 255.255.255.0;
              split_network include 172.30.1.0/24, 172.30.99.0/24, 172.30.7.0/24, 172.30.90.0/24, 172.30.95.0/24;
              dns4 172.30.1.254;
              default_domain "nothing.local";
              split_dns "nothing.local";
      }
      
      remote anonymous
      {
              ph1id 1;
              exchange_mode aggressive;
              my_identifier address 12.13.14.165;
              peers_identifier keyid tag "KeyIDhere";
              ike_frag on;
              generate_policy = unique;
              initial_contact = off;
              nat_traversal = on;
      
              dpd_delay = 10;
              dpd_maxfail = 5;
              support_proxy on;
              proposal_check claim;
      
              proposal
              {
                      authentication_method xauth_psk_server;
                      encryption_algorithm 3des;
                      hash_algorithm sha1;
                      dh_group 2;
                      lifetime time 28800 secs;
              }
      }
      
      sainfo   anonymous
      {
              remoteid 1;
              encryption_algorithm aes 128, 3des;
              authentication_algorithm hmac_sha1;
      
              lifetime time 3600 secs;
              compression_algorithm deflate;
      }
      
      sainfo   anonymous
      {
              remoteid 1;
              encryption_algorithm aes 128, 3des;
              authentication_algorithm hmac_sha1;
      
              lifetime time 3600 secs;
              compression_algorithm deflate;
      }
      
      sainfo   anonymous
      {
              remoteid 1;
              encryption_algorithm aes 128, 3des;
              authentication_algorithm hmac_sha1;
      
              lifetime time 3600 secs;
              compression_algorithm deflate;
      }
      
      sainfo   anonymous
      {
              remoteid 1;
              encryption_algorithm aes 128, 3des;
              authentication_algorithm hmac_sha1;
      
              lifetime time 3600 secs;
              compression_algorithm deflate;
      }
      
      sainfo   anonymous
      {
              remoteid 1;
              encryption_algorithm aes 128, 3des;
              authentication_algorithm hmac_sha1;
      
              lifetime time 3600 secs;
              compression_algorithm deflate;
      }
      

      And here's the IPsec config file export, also sanitized:

      
       <ipsec><client><enable><user_source>system</user_source>
      		<group_source>system</group_source>
      		<pool_address>172.30.201.0</pool_address>
      		<pool_netbits>24</pool_netbits>
      		 <net_list><dns_domain>nothing.local</dns_domain>
      		<dns_server1>172.30.1.254</dns_server1></net_list></enable></client> 
      	 <phase1><ikeid>1</ikeid>
      		<interface>wan</interface>
      		 <mobile><mode>aggressive</mode>
      		<myid_type>myaddress</myid_type>
      		 <myid_data><peerid_type>keyid tag</peerid_type>
      		<peerid_data>KeyIDHere</peerid_data>
      		 <encryption-algorithm><name>3des</name></encryption-algorithm> 
      		<hash-algorithm>sha1</hash-algorithm>
      		<dhgroup>2</dhgroup>
      		<lifetime>28800</lifetime>
      		<pre-shared-key>PSK HERE</pre-shared-key>
      		 <private-key><certref>certrefhere</certref>
      		<caref>carefhere</caref>
      		<authentication_method>xauth_psk_server</authentication_method>
      		 <proposal_check><nat_traversal>on</nat_traversal>
      		<dpd_delay>10</dpd_delay>
      		<dpd_maxfail>5</dpd_maxfail></proposal_check></private-key></myid_data></mobile></phase1> 
      	 <phase2><ikeid>1</ikeid>
      		<mode>tunnel</mode>
      		 <localid><type>lan</type></localid> 
      		 <remoteid><type>mobile</type></remoteid> 
      		<protocol>esp</protocol>
      		 <encryption-algorithm-option><name>aes</name>
      			<keylen>128</keylen></encryption-algorithm-option> 
      		 <encryption-algorithm-option><name>3des</name></encryption-algorithm-option> 
      		<hash-algorithm-option>hmac_sha1</hash-algorithm-option>
      		<pfsgroup>0</pfsgroup>
      		<lifetime>3600</lifetime></phase2> 
      	 <phase2><ikeid>1</ikeid>
      		<mode>tunnel</mode>
      		 <localid><type>network</type>
      
      <address>172.30.99.0</address>
      
      			<netbits>24</netbits></localid> 
      		 <remoteid><type>mobile</type></remoteid> 
      		<protocol>esp</protocol>
      		 <encryption-algorithm-option><name>aes</name>
      			<keylen>128</keylen></encryption-algorithm-option> 
      		 <encryption-algorithm-option><name>3des</name></encryption-algorithm-option> 
      		<hash-algorithm-option>hmac_sha1</hash-algorithm-option>
      		<pfsgroup>0</pfsgroup>
      		<lifetime>3600</lifetime></phase2> 
      	 <phase2><ikeid>1</ikeid>
      		<mode>tunnel</mode>
      		 <localid><type>network</type>
      
      <address>172.30.7.0</address>
      
      			<netbits>24</netbits></localid> 
      		 <remoteid><type>mobile</type></remoteid> 
      		<protocol>esp</protocol>
      		 <encryption-algorithm-option><name>aes</name>
      			<keylen>128</keylen></encryption-algorithm-option> 
      		 <encryption-algorithm-option><name>3des</name></encryption-algorithm-option> 
      		<hash-algorithm-option>hmac_sha1</hash-algorithm-option>
      		<pfsgroup>0</pfsgroup>
      		<lifetime>3600</lifetime></phase2> 
      	 <phase2><ikeid>1</ikeid>
      		<mode>tunnel</mode>
      		 <localid><type>network</type>
      
      <address>172.30.90.0</address>
      
      			<netbits>24</netbits></localid> 
      		 <remoteid><type>mobile</type></remoteid> 
      		<protocol>esp</protocol>
      		 <encryption-algorithm-option><name>aes</name>
      			<keylen>128</keylen></encryption-algorithm-option> 
      		 <encryption-algorithm-option><name>3des</name></encryption-algorithm-option> 
      		<hash-algorithm-option>hmac_sha1</hash-algorithm-option>
      		<pfsgroup>0</pfsgroup>
      		<lifetime>3600</lifetime></phase2> 
      	 <phase2><ikeid>1</ikeid>
      		<mode>tunnel</mode>
      		 <localid><type>network</type>
      
      <address>172.30.95.0</address>
      
      			<netbits>24</netbits></localid> 
      		 <remoteid><type>mobile</type></remoteid> 
      		<protocol>esp</protocol>
      		 <encryption-algorithm-option><name>aes</name>
      			<keylen>128</keylen></encryption-algorithm-option> 
      		 <encryption-algorithm-option><name>3des</name></encryption-algorithm-option> 
      		<hash-algorithm-option>hmac_sha1</hash-algorithm-option>
      		<pfsgroup>0</pfsgroup>
      		<lifetime>3600</lifetime></phase2> 
      	 <enable></enable></ipsec> 
      

      This is from the system where I installed and restored (due to this issue) previous config file on a snapshot from a couple of days ago (so a "clean" install restored with the above config (entire old config restored not just IPsec) regenerates the same erroneous racoon.conf), but right now it's upgraded to 2.0-BETA4 (i386) built on Sat Dec 18 09:51:58 EST 2010 which is where I got the .conf/config/logs above from. I have also tried unchecking "Enable IPsec" and saving, then re-checking and saving, but no change.

      David Szpunar

      1 Reply Last reply Reply Quote 0
      • D Offline
        dszp
        last edited by

        OK found a little more information. I had a single Mobile IPsec connection configured, but with five Phase-2 entries/networks. Based on the config file error being at line 75, which was where the second "sainfo" of five was located (and the error was about duplicate sainfo sections), I deleted all but one Phase-2 from under the Phase-1 Mobile entry in pfSense. With just one Phase-2, the connection works, racoon runs, traffic flows, the works. So it's an issue with multiple Phase 2's (not sure if it's limited to Mobile IPsec only). Something changed since like I said it used to work fine. I don't know enough about the racoon.conf file syntax to know what changed and I don't have an old version handy to look at, but I'm guessing with this info someone more in-the-know will be able to track this down easily.

        Update: since I can reproduce this and see the change needed to fix it (minus secondary Phase 2 tunnels working), I opened a bug in redmine: http://redmine.pfsense.org/issues/1116

        David Szpunar

        1 Reply Last reply Reply Quote 0
        • M Offline
          mxx
          last edited by

          Hi,

          are static ipsec tunnels affected too?
          At least I can say that (static ip <-> static ip) ipsec with 2 p2s does work fine for me on the 11th Dec snapshot.

          1 Reply Last reply Reply Quote 0
          • A Offline
            andrew0401
            last edited by

            On the current snapshot - IPSEC takes a couple of reboots before it will connect and then this appears in the log

            php: /vpn_ipsec.php: The command '/usr/local/sbin/racoonctl -s /var/db/racoon/racoon.sock reload-config' returned exit code '1', the output was ''

            Andrew

            1 Reply Last reply Reply Quote 0
            • jimpJ Offline
              jimp Rebel Alliance Developer Netgate
              last edited by

              I tested it on yesterday's snapshot and it worked perfectly for me, even reconnected after a DPD loss.

              IPsec will never take "a couple of reboots" to connect. The most you might have to do to IPsec is restart the racoon service (Status > Services) but even then that wasn't necessary in my testing.

              Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

              Need help fast? Netgate Global Support!

              Do not Chat/PM for help!

              1 Reply Last reply Reply Quote 0
              • M Offline
                mxx
                last edited by

                I had some issues yesterday (snapshot 11th Dec) when I changed the (more than one) p2 configs. The new p2s didn't work + I got errors in system logs about racoon.
                When I upgraded to the most recent snapshot, everything started to work again flawlessly.. no errors.
                I have 3 p1s (certificates) with static addresses  and on each 2 p2s..

                1 Reply Last reply Reply Quote 0
                • D Offline
                  dszp
                  last edited by

                  Note that Chris Buechler just updated the Redmine ticket for this bug to report that:

                  the original bug is fixed, and the later issue with non-0 exit status on racoonctl is fixed in ipsec-tools 0.8.0.

                  Looks like this fixes a bug with Downed Peer Detection (DPD) as well. This is great to hear!

                  David Szpunar

                  1 Reply Last reply Reply Quote 0
                  • C Offline
                    cmb
                    last edited by

                    @David:

                    Note that Chris Buechler just updated the Redmine ticket for this bug to report that:

                    the original bug is fixed, and the later issue with non-0 exit status on racoonctl is fixed in ipsec-tools 0.8.0.

                    Looks like this fixes a bug with Downed Peer Detection (DPD) as well. This is great to hear!

                    if you want to try it:
                    http://forum.pfsense.org/index.php/topic,33010.0.html

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post
                    Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.