LINUX.ORG.RU
ФорумAdmin

LAN <-----> vpn <----> LAN

 


0

1

Нужно объединить две локальные сети. Назовем их LAN1 и LAN2. На удаленной стороне (LAN1) есть действующий vpn канал, реализован на такой железке TP-LINK TL-ER6120. Что в нем крутится я не знаю. LAN2 ходит через проксю, на котором стоит линукс. Что ставить, openvpn или pptpd?

Обычно стоковая прошивка TP-Link'ов не умеет openvpn, так что pptp.

anonymous ()

в туполинке есть ipsec. strongswan ставь. да посвежее!

aol ★★★★★ ()
Ответ на: комментарий от aol

Поставил strongswap. Получил настройки того самого ТП-Линка

IKE: IKE Proposal - MD5 3DES DH2
preshare key: 12342345
IPSec Proposal: Protocol ESP - ESP Auth MD5 - ESP Encr 3DES
IPSec Policy: lan-to-lan
IP ХХ.ХХ.ХХХ.ХХХ
ЛАН 192.168.50.0

Моя сторона IP YYY.YYY.YY.YY ЛАН 192.168.30.0

настраиваю ipsec.conf

# ipsec.conf - strongSwan IPsec configuration file
config setup
	charondebug=all
conn %default
	ikelifetime=60m
	keylife=20m
	rekeymargin=3m
	keyingtries=1
	dpdaction=restart
	dpddelay=30s
	dpdtimeout=120s
conn alice
	keyexchange=ikev1
	authby=psk
	auto=start
	left=%defaultroute
	leftsubnet=192.168.30.0/24
	right=ХХ.ХХ.ХХХ.ХХХ
	rightsubnet=192.168.50.0/24
Ессесено ничего не заработало. Что пропустил? Ключи куда прописывать, сертификат создавать? Iptables ходит всё через нат.

Humaxoid ()
Последнее исправление: Humaxoid (всего исправлений: 1)

Так а public ip есть или что?

targitaj ★★★★★ ()
Ответ на: комментарий от Humaxoid

в туполинке только ikev1...

conn site2site
        authby=psk
        keyexchange=ikev1
        ike=3des-md5-modp1024
        esp=3des-md5
        keyingtries=%forever
        rekey=no
        dpdaction=hold
        dpddelay=30
        dpdtimeout=150
        auto=add
        left=<мой белый ip>
        leftsubnet=192.168.2.0/24
        # leftfirewall=yes
        lefthostaccess=yes
        righthostaccess=yes
        right=%any
        rightid=192.168.10.248
        rightsubnet=192.168.1.0/24,192.168.10.0/24

этот конфиг работает как раз с туполинком.
left - strongswan, right = туполинк. psk.
rightid пришлось указать, так как он за натом (там всё сложно..).
в /etc/ipsec.secrets у меня
<мой ip> 192.168.10.248 (id правой стороны, то бишь) : PSK "тутпароль"

aol ★★★★★ ()
Ответ на: комментарий от Humaxoid

preshare key: 12342345

Молодец, пароль спалил свой. А он у вас очень «сложный».

nstorm ()
Ответ на: комментарий от nstorm

С чего ты взял что тут светят реальными паролями или айпишниками?

Humaxoid ()
Ответ на: комментарий от Humaxoid

да, по моему конфигу: если хочешь, чтобы strongswan инициировал подключение, смени auto=add на auto=start

думаю, это и так понятно :) но на всякий случай решил уточнить

aol ★★★★★ ()
Ответ на: комментарий от Humaxoid

С того, что айпишник на иксы заменен, а тут циферки :)

nstorm ()
Ответ на: комментарий от Humaxoid

Это тебе не Битва эктрасенсов. Логи давай, strongswan сравнительно адекватно их пишет.

Gu4 ()
Ответ на: комментарий от Humaxoid

нет. PSK же, какие ключи?
да, логи давай и конфиг

aol ★★★★★ ()
Ответ на: комментарий от aol

Попробую дать наиболее полную картину. Это настройки туполинка на удаленной стороне.

IKE Proposal:
Authentification - MD5
Encryption - 3DES
HD Group -DH2
preshare key 12345678
--------------------------------
IPSec Proposal:
Security Protocol - ESP
ESP Authentification - MD5
ESP Encryption - 3DES
--------------------------------
IPSec Policy:
Mode - "lan-to-lan"
Теперь мой Strongswan. Вот конфиги
# ipsec.conf - strongSwan IPsec configuration file

config setup

conn site2site
        authby=psk
        keyexchange=ikev1
        ike=3des-md5-modp1024
        esp=3des-md5
        keyingtries=%forever
        rekey=no
        dpdaction=hold
        dpddelay=30
        dpdtimeout=150
        auto=start
        left=XX.XXX.XX.XXX  
        leftsubnet=192.168.66.0/24
        leftfirewall=yes
        rightfirewall=yes
        lefthostaccess=yes
        righthostaccess=yes
        right=YYY.YYY.YY.YYY
        rightid=YYY.YYY.YY.YYY
        rightsubnet=192.168.50.0/24
#
# Где XX.XXX.XX.XXX мой внешний ip Strongswan
# YYY.YYY.YY.YYY ip Внешний ip удаленного ТП-Линка

# /etc/ipsec.secrets - strongSwan IPsec secrets file
XX.XXX.XX.XXX YYY.YYY.YY.YYY : PSK 12345678
# strongswan.conf - strongSwan configuration file
charon {
        load_modular = yes
        plugins {
                include strongswan.d/charon/*.conf
        }
}

include strongswan.d/*.conf

Его логи

ipsec statusall
Status of IKE charon daemon (strongSwan 5.3.2, Linux 3.2.29, x86_64):
  uptime: 8 minutes, since Oct 09 22:43:12 2015
  malloc: sbrk 270336, mmap 0, used 207552, free 62784
  worker threads: 11 of 16 idle, 5/0/0/0 working, job queue: 0/0/0/0, scheduled: 1
  loaded plugins: charon aes des rc2 sha1 sha2 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey pem fips-prf gmp xcbc cmac hmac attr kernel-netlink resolve socket-default stroke updown xauth-generic
Listening IP addresses:
  XX.XXX.XX.XXX
  192.168.66.1
Connections:
   site2site:  XX.XXX.XX.XXX...YYY.YYY.YY.YYY  IKEv1, dpddelay=30s
   site2site:   local:  [XX.XXX.XX.XXX] uses pre-shared key authentication
   site2site:   remote: [YYY.YYY.YY.YYY] uses pre-shared key authentication
   site2site:   child:  192.168.66.0/24 === 192.168.50.0/24 TUNNEL, dpdaction=hold
Security Associations (1 up, 0 connecting):
   site2site[1]: CONNECTING, XX.XXX.XX.XXX[%any]...YYY.YYY.YY.YYY[%any]
   site2site[1]: IKEv1 SPIs: 451cbbeb8f1be377_i* 0000000000000000_r
   site2site[1]: Tasks queued: QUICK_MODE
   site2site[1]: Tasks active: ISAKMP_VENDOR ISAKMP_CERT_PRE MAIN_MODE ISAKMP_CERT_POST ISAKMP_NATD
auth.log
Oct  9 22:43:12 proxy ipsec_starter[2250]: Starting strongSwan 5.3.2 IPsec [starter]...
Oct  9 22:43:13 proxy ipsec_starter[2260]: charon (2261) started after 160 ms
Oct  9 22:43:13 proxy charon: 06[IKE] initiating Main Mode IKE_SA site2site[1] to YYY.YYY.YY.YYY
daemon.log
Oct  9 22:43:12 proxy charon: 00[DMN] Starting IKE charon daemon (strongSwan 5.3.2, Linux 3.2.29, x86_64)
Oct  9 22:43:13 proxy charon: 00[KNL] received netlink error: Address family not supported by protocol (97)
Oct  9 22:43:13 proxy charon: 00[KNL] unable to create IPv6 routing table rule
Oct  9 22:43:13 proxy charon: 00[CFG] loading ca certificates from '/etc/ipsec.d/cacerts'
Oct  9 22:43:13 proxy charon: 00[CFG] loading aa certificates from '/etc/ipsec.d/aacerts'
Oct  9 22:43:13 proxy charon: 00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts'
Oct  9 22:43:13 proxy charon: 00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts'
Oct  9 22:43:13 proxy charon: 00[CFG] loading crls from '/etc/ipsec.d/crls'
Oct  9 22:43:13 proxy charon: 00[CFG] loading secrets from '/etc/ipsec.secrets'
Oct  9 22:43:13 proxy charon: 00[CFG]   loaded IKE secret for XX.XXX.XX.XXX YYY.YYY.YY.YYY
Oct  9 22:43:13 proxy charon: 00[LIB] loaded plugins: charon aes des rc2 sha1 sha2 md5 random nonce x509 revocation constraints pubkey pkcs$
Oct  9 22:43:13 proxy charon: 00[JOB] spawning 16 worker threads
Oct  9 22:43:13 proxy charon: 05[CFG] received stroke: add connection 'site2site'
Oct  9 22:43:13 proxy charon: 05[CFG] added configuration 'site2site'
Oct  9 22:43:13 proxy charon: 06[CFG] received stroke: initiate 'site2site'
Oct  9 22:43:13 proxy charon: 06[IKE] initiating Main Mode IKE_SA site2site[1] to YYY.YYY.YY.YYY
Oct  9 22:43:13 proxy charon: 06[ENC] generating ID_PROT request 0 [ SA V V V V ]
Oct  9 22:43:13 proxy charon: 06[NET] sending packet: from XX.XXX.XX.XXX[500] to YYY.YYY.YY.YYY[500] (188 bytes)

Humaxoid ()
Последнее исправление: Humaxoid (всего исправлений: 2)
Ответ на: комментарий от Humaxoid

нат с какой-то стороны есть? или оба висят в интернет белыми адресами?
фаерволы еще.. порты 500 и 4500 надо открыть

оно сразу на холде оказывается, или через какое-то время?
можно попробовать dpdaction сменить на restart..

вообще, у меня тоже не сразу дружба с туполинком вышла..

aol ★★★★★ ()
Ответ на: комментарий от Humaxoid

да, я тебе не ту ссылку дал.. не скопировалась, видимо. глядел как раз на пример net2net-psk :)
nmap-ом еще ту сторону потыкай, как там у них с портами..

aol ★★★★★ ()
Ответ на: комментарий от aol

отлично! где были грабли? :)

Не поверишь, на той стороне :) Забыли мою сеть внести, а сказали что внесут. Но рано обрадовался. Забил еще одну сетку и всё потухло :)

Humaxoid ()
Ответ на: комментарий от Humaxoid

Вот кусок лога

08[NET] sending packet: from XXX.XXX.XXX.XX[500] to YYY.YYY.YYY.YY[500] (188 bytes)
09[NET] received packet: from YYY.YYY.YYY.YY[500] to XXX.XXX.XXX.XX[500] (56 bytes)
09[ENC] parsed INFORMATIONAL_V1 request 3042267913 [ N(NO_PROP) ]
09[IKE] received NO_PROPOSAL_CHOSEN error notify

Humaxoid ()
Ответ на: комментарий от Humaxoid

это ты еще одну забил на то же подключение, в rightsubnet?
странно..

но у меня так и не было шанса это проверить с несколькими сетями за одним впн-ом..

aol ★★★★★ ()
Ответ на: комментарий от aol

это ты еще одну забил на то же подключение, в rightsubnet?

Нет, к примеру вот так ipsec.conf

config setup
 
conn office1
        authby = psk
        keyexchange = ikev1
        ike = 3des-md5-modp1024
        esp = 3des-md5
        keyingtries = %forever
        rekey = no
        dpdaction = hold
        dpddelay = 30
        dpdtimeout = 150
        left = мой_белый_ip
        leftsubnet = 192.168.2.0/24
        leftid = мой_белый_ip
        leftfirewall = yes
        right = белый_ip_офис1
        rightsubnet = 192.168.3.0/24
        rightid = белый_ip_офис1
        rightfirewall = yes
        auto = start

conn office2
        authby = psk
        keyexchange = ikev1
        ike = 3des-md5-modp1024
        esp = 3des-md5
        keyingtries = %forever
        rekey = no
        dpdaction = hold
        dpddelay = 30
        dpdtimeout = 150
        left = мой белый ip
        leftsubnet = 192.168.2.0/24
        leftid = мой_белый_ip
        leftfirewall = yes
        right = белый ip офис2
        rightsubnet = 192.168.4.0/24
        rightid = белый_ip_офис2
        rightfirewall = yes
        auto = start
ipsec.secrets
мой_белый_ip белый_ip_офис1 : PSK 123456789
мой_белый_ip белый_ip_офис2 : PSK 987654321 

Humaxoid ()
Последнее исправление: Humaxoid (всего исправлений: 1)
Ответ на: комментарий от Humaxoid

ну, традиционно, ipsec statusall и логов побольше, если сам не решишь, пока я сплю :)

aol ★★★★★ ()
Ответ на: комментарий от aol

Прям зло берет. Вчера до допоздна сидел, надоело пошел спать. Утром возвращаюсь всё работает. Сдается мне что на той стороне админ играется с настройками и не признается. Теперь я его сеть пингую, он мою нет.

Humaxoid ()
Ответ на: комментарий от Humaxoid

Сдается мне что на той стороне админ играется с настройками и не признается

та же фигня была, прикинь! в итоге я у «той стороны» выпросил доступ к туполинку ихнему, и всё там настроил. (и всё заработало)

попробуй тем же путем ;) намного удобнее диагностировать проблемы, когда имеешь доступ к обоим концам..

aol ★★★★★ ()
Ответ на: комментарий от aol

Оживляю тему, так как вылез еще один скрытый косяк. Периодически строго каждые 8 часов канал валится, потом через 8 часов самостоятельно восстанавливается. Далее цикл повторяется. Когда канал отсутствует, высвечиваться статус «Activ», что и вводило длительное время в заблуждение. Оказалось что это связано с IKE lifetime = 28800 (8ч.), IPSec lifetime = 28800 (8ч.). Одинаковые значения,что к корне не правильно. По умолчанию, в прошивке роутера что на той стороне, эти два параметра равны. Естественно и я такие у себя поставил. Почитал доки, полазил по форумам. Выяснил что фаза 2 по длительности, должна быть короче чем фаза 1. Читаем тут http://www.opennet.ru/docs/RUS/vpn_ipsec/ Посему обязательно должны быть указаны времена жизней ikelifetime=ххххххх и lifetime=yyyyy, где как уже говорилось lifetime должно быть меньше, меньше чем ikelifetime. Привел в соответствие, сразу все стало нормально. Наблюдаю два дня уже. Пока без замечаний. Вот рабочий конфиг

# ipsec.conf - strongSwan IPsec configuration file

# Базовые настройки

config setup
        charondebug = 1

# Общие параметры соединений

conn %default
        ikelifetime=8h      # Время жизни IKE SA (фаза-1)
        keylife=1h          # Времяжизни IPSec SA (фаза-2)
        rekeymargin=9m
        keyingtries=0       # Продолжаем бесконечные попытки соедениться, при поторе соеденения
        rekey=no
        dpdaction=none      # Отключаем механизм Dead peer detection
        keyexchange=ikev1
        ike=3des
        esp=3des-md5
        authby=psk

# Добавляем соеденения конечных точек VPN

conn office1
        left=XX.XXX.XXX.XX
        leftsubnet=192.168.6.0/24
        leftid=XX.XXX.XXX.XX
        leftfirewall=yes
        right=YY.YY.YYY.YYY
        rightsubnet=192.168.50.0/24
        rightid=YY.YY.YYY.YYY
        rightfirewall=yes
        auto=start

conn office2
        left=XX.XXX.XXX.XX
        leftsubnet=192.168.6.0/24
        leftid=XX.XXX.XXX.XX
        leftfirewall=yes
        right=NN.NNN.NNN.NNN
        rightsubnet=192.168.2.0/24
        rightid=NN.NNN.NNN.NNN
        rightfirewall=yes
        auto=start

Humaxoid ()
Ответ на: комментарий от Humaxoid

О, круто-круто!!! У меня тоже траблы с этим, но периодической закономерности я не выявил. Валил всё на траблы с сетью...
Завтра попробую!

aol ★★★★★ ()
Ответ на: комментарий от aol

Кстати, почему dpd отключил?

Потому что на той стороне было отключено )))

О, круто-круто!!! У меня тоже траблы с этим, но периодической закономерности я не выявил. Валил всё на траблы с сетью...
Завтра попробую!

Та же картина будет если вообще не указать время жизни. Либо если время жизни пакетов будет указано отличное от показателей на другой стороне. Выявил это экспериментальным путем. Как сделаешь, результаты в студию. Самому любопытно.

Humaxoid ()
Последнее исправление: Humaxoid (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.