Віддалений користувач підключається до ASA, запитує хост за філією, і ASA надсилає цей запит через той самий інтерфейс, через який прийшов користувач. Ніщо з цього не потребує другого фізичного порту. Потрібні чотири незалежні рішення, які люди схильні зливати в одне: дозвіл на hairpin, тунель, що захищає правильні адреси, політика NAT, яка зберігає обіцяне джерело, і політика доступу, яка дозволяє службу.

Один пакет, два тунелі

Простежте потік, і порядок операцій перестає бути загадковим. Пакет надходить усередині тунелю віддаленого доступу, розшифровується і стає звичайним IP-пакетом із джерелом із пулу клієнтів. Далі ASA маршрутизує його, зіставляє з crypto ACL «сайт — сайт», знову шифрує і надсилає через зовнішній інтерфейс у бік філії.

Адреси нижче наведені для прикладу, але форма важлива: джерело — це пул, а не внутрішня LAN ASA.

remote client 10.77.0.20
  -> remote-access tunnel, terminated on ASA outside
  -> decrypted, routed, matched against site-to-site policy
  -> site-to-site tunnel, sent from ASA outside
  -> branch host 10.60.20.10

З цього випливають дві речі. Клієнту потрібен маршрут до префікса філії через його з'єднання віддаленого доступу, отже split-tunnel або переданий список маршрутів має його містити. І філія повинна знати, як повертати трафік на 10.77.0.20 або на адресу, яку підставив ваш проєкт NAT.

Дозвіл hairpin діє глобально

Команда, до якої зазвичай тягнуться, — same-security-traffic permit intra-interface. Вона дозволяє трафіку входити й виходити через той самий інтерфейс, що саме й потрібно цьому шляху. Це також глобальне налаштування: його ввімкнення змінює поведінку інших потоків, які випадково проходять через той самий інтерфейс двічі.

Тому їй місце в записі про зміни, а не в сеансі налагодження. Запитайте, що ще на пристрої тепер може піти шляхом через той самий інтерфейс і чи має. На завантаженому краї з гостьовими мережами або перекритими партнерськими тунелями відповідь не обов'язково ні. Запишіть причину поруч із налаштуванням, бо наступний інженер знайде команду, а не розмову.

Область захисту й NAT окремі

Тунель «сайт — сайт» захищає те, що обирає його crypto ACL. Якщо цей ACL указує внутрішню підмережу ASA як джерело, пул віддаленого доступу не захищений, і пакет буде або відкинуто, або надіслано відкрито, залежно від поведінки платформи з невідповідним трафіком. Додайте пул у захищений потік, коли проєкт зберігає адреси пулу.

Далі NAT вирішує, чи збережеться адреса пулу. Identity NAT зберігає її, і філія бачить 10.77.0.20 як джерело. Трансляція змінює договір: філія тепер повертає трафік на трансляційну адресу, і її власна політика має це прийняти. Порядок правил визначає, чи crypto ACL збігається до трансляції чи після неї, тому читайте фактичний потік, а не припускайте, хто переможе.

Не видаляйте загальні правила PAT для інтернету, щоб запрацював один транзитний випадок. Цілеспрямований виняток або навмисне правило identity легше пояснити й скасувати, ніж діру у вихідній політиці.

Шифрування не є авторизацією

Робочий тунель доводить лише те, що дві сторони домовилися про ключі та селектори. Він нічого не каже про те, чи може цей користувач дістатися до тієї служби. Фільтр VPN або групова політика, прив'язані до з'єднання віддаленого доступу, усе ще мають дозволяти призначення й порт філії, а ACL інтерфейсу на зовнішньому шляху все ще діє.

Перевіряйте відповідь в обидва боки. З'єднання, яке вдається, тоді як сусідня служба мала б зазнати невдачі, інформативніше за один успішний ping, бо показує, що політика вибіркова, а не відкрита навстіж. Якщо заборонений тест проходить, винна не тунель, а політика. Збережіть обидва результати в записі про зміни, щоб наступна людина знала, яку поведінку задумано.

Hairpin чи другий інтерфейс

Транзит через hairpin робить проєкт компактним і коштує одного глобального налаштування. Окремий інтерфейс або тунель на основі маршрутизації з власним віртуальним інтерфейсом ізолює транзитний шлях і дає політику для кожного інтерфейсу, ціною адресації та ще однієї crypto map або профілю. Жоден не правильніший; вони відмовляють по-різному.

Проєкти на основі маршрутизації — це інше компонування, а не прапорець у тій самій конфігурації. Якщо перейти на такий, обговорення crypto ACL на основі політик вище перестає застосовуватися, і вибір починає робити таблиця маршрутизації.

Перевіряйте з реального клієнта

Перевірка, запущена з ASA, має іншу адресу джерела й не пройде шлях від пулу до філії. Використовуйте packet-tracer для перевірки п'ятірки, потім відкрийте справжнє з'єднання з фактичного віддаленого клієнта, бо трасувальник моделює й не замінює власну маршрутизацію та політику клієнта.

Після планової зміни підключіться до служби, яка має працювати, потім до тієї, яку має бути відхилено, і підтвердьте зворотний маршрут філії. приклади Cisco для hairpin NAT у VPN наочно розділяють дозвіл intra-interface, NAT і ACL, і це та розумова модель, яку варто копіювати.

Схожі статті