Подключение Debian и Windows через IPsec VPN с помощью Racoon и ipsec-tools

У меня проблемы с настройкой IPsec на моем сервере Debian (6 squeeze). Этот сервер должен подключаться через IPsec VPN к серверу Windows, который защищен брандмауэром. Я использовал racoon и ipsec-tools и это руководство http://wiki.debian.org/IPsec.

Тем не менее, я не совсем уверен, подходит ли этот урок моей цели из-за некоторых отличий:

  • мой Хост и мой шлюз - это один и тот же сервер. Поэтому у меня нет двух разных IP-адресов. Я думаю, это не проблема
  • другой сервер - это система Windows за брандмауэром. Надеюсь, не проблема
  • подсеть системы Windows - это /32, а не / 24. Поэтому я изменил его на /32.

Я работал над учебником шаг за шагом, но я не смог направить IP. Следующая команда не работает для меня:

ip route добавить в 172.16.128.100/32 через XXX.XXX.XXX.XXX src XXX.XXX.XXX.XXX

Поэтому я попробовал следующее:

ip route добавить в 172.16.128.100 .., что явно не решило проблему.

Следующая проблема - это сжатие. В окнах не используется сжатие, но "ression_algorithm none; " не работает с моим енотом. Таким образом, текущим значением является'ression_algorithm deflate;'

Итак, мой текущий результат выглядит так:

Когда я пытаюсь пропинговать хост Windows (ping 172.16.128.100), я получаю следующее сообщение об ошибке от ping:

ping: sendmsg: операция не разрешена

И бревна енота:

racoon: ОШИБКА: не удалось получить информацию.

Погуляв некоторое время, я так и не пришел к выводу, в чем решение. Означает ли это сообщение об ошибке, что первая фаза IPsec работает?

Я благодарен за любой совет.

Я думаю, что мои конфиги могут быть полезны.

Мой racoon.conf выглядит так:

путь pre_shared_key "/etc/racoon/psk.txt";

удаленный YYY.YYY.YYY.YYY {

    exchange_mode main;
    proposal {
            lifetime time 8 hour;
            encryption_algorithm 3des;
            hash_algorithm sha1;
            authentication_method pre_shared_key;
            dh_group 2;
    }

}

адрес sainfo XXX.XXX.XXX.XXX/32 любой адрес 172.16.128.100/32 любой {

    pfs_group 2;
    lifetime time 8 hour;
    encryption_algorithm aes 256;
    authentication_algorithm hmac_sha1;
    compression_algorithm deflate;

}

И мой ipsec-tools.conf выглядит так:

промывать;

spdflush;

spdadd XXX.XXX.XXX.XXX/32 172.16.128.100/32 любой -P out ipsec esp / tunnel / XXX.XXX.XXX.XXX-YYY.YYY.YYY.YYY / require;

spdadd 172.16.128.100/32 XXX.XXX.XXX.XXX/32 any -P в ipsec esp/tunnel/YYY.YYY.YYY.YYY-XXX.XXX.XXX.XXX/require;

Если у кого-то есть совет, это было бы здорово.

Заранее спасибо.

Привет, Майкл


Это была простая ошибка копирования и вставки в IP-адрес.

1 ответ

Не будет ли OpenVPN более подходящим? OpenVPN очень прост в настройке. Вот пример конфигурации и некоторые ссылки, которые помогут вам в процессе создания сертификата.

Просто настройте посредника в качестве хоста, и гости смогут дозвониться и по-прежнему общаться друг с другом.

apt-get install openvpn
mkdir /etc/openvpn/easy-rsa
mkdir -p /etc/openvpn/ccd/client_server
touch /etc/openvpn/ipp.txt
cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa
cd /etc/openvpn/easy-rsa
source ./vars
./clean-all
./build-ca 
./build-key-server server
./build-dh
cd /etc/openvpn/easy-rsa/keys
openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt -certfile ca.crt

Затем создайте новый файл /etc/openvpn/client_server.conf и вставьте в него следующее, изменив SERVER_IP_ADDRESS при необходимости

local SERVER_IP_ADDRESS
port 8443
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
pkcs12 /etc/openvpn/easy-rsa/keys/server.p12
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
ifconfig-pool-persist /etc/openvpn/ipp.txt
server 192.168.100.0 255.255.255.0
client-config-dir /etc/openvpn/ccd/client_server
ccd-exclusive
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 3
reneg-sec 0
client-to-client

Затем создайте ключ для пользователя, который будет подключаться, и создайте файл конфигурации в директории ccd.

./build-key-pkcs12 user1@domain.com
echo "ifconfig-push 192.168.100.2 255.255.255.0" > /etc/openvpn/ccd/client_server/user1@domain.com

IP-адрес ДОЛЖЕН быть подходящим для подсети /30 (см. http://www.subnet-calculator.com/cidr.php), поскольку для каждого соединения доступно только 2 адреса (сервер и клиент). Таким образом, ваш следующий доступный IP-адрес клиента будет 192.168.100.6 и так далее.

Тогда у вас теперь есть статические IP-адреса для каждого подключающегося пользователя.

Тогда поставьте the user1@domain.com.p12 файл конечному пользователю и использовать следующий файл конфигурации

client
dev tun
proto udp
remote SERVER_IP_ADDRESS 8443
pkcs12 user1@domain.com.p12
resolv-retry infinite
nobind
ns-cert-type server
comp-lzo
verb 3
reneg-sec 0
Другие вопросы по тегам