Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программное обеспечение Linux и FreeBSD (http://forum.oszone.net/forumdisplay.php?f=11)
-   -   VPN на FreeBSD через ipsec и ADSL (http://forum.oszone.net/showthread.php?t=119983)

some-bastardo 13-10-2008 23:56 923161

VPN на FreeBSD через ipsec и ADSL
 
Доброго времени суток!
Мы с товарищем задались целью настроить VPN-тунель через ipsec и ADSL на OS FreeBSD 6.3.
Нам очень важно реализовать систему именно так, как было задумано. Поэтому варианты "OpenVPN проще и лучше" нам не подходят.
Стенд: селерон 900 с фряхой, на борту два сетевых интерфейса - rl0 наружний (к нему подключён ADSL-модем), rl1 - внутренний( смотрит в локалку). Модем - D-link 500t, все порты проброшены (включен DMZ). В локалке обычный свитч и машина на винде. На другой стороне всё тоже самое, только другие Ip.
Проблема: нам удалось сделать тунель, виндовая машина из одной локалки спокойно видит виндовую тачку из другой локалки. Но при этом не работает шифрование. При запуске демонов racoon и ipsec локалка на противоположной стороне перестаёт пинговаться. При этом внешний Ip модема пингуется.

Обозначу что есть что:
192.168.1.1 - внутренний IP модема
192.168.1.12 - IP на интерфейсе rl0, внешний для фряхи, одинаков на обоих серверах
192.168.10.1 - IP на интерфейсе rl1, смотрит в локалку, для первого сервера
192.168.20.1 - IP на интерфейсе rl1, смотрит в локалку, для второго сервера
192.168.10.2 - IP виндовой машины в локалке первого сервера
192.168.20.2 - IP виндовой машины в локалке второго сервера
A.B.C.D - внешний IP модема (что-то вроде 172.24.99.99) для первого сервера.
W.X.Y.Z - внешний IP модема (что-то вроде 172.24.99.99) для второго сервера.

Вот что записано в файлах настройки на первом сервере:
Для первого сервера:
ipsec.conf:

flush;
spdflush;
spdadd 192.168.1.12/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/192.168.1.12-W.X.Y.Z/require;
spdadd W.X.Y.Z/32 192.168.1.12/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-192.168.1.12/require;

Файл psk.txt:
W.X.Y.Z secret1

racoon.conf:

padding
{
maximum_length 20; # maximum padding length.
randomize off; # enable randomize length.
strict_check off; # enable strict check.
exclusive_tail off; # extract last one octet.
}

listen
{
#isakmp ::1 [7000];
#isakmp 202.249.11.124 [500];
#admin [7002]; # administrative port for racoonctl.
#strict_address; # requires that all addresses must be bound.
}

timer
{
# These value can be changed per remote node.
counter 5; # maximum trying count to send.
interval 20 sec; # maximum interval to resend.
persend 1; # the number of packets per send.

# maximum time to wait for completing each phase.
phase1 30 sec;
phase2 15 sec;
}

rc.conf:

ifconfig_rl0="inet 192.168.1.12 netmask 255.255.255.0"
ifconfig_rl1="inet 192.168.10.1 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
hostname="server"

gif_interfaces="gif0"
gifconfig_gif0="192.168.1.12 W.X.Y.Z"
ifconfig_gif0="inet 192.168.10.1 192.168.20.1 netmask 0xffffffff"
static_routes="vpn"
route_vpn="192.168.20.0 192.168.20.1"

gateway_enable="YES"

# IPSEC
ipsec_enable="YES"
ipsec_file="/etc/ipsec.conf"

# Racoon
racoon_enable="YES"

На второй машине всё тоже самое, только вмессто W.X.Y.Z стоит A.B.C.D.

Аlchemist 14-10-2008 09:49 923352

Цитата:

Цитата some-bastardo
Нам очень важно реализовать систему именно так, как было задумано. Поэтому варианты "OpenVPN проще и лучше" нам не подходят. »

Я конечно извиняюсь, но можно по-подробнее о причинах нежелания использовать OpenVPN?

some-bastardo 14-10-2008 17:28 923744

Потому что хотим ipsec =)
К тому же хочется обойтись без стороннего софта, только тем что есть изначально во фряхе.
Хотелось бы услышать ответы по существу вопроса((


Время: 19:49.

Время: 19:49.
© OSzone.net 2001-