drixter’s blog

…przygody informatyka…

Shorewall i IPSec

Artykuł piszą dlatego, że nie wydawało się takie proste zestawić IPSec z Netscreen’em na Linux’ie gdzie używamy Shorewall.

Jeżeli chodzi o są konfigurację IPSec to jest ona identyczna jak na FreeBSD, można skorzystać z mojego gotowego opisu. Różnica polega oczywiście na konfiguracji jądra Linux’a i posiadaniu odpowiednich modułow.
Problemy się zaczyną jak IPSec już nam się zestawia a w logach Shorewall’a sieje nam blokowanymi pakietami, oczywiście można dodać odpowiednie regułki do aktualnego ustawienia iptables, ale przecież to nie tędy droga.

Założenia:

  • dostęp do sieci zdalnej poprzez IPSec odbywa się z sieci lokalnej (adresacji 192.168.0.0/24) a nie z routera/bramy
  • sieć lokalna: 192.168.0.0/24
  • brama lokalna: stałe publiczne IP, lokalnie 192.168.0.1/32
  • firewall netscreen: stałe publicze IP
  • sieć zdalna: 177.0.2.0/24

Po pierwsze upewniamy się czy nie blokujemy puli sieci zdalnej w pliku blacklist.

Modyfikację w poszczególnych plikach konfiguracyjnych z krótkim objaśnieniem:

tunnels:

ipsec                     net     ip_firewall_netscreen

Definiujemy że poprzez internet z ip_firewall_netscreen mamy połączenie IPSec, shorewall dopisuje wtedy odpowiednie reguły.

zones:

vpn     ipv4

Tworzymy dodatkową strefę w naszym shorewall.

hosts:

vpn          eth1:177.0.2.0/24                  ipsec

Gdzie eth1 jest interfejsem do internetu, a 177.0.2.0/24 klasą sieci zdalnej. Definiujemy w ten sposób jaka klasa adresowa jest po drugiej stronie IPSec.

masq:

eth1:!177.0.2.0/24      192.168.0.0/24

Gdzie jak wyżej, eth1 jest interfejsem do internetu, 177.0.2.0/24 klasą sieci zdalnej a 192.168.0.0/24 klasą naszego lanu. Linia zapobiega NAT’owaniu danych do klasy sieci zdalnej.

policy:

loc             vpn             ACCEPT
vpn             loc             ACCEPT

Zezwalamy na ruch z sieci lokalnej do sieci zdalnej i vice-versa.

Dodaj komentarz

boinkme