Crmgo Blog

ipsec (openswan)

ipsec (openswan)

Konfiguracja jądra Dodaj do pliku \etc\sysctl.conf następujące zmiany i zastosuj je. Wyłącz selinux Zainstaluj OpenSwan Skonfiguruj iptables Należy otworić przychodzące porty UDP 50, 500, 4500. Dodaj do iptables następujące reguły Zapisz zmiany Utwórz klucz. Utwórz bazę danych certyfikatów, w pytaniu o hasło naciśnij Enter…

ipsec (openswan)

 

Konfiguracja jądra

Dodajemy do \etc\sysctl.conf następujące zmiany

vi /etc/sysctl.conf
net.ipv4.ip_forward = 1 # разрешить пересылку пакетов между интерфейсами 
net.ipv4.conf.all.send_redirects = 0 # отключаем icmp redirect
net.ipv4.conf.all.accept_redirects = 0 # отключаем icmp redirect
net.ipv4.conf.default.send_redirects = 0 # отключаем icmp redirect
net.ipv4.conf.default.accept_redirects = 0 # отключаем icmp redirect

stosujemy zmiany.

sysctl –p

Wyłączamy selinux

vi /etc/selinux/config
SELINUX=disabled

Instalujemy OpenSwan

 yum install openswan

Konfigurujemy iptables

Należy otworzyć przychodzące porty udp 50,500,4500. Dodajemy do iptables takie reguły

iptables -A INPUT -i eth0 -p udp --dport 500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 4500 -j ACCEPT
iptables -A INPUT -i eth0 -p udp --dport 50 -j ACCEPT

Zapisujemy zmiany

 service iptables save

Tworzymy klucz.

Tworzymy bazę danych certyfikatów, na pytanie o hasło wciskamy Enter, czyli pozostawiamy puste.

certutil -N -d /etc/ipsec.d/

Tworzymy certyfikat.

ipsec newhostkey --configdir /etc/ipsec.d/ --output /etc/ipsec.d/office1.secrets --bits 4096

To polecenie wyświetli klucz na ekranie, w następnym kroku klucz trzeba będzie wkleić do konfiguracji.

ipsec showhostkey --left

Konfigurujemy ipsec.

Uruchamiamy i sprawdzamy ipsec.

service ipsec start
ipsec verify

Po tym, gdy wszystko jest skonfigurowane, zainstalowane i sprawdzenie nie zwraca żadnych błędów, można przejść do konfiguracji tunelu ipsec
Do konfiguracji tunelu używane są dwa pliki: ipsec.conf i ipsec.secrets
Ipsec.conf – w tym pliku definiowane są główne ustawienia tunelu.
Ipsec.secrets – w tym pliku przechowywane są odwołania do plików z kluczami.
Otwieramy ipsec.conf i doprowadzamy go do następującej postaci.

vi /etc/ipsec.conf
version 2.0 
config setup
    protostack=netkey # указываем какой стэк протокола будем использовать, варианты auto, klips,netkey
include /etc/ipsec.d/*.conf # указываем каталог где лежат конфиги туннеля так сказать подключаем оставшуюся часть ipsec.conf

Skonfigurujemy sam tunel. Dla prostoty zrozumienia wszystko, co ma przedrostek left, to lokalne (local), a z przedrostkiem right to zdalne (remote) względem miejsca, w którym wykonujesz konfigurację.

vi /etc/ipsec.d/office1.conf
conn Tunnel_office1
   authby=rsasig # указываем что авторизоваться будем RSA ключами
   type=tunnel # указываем что тип соединения туннель
   auto=start # автоматически поднимать соединение
#Описываем настройки локальной стороны.
   leftid=1.1.1.1 #здесь FQDN например gw.office1.ru или внешний ip адрес
   left=1.1.1.1 # Указываем внешний ip адрес
   leftsubnet=192.168.0.0/24 # указываем внутреннюю подсеть 
   leftsourceip=192.168.0.1 #Указываем внутренний ip адрес шлюза 
   leftnexthop=1.1.1.1 #Указываем внешний ip адрес шлюза
   leftrsasigkey= #сюда вставляем с генерированный ключ.
#Описываем настройки удаленной стороны.
   rightid=10.1.1.1
   right=2.2.2.2
   rightsubnet=10.1.1.0/24
   rightsourceip=10.1.1.1
   rightnexthop=2.2.2.2
   rightrsasigkey=#сюда вставляем с генерированный ключ, с удаленной машины.

Dodajemy do iptables kilka reguł zezwalających na przekazywanie pakietów między podsieciami

iptables -A FORWARD -s 192.168.0/24 -d 10.1.1.0/24 -j ACCEPT
iptables -A FORWARD -s 10.1.1.0/24 -d 192.168.0.0/24 -j ACCEPT
service iptables save # что бы правила сохранились после перезагрузки

Uruchamiamy, sprawdzamy
Po skonfigurowaniu plików konfiguracyjnych należy zrestartować ipsec

service ipsec restart

Uruchamiamy tunel

ipsec auto --add Tunnel_office1
ipsec auto –-up Tunnel_office1

Nieco informacji do diagnostyki

ipsec auto status

Uwaga: wpis mógł powstać z pomocą AI i redakcji. Odpowiedzialny: Dmytro Lomaka, Kaltenkirchen.

Kategorie: FAQ