VPN на FreeBSD через ipsec и ADSL

Ответить
Аватара пользователя
some-bastardo

VPN на FreeBSD через ipsec и ADSL

Сообщение some-bastardo »

Доброго времени суток!

Мы с товарищем задались целью настроить 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

Re: VPN на FreeBSD через ipsec и ADSL

Сообщение Аlchemist »

Цитата some-bastardo:



Нам очень важно реализовать систему именно так, как было задумано. Поэтому варианты "OpenVPN проще и лучше" нам не подходят.
VPN на FreeBSD через ipsec и ADSL




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

Re: VPN на FreeBSD через ipsec и ADSL

Сообщение some-bastardo »

Потому что хотим ipsec Изображение

К тому же хочется обойтись без стороннего софта, только тем что есть изначально во фряхе.

Хотелось бы услышать ответы по существу вопроса((
Ответить

Вернуться в «Программное обеспечение Linux и FreeBSD»