Crmgo Блог

ipsec (openswan)

ipsec (openswan)

Настройка ядра Добавляем в \etc\sysctl.conf следующие изменения применяем изменения. Отключаем selinux Устанавливаем OpenSwan Настраиваем iptables Нужно открыть входящие udp порты 50,500,4500. Добавляем в iptables вот такие правила Сохраняем изменения Создаем ключ. Создаем базу данных сертификатов, на запрос пароля жмем Enter…

ipsec (openswan)

 

Настройка ядра

Добавляем в \etc\sysctl.conf следующие изменения

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

применяем изменения.

sysctl –p

Отключаем selinux

vi /etc/selinux/config
SELINUX=disabled

Устанавливаем OpenSwan

 yum install openswan

Настраиваем iptables

Нужно открыть входящие udp порты 50,500,4500. Добавляем в iptables вот такие правила

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

Сохраняем изменения

 service iptables save

Создаем ключ.

Создаем базу данных  сертификатов, на запрос пароля жмем Enter т.е. оставляем пустым.

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

Создаем сертификат.

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

Эта команда выведет ключ на экран, на следующем  шаге ключ нужно будет вставить в конфиг.

ipsec showhostkey --left

Настраиваем ipsec.

Запускаем и проверяем ipsec.

service ipsec start
ipsec verify

После того как все настроено, установлено и проверка не выдает никаких ошибок можно переходить к настройке ipsec туннеля
Для настройки туннеля используются два файла ipsec.conf и ipsec.secrets
Ipsec.conf – в этом файле определяются основные настройки туннеля.
Ipsec.secrets – в этом файле  хранятся сслыки на файлы с ключами.
Открываем ipsec.conf  и приводим его к следующему виду.

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

Сконфигурируем сам туннель. Для простоты понимания все что с приставкой left  это local(локальный) с приставкой right remote (удаленный) относительно того места где делаешь настройки.

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=#сюда вставляем с генерированный ключ, с удаленной машины.

Добавим в iptables пару правил разрешающих пересылку пакетов между подсетями

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 # что бы правила сохранились после перезагрузки

Запускаем, проверяем
После настройки конфигов необходимо перезапустить ipsec

service ipsec restart

Поднимаем туннель

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

Немного информации для диагностики

ipsec auto status

Примечание: материал мог быть создан с помощью ИИ и затем отредактирован человеком. Ответственный: Dmytro Lomaka, Kaltenkirchen.

Рубрики: FAQ