Достизање IKEv2 клијента на његовој додељеној виртуелној IP адреси
Захтев који започне пролаз ка IKEv2 клијенту захтева одговарајући селектор, исправан локални извор и слушаоца на доступној адреси. Проверите сва три.
Пролаз мора да започне везу ка преносном рачунару повезаном са њим преко IKEv2, користећи виртуелну адресу додељену том клијенту. Тунел је подигнут, клијент достиже све иза пролаза, а обрнути смер и даље не успева. Та асиметрија је нормална: договорена политика описује које адресе смеју да разговарају, а не која страна сме да започне. Три ствари морају да се поклопе пре него што захтев који започне пролаз проради.
Тунел не поправља адресу извора
CHILD SA покрива пар селектора саобраћаја, по један за сваку страну, и дозвољава саобраћај у оба смера тог пара. Не говори ништа о томе која је страна прва отворила IKE размену. Пролаз који је првобитно слушао за тунел и даље може да пошаље први пакет апликације, под условом да изабрани извор и одредиште падају у инсталиране селекторе. Када захтев изађе са погрешног интерфејса, он једноставно није подобан за тунел.
Рутирање ка клијенту је неопходно и није довољно. Политика мора да прихвати извор који сте заиста користили.
Читајте инсталирану политику, а не конфигурациону датотеку
Почните од активне асоцијације и њених селектора, јер динамичка додела мења оно што је инсталирано у језгру.
ipsec statusall
ip xfrm policyИзлаз стања именује везу, додељену виртуелну адресу и селекторе који тренутно важе за тог партнера. Испис политике приказује исте селекторе као стање језгра, и управо њега избор пакета заиста консултује. Упоредите селектор на страни пролаза са извором који ће ваша апликација користити, јер неслагање одмах објашњава неуспех. Читајте тренутну адресу клијента, а не ону из претходне сесије, јер поново додељен VIP чини стару политику неважећом.
Клијент мора да слуша тамо где пакет стиже
Чак и савршена политика стиже до затвореног порта када се услуга веже само за loopback. Слушалац мора бити на додељеној адреси или на локалној џокер адреси.
ss -ltnp 'sport = :9090'
iptables -S INPUTСписак сокета показује да ли је порт везан за виртуелну адресу, а правила заштитног зида показују да ли се прихватају нове везе са заштићеног извора. Правило написано за успостављене везе не пропушта везу коју започне пролаз. Задржите сопствену аутентификацију услуге, јер долазак кроз тунел само утврђује из које мреже је пакет дошао. Клијенту иза сопственог NAT-а и даље није потребно прослеђивање улазног порта, јер ови захтеви путују унутар постојећег тунела.
Тестирајте нови смер одвојено
Успешан захтев од клијента ка серверу никада не пролази овим путем. Генеришите захтев са пролаза и посматрајте оба краја.
ip route get 10.90.0.42 from 192.168.50.1
tcpdump -ni any host 10.90.0.42 and tcp port 9090Претрага руте одговара који би извор и интерфејс пролаз користио, и то је вредност коју политика мора да прихвати. Снимак би требало да покаже да захтев излази унутар ESP, а не као обичан TCP на јавном интерфејсу. На клијенту снимите дешифровани саобраћај да потврдите долазак и да ли је услуга одговорила. Ако захтев нестане без ESP на линији, посумњајте на адресу извора пре заштитног зида клијента.
Поновите тест после замене кључева или поновног повезивања, јер се VIP може променити. Пут који ради само до следеће сесије није пут који ради.