Quagga en GRE over IPsec

Pagina: 1
Acties:

  • analog_
  • Registratie: Januari 2004
  • Niet online
Ik ben bezig met een school projectje waarvan de bedoeling is de mogelijkheden van VPN te ontdekken. De bedoeling van deze setup is drie debian machines met OpenSWAN met elkaar laten te verbinden, vervolgens lopen hier GRE tunnel over wegens het feit dat ospf multicast traffiek gebruikt. Er is Quagga gebruikt voor de routering. De bedoeling is dat als een van de IPsec connecties eruit klapt Quagga automagisch de routering aanpaast zodat het over de andere IPsec connecties loopt.

netwerk topologie kaart

Omdat het school project is hebben we alles gedocumenteerd met de configuratie bestanden, deze kan je op onze wiki lezen. De belangrijkste zal ik echter even nog overnemen.

/etc/ipsec.conf (OpenSwan)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
config setup
    nat_traversal=yes
    nhelpers=0

conn midden-to-links
    authby=rsasig
    right=6.6.6.10
    rightid=@debian-links.internet.com
    rightsubnet=192.168.20.0/24
    rightsourceip=192.168.20.1
    rightrsasigkey=%cert
    rightcert=debian-links-cert.pem
    left=7.7.7.10
    leftid=@debian-midden.internet.com
    leftsubnet=192.168.40.0/24
    leftsourceip=192.168.40.1
    leftrsasigkey=%cert
    leftcert=debian-midden-cert.pem
    compress=yes
    auto=start
... (midden naar rechts hier nog)


/etc/network/interfaces (GRE)
code:
1
2
3
4
5
6
7
8
9
auto tun0
iface tun0 inet static
    address 10.0.20.1
    netmask 255.255.255.0
    broadcast 10.0.20.255
    up ifconfig tun0 multicast
    pre-up iptunnel add tun0 mode gre remote 192.168.20.1 local 192.168.40.1 ttl 255
    pointopoint 10.0.20.2
    post-down iptunnel del tun0


Zolang alle IPsec connecties verbonden zijn (in de perfecte situatie) werkt alles prima, echter zodra ik dus een connectie laat sterven (door op pfSense traffiek te blokkeren) loopt alles mis. Het probleem is dat linux geen GRE Keep-Alive implementatie heeft waardoor de interface nooit down wordt gebracht (stateless).

Hierdoor blijven er route-entries naar 10.0.n.0/24 netwerken in de routing tabel, terwijl Quagga al via OSPF een alternatief heeft opgehaalt, krijgt deze niet de prioriteit en wordt de kernel route (blah is directly connected) toch nog gebruikt. Heeft iemand tips of ervaring met zulke setups ?