Community discussions

MUM Europe 2020
 
deh384
just joined
Topic Author
Posts: 12
Joined: Tue Sep 19, 2006 6:29 am
Location: Oregon USA

IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Sat Oct 10, 2009 8:24 pm

I am trying to replace a SonicWall as the central hub in a branch office network.
The 5 branch site each have small Sonic Walls with IPSEC tunnel to the central hub.
The central hub receives all company traffic from each site and routes it back to the correct branch or central facility.

This means that the IPSEC tunnel between the central office and each branch is transporting traffic for 6 network destinations in different ip address spaces.
Central office - 10.10.1.0/24
branch 1 - 10.10.2.0/
branch 2 - 10.10.3.0/
branch 3 - 10.20.4.0
branch 4 - 10.10.5.0/
branch 5 - 10.30.2.0/

The current Sonicwall at the central office does this very well. you simply add multiple network number to the definition.

I can't figure out how to do this in ROS IPSEC as the central hub of the network.
I need to forward traffic between the branch offices.
thanks
 
User avatar
hilton
Long time Member
Long time Member
Posts: 635
Joined: Thu Sep 07, 2006 5:12 pm
Location: Jozi (aka Johannesburg), South Africa

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Sat Oct 10, 2009 11:59 pm

This is done very easily with L2TP. Why do you need to use IPSec?
Regards
Hilton
 
oneobserver
just joined
Posts: 8
Joined: Sat Oct 10, 2009 11:14 pm

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Sun Oct 11, 2009 8:00 am

I'm Dave's Partner. The reason we are using IPSEC, is because we are replacing an existing Sonicwall and we had two basic requirements. Don't change the remote router's setup, and duplicate the existing routers setup. The existing setup uses IPSEC for the VPN Tunnels, so we need to use IPSEC for this replacement. THis is easy to do on the Sonicwall with IPSEC. On the remote connection's definition you add the networks you want this tunnel to access. There should be a way to say which tunnels are allowed to acces which other tunnels...

markh aka oneonserver
 
User avatar
hilton
Long time Member
Long time Member
Posts: 635
Joined: Thu Sep 07, 2006 5:12 pm
Location: Jozi (aka Johannesburg), South Africa

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Sun Oct 11, 2009 9:45 pm

There should be a way to say which tunnels are allowed to acces which other tunnels...
Mark, this is done easily with simple static routing.
Regards
Hilton
 
oneobserver
just joined
Posts: 8
Joined: Sat Oct 10, 2009 11:14 pm

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Mon Oct 12, 2009 2:28 am

Hilton,

That would be true if IPSEC VPNs created an interface that you can route against, or are we missing something?

markh
 
deh384
just joined
Topic Author
Posts: 12
Joined: Tue Sep 19, 2006 6:29 am
Location: Oregon USA

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Mon Oct 12, 2009 10:23 pm

Is there any way that metarouters could help this issue?
I need to find a solution or the client will go buy a big sonicwall.
 
oneobserver
just joined
Posts: 8
Joined: Sat Oct 10, 2009 11:14 pm

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Mon Oct 12, 2009 10:53 pm

The sense of urgency with this is, that we have been trying to get one of our partners to allow us to sell them a MikroTik router for one of their installations for about 6 months and this is the first installation where we could get them to agree. This functionality is the first thing that we have found that we couldn't do with a MikroTik, and as irony would have it, it comes up with this installation.

If we fail with this installation, then we will never be able to get them to let us use a MiKroTik again and this will be a rather big channel for us... and MikroTik.

markh aka oneobserver
 
User avatar
hilton
Long time Member
Long time Member
Posts: 635
Joined: Thu Sep 07, 2006 5:12 pm
Location: Jozi (aka Johannesburg), South Africa

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Mon Oct 12, 2009 11:09 pm

Sorry guys but I have no experience with IPSec.

Have you looked at the online manual? There's a couple of pretty comprehensive examples there to follow.

There are even a few articles in the wiki which cover what you need.

Hope you come right.
Regards
Hilton
 
oneobserver
just joined
Posts: 8
Joined: Sat Oct 10, 2009 11:14 pm

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 12:24 am

Everything in the on-line manual and Wiki that we have found so far only ties two locations together, so doesn't offer a solution for accessing 3+ and allowing all spokes the ability to access each other. If you have found one that we missed, a pointer wuld be greatly appreciated!!

markh AKA oneobserver
 
fewi
Forum Guru
Forum Guru
Posts: 7734
Joined: Tue Aug 11, 2009 3:19 am

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 12:52 am

As long as the branch offices are configured to send traffic to the other branch offices via the IPSec tunnel, this should simply work. That would be part of the IPSec policy on the branch side and would already exist if this setup is currently working with SonicWalls.

The branch sends IPSec encrypted traffic to the central office if that traffic matches the branch side policy. The packet gets decrypted at the central office. Routing decisions are made, and the firewall either permits or denies the packet (that's where you implement your rules governing which branches can talk amongst each other). Then a post routing decision is made regarding IPSec policies and the packet is found to match the policy for another branch. It is then encrypted and sent on to the other branch.

http://wiki.mikrotik.com/wiki/Packet_Flow
 
oneobserver
just joined
Posts: 8
Joined: Sat Oct 10, 2009 11:14 pm

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 1:22 am

fewi,

I agree that the documentation says that, but the reality is that it is not proving to be true. We do not have any sort of firewall blocking setup between the sites, in fact Dave says that it is explicitly not blocking. The "policies" are setup on the Branch Sonicwalls, and VPN Connections get established between the hub and branch locations, but no traffic is allowed between branches. Does a policy need to be setup on the hub as well and if so, what would that policy look like?

markh aka oneobserver
 
fewi
Forum Guru
Forum Guru
Posts: 7734
Joined: Tue Aug 11, 2009 3:19 am

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 1:41 am

The hub would need policies that match traffic from one branch to another. If you're auto-generating the policies on the central router, they would probably just match traffic between the remote branch and the central office, so any packet from one branch to another wouldn't have a matching SA and would be discarded.

I don't use IPSec on Mikrotik so I don't have specific configuration examples.
 
oneobserver
just joined
Posts: 8
Joined: Sat Oct 10, 2009 11:14 pm

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 1:56 am

As far as we can tell, nobody uses IPSec except us. at least that is reading this forum. Sigh!

We have tried generating additional policies, but apparently don't understand the syntax well enough. Every time I tried, it complained that the addresses needed to be /32 (host) addresses instead of /24 (network).

markh
 
fewi
Forum Guru
Forum Guru
Posts: 7734
Joined: Tue Aug 11, 2009 3:19 am

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 2:27 am

That indicates that you're in transport mode (host to host) and not tunnel mode. Check the 'tunnel' checkbox and it should allow non-host netmasks.
 
oneobserver
just joined
Posts: 8
Joined: Sat Oct 10, 2009 11:14 pm

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 3:28 am

Sorry, been doing this so much I did figure that one out.

I now have a new policy setup, but am having trouble with the Action definition. What should I be using for the source and destination addresses? It will only accept a host and not a network in both of those locations, an 0.0.0.0 doesn't work either. I also assumed that the action option should be none (or encrypt?), but am not sure what to use for Level - Required or Use?

markh
 
fewi
Forum Guru
Forum Guru
Posts: 7734
Joined: Tue Aug 11, 2009 3:19 am

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 3:37 am

In the 'Action' section the source and destination IP address refer to the SA end points (the hosts between which a policy is valid), and not the tunneled traffic. If you specify both, the policy only matches the tunnel between that branch and the central office as defined by the router IPs in those locations. 0.0.0.0 does work (at least on 3.30) and means 'any'.

As far as the action, here the manual:
Action - if rule matches action specified in rule is performed:
• none - continue with the packet as if there was no IPsec
• discard - drop the packet
• encrypt - apply IPsec transformations to the packet
so you want 'encrypt'.

For the level:
• use - if there is no valid SA, send packet unencrypted (like accept rule)
• require - drop packet, and ask IKE daemon to establish a new SA.
• unique - same as require, but establish a unique SA for this policy (i.e., this SA may not be
shared with other policy)
You probably want 'require'
 
oneobserver
just joined
Posts: 8
Joined: Sat Oct 10, 2009 11:14 pm

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Tue Oct 13, 2009 8:46 am

fewi,

Thank you. That all makes sense. Let us play with it a bit and see if we can get this working.

markh
 
User avatar
hilton
Long time Member
Long time Member
Posts: 635
Joined: Thu Sep 07, 2006 5:12 pm
Location: Jozi (aka Johannesburg), South Africa

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Wed Oct 14, 2009 7:47 am

Dudes, you may want to take a look at this video as well;
http://gregsowell.com/?p=787#more-787
Let us know how you progress.
Regards
Hilton
 
taylorc
Frequent Visitor
Frequent Visitor
Posts: 99
Joined: Mon Aug 21, 2006 3:42 am

Re: IPSEC spoke and wheel network - Mikrotik to replace SonicWal

Wed Oct 14, 2009 10:03 pm

=================================================
If you want these IpSec problems FIXED please VOTE for it!

"Implement IPSEC "Virtual Interface" VPN's, allowing easy dynamic routing across IPSEC"
http://wiki.mikrotik.com/wiki/MikroTik_ ... mplemented

Thanks for your vote!!!
=================================================


Ok... There are a number of things involved in IpSec and if they are all not just exactly right, it will not work.

For the purpose of this example, I'm using 172.16.0.51, 172.17.0.52, etc. for your public IP addresses:

Central network: 10.10.1.0/24 - Public IP address: 172.16.0.50
Branch #1 network: 10.10.2.0/24 - Public IP address: 172.21.0.51
Branch #2 network: 10.10.3.0/24 - Public IP address: 172.22.0.52
Branc#3 network: 10.10.4.0/24 - Public IP address: 172.23.0.53
Branch #4 network: 10.10.5.0/24 - Public IP address: 172.24.0.54
Branch #5 network: 10.10.6.0/24 - Public IP address: 172.25.0.55

Central network
=====
* Simplify the Proposal settings first - Make sure these MATCH exactly the settings on the Sonicwall! I'm just guessing these.

IP -> IpSec -> Proposals -> edit default

Auth. Algorithms: Check only "sha1"
Encr. Algorithms: Check only "3des"
Lifetime: Clear field (Click Up-facing triangle to the right of field)
PFS Group: modp1024

* Next, you have to define a peer mapping for each branch office. For each branch, add a peer entry:

Branch #1
-----
IP -> IpSec -> Peers -> new (Click the + button)

Address: 172.21.0.51
Auth. Method: pre-shared key
Secret: 1234567 [Change this to something LONG and RANDOM after you get everything working on the bench!]
Exchange Mode: main
Send Initial Contact: Checked
Proposal Check: obey
Hash Algorithm: sha
Encryption Algorithm: 3des
DH Group: modp1024
Generate Policy: unchecked
Lifetime: 08:00:00
DPD Interval: disable DPD

Branch #2
-----
IP -> IpSec -> Peers -> new (Click the + button)

Address: 172.22.0.52
Auth. Method: pre-shared key
Secret: 1234567 [Change this to something LONG and RANDOM after you get everything working on the bench!]
Exchange Mode: main
Send Initial Contact: Checked
Proposal Check: obey
Hash Algorithm: sha
Encryption Algorithm: 3des
DH Group: modp1024
Generate Policy: unchecked
Lifetime: 08:00:00
DPD Interval: disable DPD

Branch #3
-----
IP -> IpSec -> Peers -> new (Click the + button)

Address: 172.23.0.53
Auth. Method: pre-shared key
Secret: 1234567 [Change this to something LONG and RANDOM after you get everything working on the bench!]
Exchange Mode: main
Send Initial Contact: Checked
Proposal Check: obey
Hash Algorithm: sha
Encryption Algorithm: 3des
DH Group: modp1024
Generate Policy: unchecked
Lifetime: 08:00:00
DPD Interval: disable DPD

Branch #4
-----
IP -> IpSec -> Peers -> new (Click the + button)

Address: 172.24.0.54
Auth. Method: pre-shared key
Secret: 1234567 [Change this to something LONG and RANDOM after you get everything working on the bench!]
Exchange Mode: main
Send Initial Contact: Checked
Proposal Check: obey
Hash Algorithm: sha
Encryption Algorithm: 3des
DH Group: modp1024
Generate Policy: unchecked
Lifetime: 08:00:00
DPD Interval: disable DPD

Branch #5
-----
IP -> IpSec -> Peers -> new (Click the + button)

Address: 172.25.0.55
Auth. Method: pre-shared key
Secret: 1234567 [Change this to something LONG and RANDOM after you get everything working on the bench!]
Exchange Mode: main
Send Initial Contact: Checked
Proposal Check: obey
Hash Algorithm: sha
Encryption Algorithm: 3des
DH Group: modp1024
Generate Policy: unchecked
Lifetime: 08:00:00
DPD Interval: disable DPD

* Now, define a IpSec policy for each branch:

Branch #1
-----

IP -> IpSec -> Policies -> new (Click the + button)

General Tab
-----
Src. Address: 10.0.0.0/8 (All 10-net traffic.....)
Dst. Address: 10.10.2.0/24 (.....destined to 10.10.2.0/24)
Protocol: all

Action Tab
-----
Action: encrypt
Level: require
IPsec Protocols: esp
Tunnel: checked
SA Src. Address: 172.16.0.50
SA Dst. Address: 172.21.0.51
Proposal: default

Branch #2
-----

IP -> IpSec -> Policies -> new (Click the + button)

General Tab
-----
Src. Address: 10.0.0.0/8 (All 10-net traffic.....)
Dst. Address: 10.10.3.0/24 (.....destined to 10.10.3.0/24)
Protocol: all

Action Tab
-----
Action: encrypt
Level: require
IPsec Protocols: esp
Tunnel: checked
SA Src. Address: 172.16.0.50
SA Dst. Address: 172.22.0.52
Proposal: default

Branch #3
-----

IP -> IpSec -> Policies -> new (Click the + button)

General Tab
-----
Src. Address: 10.0.0.0/8 (All 10-net traffic.....)
Dst. Address: 10.10.4.0/24 (.....destined to 10.10.4.0/24)
Protocol: all

Action Tab
-----
Action: encrypt
Level: require
IPsec Protocols: esp
Tunnel: checked
SA Src. Address: 172.16.0.50
SA Dst. Address: 172.23.0.53
Proposal: default

Branch #4
-----

IP -> IpSec -> Policies -> new (Click the + button)

General Tab
-----
Src. Address: 10.0.0.0/8 (All 10-net traffic.....)
Dst. Address: 10.10.5.0/24 (.....destined to 10.10.5.0/24)
Protocol: all

Action Tab
-----
Action: encrypt
Level: require
IPsec Protocols: esp
Tunnel: checked
SA Src. Address: 172.16.0.50
SA Dst. Address: 172.24.0.54
Proposal: default

Branch #5
-----

IP -> IpSec -> Policies -> new (Click the + button)

General Tab
-----
Src. Address: 10.0.0.0/8 (All 10-net traffic.....)
Dst. Address: 10.10.6.0/24 (.....destined to 10.10.6.0/24)
Protocol: all

Action Tab
-----
Action: encrypt
Level: require
IPsec Protocols: esp
Tunnel: checked
SA Src. Address: 172.16.0.50
SA Dst. Address: 172.25.0.55
Proposal: default

Branch Office #1
=====

** I know it isn't a Mikrotik, but if it was, this is how you would configure it to connect to the above.

IP -> IpSec -> Proposals -> edit default

Auth. Algorithms: Check only "sha1"
Encr. Algorithms: Check only "3des"
Lifetime: Clear field (Click Up-facing triangle to the right of field)
PFS Group: modp1024

IP -> IpSec -> Peers -> new (Click the + button)

Address: 172.16.0.50 (Only have to peer with the central office)
Auth. Method: pre-shared key
Secret: 1234567 [Change this to something LONG and RANDOM after you get everything working on the bench!]
Exchange Mode: main
Send Initial Contact: Checked
Proposal Check: obey
Hash Algorithm: sha
Encryption Algorithm: 3des
DH Group: modp1024
Generate Policy: unchecked
Lifetime: 08:00:00
DPD Interval: disable DPD

IP -> IpSec -> Policies -> new (Click the + button)

General Tab
-----
Src. Address: 10.10.2.0/24 (All 10.10.2.0/24 traffic.....)
Dst. Address: 10.0.0.0/8 (.....destined to 10.0.0.0/8)
Protocol: all

Action Tab
-----
Action: encrypt
Level: require
IPsec Protocols: esp
Tunnel: checked
SA Src. Address: 172.21.0.51 (Reverse these addresses because we're on the other end.)
SA Dst. Address: 172.16.0.50
Proposal: default

***** So what you are basically doing is telling each branch office to send all non-local 10-net traffic to the central office. The central office then matches up the policies and sends it out wherever it needs to go.

Also an important note... The Mikrotik routers sometimes become unable ping or otherwise access any directly connected network when an IpSec policy exists that has a destination subnet that includes the locally connected one (e.g. local LAN IP address is 10.10.2.1/24 and the IpSec policy Dst. Address is 10.0.0.0/8). This is because the IpSec policy swallows it up before it makes it out the local interface. This is fixed with an additional policy created locally like so:

IP -> IpSec -> Policies -> new (Click the + button)

General Tab
-----
Src. Address: 10.10.2.1/32 (Traffic from the local router.....)
Dst. Address: 10.10.2.0/24 (.....destined to the local network 10.0.2.0/24.....)
Protocol: all

Action Tab
-----
Action: none (.....doesn't get encrypted)
Level: require
IPsec Protocols: esp
Tunnel: checked
SA Src. Address: 0.0.0.0
SA Dst. Address: 0.0.0.0
Proposal: default

Simply adding this policy isn't enough. It MUST be the first one. Use the Terminal and goto /ip ipsec policy and type print. If the policy above is not listed in the 0 slot, use the move command to make it so. (e.g. move 1 0)

Additionally, if you wish to ping from the central router to the 10-net, you must have a local 10-net, as you do (10.10.1.0/24), and you must add a static route specifying Destination as 10.0.0.0/8 and Gateway Interface as your local interface running the local 10-net. Without this, the routing rules will sometimes try to push it out the default route.

All of the above makes some pretty big assumptions about your network, most notably that you are using a preshared key instead of certificates. Hope this helps shed some light on the workings of the IpSec system.

And, in case it isn't clear from the above workarounds, the IpSec implementation in RouterOS needs some work. The IpSec policy routes never appear in the routing table, but you must manipulate said table to make them work! Use OpenVPN if at all possible. And please vote below to fix these problems!

=================================================
If you want these IpSec problems FIXED please VOTE for it!

"Implement IPSEC "Virtual Interface" VPN's, allowing easy dynamic routing across IPSEC"
http://wiki.mikrotik.com/wiki/MikroTik_ ... mplemented

Thanks for your vote!!!
=================================================

Who is online

Users browsing this forum: Machca, MSN [Bot] and 92 guests