Соединяем два и более серверов linux по IPsec

advertisement
Соединяем два и более серверов linux по IPsec
Здесь я расскажу как соединить два и больше серверов по IPsec туннелю на Linux.
IP адрес сервера №1 192.168.1.218/24 (IP адрес в сети VPN 172.17.0.1/24)
IP адрес сервера №2 192.168.1.181/24 (IP адрес в сети VPN 172.16.0.1/24)
Начнем
1) Ставим необходимые пакеты
# apt-get install racoon ipsec-tools
2) Добавляем виртуальный интерфейс eth0:1 для Ipsec тунеля
# nano /etc/network/interfaces
Аналогично и для сервера №2
и перезапускаем сеть
# /etc/init.d/networking restart
введем команду
# ifconfig
что бы убедиться что виртуальные интерфейсы подняты
3) Конфигурируем IPsec
# nano /etc/racoon/racoon.conf
и раскоментируем все что после строки
path certificate "/etc/racoon/certs";
Настраиваем на сервере №1
находим строку
remote 172.31.1.1
и заменяем на
remote 192.168.1.181
то есть указываем здесь IP адрес сервера №2
Находим ниже строку
sainfo address...
и заменяем IP адреса на свои адреса VPN сетей
в итоге строка будет выгладить так
sainfo address 172.17.0.0/24 any address 172.16.0.0/24 any {
первый IP адрес это адрес нашей VPN сети, второй соответственно IP адрес удаленной
VPN сети которая находиться на сервере №2
Аналогично на сервере №2
4) Указываем ключ с помощью которого сервера будет взаимодействовать
# nano /etc/racoon/psk.txt
Все строки удаляем и вписываем IP адрес второго сервера и после него вписываем ключ
192.168.1.181 dhd7d9ka62ka
И повторяем на втором сервер тоже самое, только вписываем IP адрес первого сервера и
ключ тоже самый.
192.168.1.218 dhd7d9ka62ka
5) Продолжаем настройку IPsec, настраиваем политику безопасности.
# nano /etc/ipsec-tools.conf
нужно раскоментировать строки
flush;
spdflush;
и строки которые идут после комментария
## Some sample SPDs for use racoon
что бы файл выглядел так
Настраиваем первым делом на первом сервере(192.168.1.218)
находим строку
spdadd 10.10.100.1 10.10.100.2 any -P out ipsec
заменяем на
spdadd 172.17.0.0/24 172.16.0.0/24 any -P out ipsec
первая сеть это сеть VPN на сервер №1, вторая сеть это VPN сеть которая расположена на
сервере №2
Далее находим
esp/transport//require;
заменяем на
esp/tunnel/192.168.1.218-192.168.1.181/require;
здесь думаю понятно, первый IP адрес это адрес сервера №1, второй IP адрес это адрес
сервера №2
Находим ниже
spdadd 10.10.100.2 10.10.100.1 any -P in ipsec
esp/transport//require;
здесь все так же само только наоборот, сначала адреса сервера №2, потом сервера №1
spdadd 172.16.0.0/24 172.17.0.0/24 any -P in ipsec
esp/tunnel/192.168.1.181-192.168.1.218/require;
Повторяем процедуру на втором сервере(192.168.1.181)
spdadd 172.16.0.0/24 172.17.0.0/24 any -P out ipsec
esp/tunnel/192.168.1.181-192.168.1.218/require;
spdadd 172.17.0.0/24 172.16.0.0/24 any -P in ipsec
esp/tunnel/192.168.1.218-192.168.1.181/require;
6) Перезапускаем службы на обох серверах.
# /etc/init.d/setkey restart
# /etc/init.d/racoon restart
7) Добавляем маршруты в таблицу маршрутизации.
На первом сервере
# ip route add to 172.16.0.0/24 via 172.17.0.1 src 172.17.0.1
На втором сервере
# ip route add to 172.17.0.0/24 via 172.16.0.1 src 172.16.0.1
* Указываем какая сеть доступна, через какой интерфейс в нашем случае IP адрес.
Результат выполнение команды route на сервере
№1
№2
Что бы проверить результат пропингуйте IP адрес VPN интерфейса удаленного сервера,
если пинг есть, настройка на этом завершена и IPsec работает, сервера общаются между
собой по VPN.
Результат сервер №1
Результат сервер №2
Download