[Openswan Users] Success with broadcast through GRE

lean piccololean at yahoo.it
Fri Oct 7 19:26:55 CEST 2005


Thank you very much... I need it when I'll finish to set up my 
configurations.
At this moment I can't reach the subnets but the SA is correctly done 
(as I said before in another post).


Michael Jurney wrote:
> 
> This is a quick summary of the changes I ended up making in order to get 
> broadcast traffic moving properly between my two openswan gateways.  I 
> was originally going to rebroadcast netbios traffic from one subnet to 
> the other with a udp proxy, but I ended up not needing to.
> 
> The problem:  Samba machines on two networks connected with an openswan 
> tunnel needed to be able to send broadcast traffic to each others' 
> segments, but the ipsec tunnel wouldn't pass broadcast traffic.
> 
> The solution:  Instead of using a net-to-net ipsec configuration, 
> connect the networks with GRE, then establish an ipsec tunnel between 
> the public interfaces of the openswan gateways.
> 
> These configurations are from my testbed configuration.  The 10/8 
> networks act as the public segments, and the 172.16/16 networks act as 
> the private segments:
> 
> Network 1: 172.16.8.0/24
> Network 2: 172.16.32.0/24
> 
> The gateways:
> 
> openswan1:
>  eth0: 10.1.1.100
>  eth1: 172.16.8.1
>  default route via 10.1.1.1
> 
> openswan2:
>  eth0: 10.2.2.100
>  eth1: 172.16.32.1
>  default route via 10.2.2.1
> 
> The original configuration:
> -------------------------------------------------------------------------
> 
> Connection description on openswan1:
> 
> conn network2
>        authby=secret
>        rightid=network2
>        auth=esp
>        left=10.1.1.100
>        leftsubnet=172.16.8.0/24
>        leftnexthop=10.1.1.1
>        right=10.2.2.100
>        rightsubnet=172.16.32.0/24
>        rightnexthop=10.2.2.1
> 
> Connection description on openswan2:
> 
> conn network1
>        authby=secret
>        rightid=network1
>        auth=esp
>        left=10.2.2.100
>        leftsubnet=172.16.32.0/24
>        leftnexthop=10.2.2.1
>        right=10.1.1.100
>        rightsubnet=172.16.8.0/24
>        rightnexthop=10.1.1.1
> 
> Routes:
> 
> openswan properly managed the routes, adding a route for the target 
> network via eth0 (I'm not using KLIPS).
> -------------------------------------------------------------------------
> 
> 
> The new configuration:
> -------------------------------------------------------------------------
> 
> Create a pair of GRE tunnels between the two gateways and route private 
> network traffic over them:
> 
> On openswan1:
> 
> Create the tunnel:
>    ip tunnel add tunnel0 mode gre local 10.1.1.100 remote 10.2.2.100
> Bring the tunnel up:
>    ip link set tunnel0 up
> Give the tunnel an address:
>    ip addr add 10.1.1.100 dev tunnel0
> Make sure rp_filtering on the interface is off, or broadcasts won't 
> traverse it:
>    echo 0 > /proc/sys/net/ipv4/conf/tunnel0/rp_filter
> Route the target network through the tunnel:
>    ip route add 172.16.32.0/24 dev tunnel0
> 
> On openswan2 (The same procedure, just reversing IPs and network routes):
> 
> ip tunnel add tunnel0 mode gre local 10.2.2.100 remote 10.1.1.100
> ip link set tunnel0 up
> ip addr add 10.2.2.100 dev tunnel0
> echo 0 > /proc/sys/net/ipv4/conf/tunnel0/rp_filter
> ip route add 172.16.8.0/24 dev tunnel0
> 
> At this point, traffic (including broadcast packets) pass between the 
> networks with no problems, but it will NOT be encrypted!
> 
> In order to get the 'private' into 'virtual private network', we need to 
> encrypt traffic between the gateways.  Because we're already tunneling 
> the traffic between the two, we can just encrypt everything that moves 
> between them by changing the ipsec config on each:
> 
> conn network2
>        authby=secret
>        rightid=network2
>        auth=esp
>        left=10.1.1.100
>        leftsubnet=10.1.1.100/32
>        leftnexthop=10.1.1.1
>        right=10.2.2.100
>        rightsubnet=10.2.2.100/32
>        rightnexthop=10.2.2.1
> 
> Connection description on openswan2:
> 
> conn network1
>        authby=secret
>        rightid=network1
>        auth=esp
>        left=10.2.2.100
>        leftsubnet=10.2.2.100/32
>        leftnexthop=10.2.2.1
>        right=10.1.1.100
>        rightsubnet=10.1.1.100/32
>        rightnexthop=10.1.1.1
> 
> -------------------------------------------------------------------------
> 
> 
> This new configuration has one extremely important difference vs. the 
> old config:  If openswan dies for any reason, packets will continue to 
> move over the internet totally in the clear.  GRE packets are easily 
> inspected with tools like tcpdump and ethereal, so care must be taken to 
> make sure that you watch for openswan failures and react appropriately.
> 
> Thanks everyone for your help over the last few days - I hope this 
> summary is informative and useful.
> 



More information about the Users mailing list