Настройка ядра
Добавляем в \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
