Подключение 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