Задайте здесь сложный вопрос.
У нас есть Fortigate 620B, который мы пытаемся использовать для маршрутизации некоторого трафика через VPN-туннель к клиенту.
Мы хотим, чтобы трафик выходил из нашего интерфейса с одним из наших общедоступных IP-адресов (мы установили для него значение NAT
адрес, использующий конкретный общедоступный IP-адрес) на общедоступный IP-адрес на стороне клиента.
У меня есть конфигурация, которая, как я считаю, ДОЛЖНА работать, за исключением того, что трафик, когда он попадает по ссылке, говорит, что он исходит с нашего внутреннего IP-адреса (192.168.X.X
) вместо публичного IP-адреса (x.x.x.x
).
Ошибка, которую мы получаем в логах:
id=13 trace_id=368 msg="vd-root received a packet(proto=6, 192.168.XX.XX:50470->XX.XX.183.94:443) from port8. flag [S], seq 342573222, ack 0, win 8192"
id=13 trace_id=368 msg="Find an existing session, id-0a2bb411, original direction"
id=13 trace_id=368 msg="enter IPsec interface-XXX_P2P"
id=13 trace_id=368 msg="No matching IPsec selector, drop"
Он отбрасывает пакет, потому что селектор быстрого режима в VPN настроен на использование нашего общедоступного IP-адреса вместо нашего частного IP-адреса.
Проблема здесь в том, что мы и наш клиент используем одно и то же частное IP-пространство, поэтому мы должны использовать NAT на обоих концах трафика.
Чтобы обойти это, у меня есть одно предложение Фазы 1 и два предложения Фазы 2.
Правила маршрутизации работают, потому что статический маршрут направляет пакет к интерфейсу VPN, и правила политики работают, но по какой-то причине NAT не работает должным образом.
Я буду рад предоставить любую информацию, которая может помочь в устранении неполадок.
Похоже, вы столкнулись с головоломкой плохого жаргона Fortinet. Вы хотите использовать NAT для IP-адреса источника пакетов IPsec? О ... это будет Local Gateway Address
.
Шутки в сторону, похоже, ваша конфигурация хороша, за исключением этой чертовой настройки IPsec NAT.
Дано:
Internal src address => IPsec packets (qualified by src/dst) ~~ NATed to a public IP => ISP router
Вы должны использовать Local Gateway Address
в Phase 1
config как преобразованный в (глобальный) адрес.
Не забудьте привязать этот IP-адрес к интерфейсу, иначе вы не получите пакеты, предназначенные для IP-адреса интерфейса (да!).
config system settings
set allow-subnet-overlap enable #if applicable
end
config system interface
edit [interface name]
set secondary-IP
end
Я написал об этом в блоге ... Хочешь услышать? Вот оно: http://mbrownnyc.wordpress.com/2011/11/11/fortigate-vpn-problems-tell-your-fortigate-what-to-do/