Přeskočit na hlavní obsah

OSPF skrze IPSec (GRE)

Jednou z variant jak nastavit IPSec VPN tak, aby bez problémů fungovalo OSPF routování je použít IPSec over GRE.
Nákres:

Funguje to takto:
  1. Vytvoříme na obou routerech virtuální interface tunnel. Tyto tunely propojíme virtuální linkou. Veškerý provoz mezi těmito interface bude zabalen do GRE protokolu.
  2. Nastavíme IPSec tak, aby veškerý GRE provoz mezi routry šifroval pomocí IPSec.
  3. Nastavíme routovací protokol OSPF.
Stejný princip lze použít i na linuxu například s OpenVPN + OSPFD.

Virtuální tunely:
Virtuální tunely vytvoříme příkazem "interface tunnel x" a nastavíme minimálně IP adresu, tunnel source a tunnel destination.
V našem případě takto:
Router A
Router_A(config)#interface Tunnel1
Router_A(config-if)#description VPN do LAN B
Router_A(config-if)#ip address 192.168.3.1 255.255.255.252
Router_A(config-if)#tunnel source FastEthernet0
Router_A(config-if)#tunnel destination 222.222.222.222
Router B
Router_B(config)#interface Tunnel1
Router_B(config-if)#description VPN do LAN A
Router_B(config-if)#ip address 192.168.3.2 255.255.255.252
Router_B(config-if)#tunnel source FastEthernet0
Router_B(config-if)#tunnel destination 111.111.111.111
V tuto chvíli nám již routery budou komunikovat mezi těmito virtuálními interfaci. Lze si ověřit například pomocí příkazu ping.

IPSec:
Nyní máme veškerý provoz mezi tunnel interface routeru zabalen do GRE. To však neznamená, že je šifrován. Aby jsme zajistili bezpečnost dat, tak nyní nastavíme IPSec.
Na obou routerech nastavíme typ isakmp a transform-set pomocí příkazů:
Router(config)#crypto isakmp policy 1
Router(config-isakmp)#encr aes 256
Router(config-isakmp)#authentication pre-share
Router(config-isakmp)#exit
Router(config)#crypto ipsec transform-set trset esp-aes 256 esp-sha-hmac
Router(cfg-crypto-trans)#mode transport

Dále nastavíme sdílený klíč:
Router A
Router_A(config)#crypto isakmp key 0 heslo address 222.222.222.222
Router B
Router_B(config)#crypto isakmp key 0 heslo address 111.111.111.111

Dalším krokem je nastavení access listů, které nám budou popisovat gre provoz mezi routery.
Router A
Router_A(config)#access-list 100 permit gre host 111.111.111.111 host 222.222.222.222
Router B
Router_B(config)#access-list 100 permit gre host 222.222.222.222 host 111.111.111.111

Předposledním krokem je vytvoření crypto map.
Router A
Router_A(config)#crypto map vpn 10 ipsec-isakmp
Router_A(config-crypto-map)#description VPN do LAN B
Router_A(config-crypto-map)#set peer 222.222.222.222
Router_A(config-crypto-map)#set transform-set trset
Router_A(config-crypto-map)#match address 100
Router B
Router_B(config)#crypto map vpn 10 ipsec-isakmp
Router_B(config-crypto-map)#description VPN do LAN A
Router_B(config-crypto-map)#set peer 111.111.111.111
Router_B(config-crypto-map)#set transform-set trset
Router_B(config-crypto-map)#match address 100

Posledním krokem je aplikování vytvořených crypto map na outside interface na obouch routrech.
Router(config)#interface FastEthernet0
Router(config-if)#crypto map vpn
Funkčnost nastaveného IPSecu lze zkontrolovat pomocí příkazu show crypto ipsec sa.

OSPF:
Poslední částí je nastavení samotného routovacího protokolu. To už je jednoduchá záležitost.
Router A
Router_A(config)#router ospf 1
Router_A(config-router)#router-id 192.168.0.1
Router_A(config-router)#network 192.168.0.0 0.0.0.255 area 0
Router_A(config-router)#network 192.168.3.0 0.0.0.3 area 0
Router B
Router_B(config)#router ospf 1
Router_B(config-router)#router-id 192.168.1.1
Router_B(config-router)#network 192.168.1.0 0.0.0.255 area 0
Router_B(config-router)#network 192.168.3.0 0.0.0.3 area 0
Funkčnost ještě zkontrolujeme pomocí příkazu show ip route.

Odkazy:
Kompletní konfiguraci obou routerů naleznete zde.
Wikipedia OSPF: http://cs.wikipedia.org/wiki/Open_Shortest_Path_First
Wikipedia GRE: http://cs.wikipedia.org/wiki/GRE
Wikipedia IPSec: http://cs.wikipedia.org/wiki/IPsec

Komentáře

Populární příspěvky z tohoto blogu

DNSSEC autoritativní server prakticky

Na úvod několik odkazů na DNSSEC analyzátory:
VerisignLabs: http://dnssec-debugger.verisignlabs.comSandia National Laboratories: http://dnsviz.net. Nejlépe funguje ve Firefoxu. V Bindu je potřeba zapnout podporu DNSSEC. K tomu stačí do named.conf napsat dnssec-enable yes. Pokud máte více domén, tak je vhodné zonový soubor umístit do samostatného adresáře. Při vytváření klíčů a podepisování vznikne hodně souborů.
Nyní už k samostatným postupům podepisování a výměny klíčů.
Podepsání domény: Vytvořit KSK pomocí příkazu: dnssec-keygen -r /dev/urandom -a RSASHA512 -b 2048 -3 -n ZONE -f KSK domena.czVytvořit ZSK pomocí příkazu:  dnssec-keygen -r /dev/urandom -a RSASHA512 -b 1024 -3 -n ZONE domena.czPodepsat a publikovat zónu - to uděláme například pomocí tohoto skriptu:  cd /var/named/domena.cz
nahoda=$(cat /dev/urandom | tr -cd 'a-f0-9' | head -c 32)
echo -e "\n\nPodepisuji doménu domena.cz"
dnssec-signzone -S -N unixtime -3 $nahoda domena.cz
rndc reload domena.cz 
Počkat na …