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
