Подключение брандмауэра VirtualBox fpsense к AWS VPC через безопасное соединение VPN

Я хотел бы подключить наш офис к Amazon AWS VPC для администрирования инстансов RDS и EC2, которые находятся внутри непубличной подсети. Я новичок в этом, но моя идея заключалась в том, чтобы протестировать установку с программным экземпляром fpsense, поскольку это поддерживаемая платформа, и мы хотели бы купить для нашего офиса маршрутизатор, совместимый с fpsense.

Я хотел бы установить безопасное соединение IPsec VPN от fpsense к AWS VPC и сделать экземпляры внутри VPC доступными из нашего офиса, где в настоящее время межсетевой экран fpsense работает внутри виртуальной машины VirtualBox на моем компьютере разработчика.

Настройка сети.

External office IP: 88.77.66.55
Office LAN Subnet: 192.168.56.0/24 via VirtualBox
fpsense router IP: 192.168.0.100
Amazon VPC Subnet: 10.0.0.0/16
AWS VPN Connection Tunnel: 111.222.333.444

Настройка AWS

1) Создайте VPC с CIDR 10.0.0.0/16[1242ght2) Создайте подсеть внутри VPC с тем же CIDR 10.0.0.0/16[1243 sizes3) Создайте клиентский шлюз, указывающий на внешний офисный IP (88.77.66.55) со статической маршрутизацией 192.168.56. 0/24 (сеть Vbox)

4) Создайте виртуальный частный шлюз и свяжите его с VPC

5) Создайте соединение VPN и свяжите его со шлюзом клиента и виртуальным частным шлюзом

6) Скачать Конфигурация fpsense

Настройка VirtualBox

1) Добавьте две сетевые карты. Одна мостовая сеть и одно соединение только с одним хостом

2) Установите образ fpsense

fpsense setup

1) Запустите fpsense

2) Назначьте WAN IP из мостовой сети (становится 192.168.0.100)

3 ) Назначьте локальную сеть только для сети хоста (192.168.56.1)

4) Настройте туннель IPsec в соответствии с загруженным файлом конфигурации fpsense

5) Проверка связи VPN-туннеля из fpsense работает

6) Включите весь трафик для IPv4 на интерфейсах WAN и LAN

Офисный маршрутизатор

Порты 500 и 4500 перенаправлены на IP-адрес fpsense 192.168.0. 100

Схема сети

+--------------------+  +-----------------+  +-------------------+
|  VPN Connection    +--> Virtual Private +-->    Amazon VPC     |
|      Tunnel 1      |  |     Gateway     |  |                   |
|  111.222.333.444   <--+                 <--+  10.0.0.0/16      |
+------+------^------+  +-----------------+  +-------------------+
       |      |
       |      |
       |      |
       |      |                                   +---------------------+
+------v------+------+   +----------------+       |  VirtualBox fpSense |
|  Customer Gateway  +--->Office Router   +------->  WAN 192.168.0.100  |
|                    <---+ 88.77.66.55    <-------+  LAN 192.168.0.56   |
+--------------------+   +----------------+       +---------------------+

Скриншоты конфигурации

Phase 1

Phase 2

FW IPsec

FW LAN

FW WLAN

Tunnles

Примеры журналов

Nov 23 09:55:12 pfSense ipsec_starter[58921]: Starting strongSwan 5.6.0 IPsec [starter]...
Nov 23 09:55:12 pfSense ipsec_starter[58921]: no netkey IPsec stack detected
Nov 23 09:55:12 pfSense ipsec_starter[58921]: no KLIPS IPsec stack detected
Nov 23 09:55:12 pfSense ipsec_starter[58921]: no known IPsec stack detected, ignoring!
Nov 23 09:55:12 pfSense charon: 00[DMN] Starting IKE charon daemon (strongSwan 5.6.0, FreeBSD 11.1-RELEASE-p4, amd64)
Nov 23 09:55:12 pfSense charon: 00[KNL] unable to set UDP_ENCAP: Invalid argument
Nov 23 09:55:12 pfSense charon: 00[NET] enabling UDP decapsulation for IPv6 on port 4500 failed
Nov 23 09:55:12 pfSense charon: 00[CFG] loading unbound resolver config from '/etc/resolv.conf'
Nov 23 09:55:12 pfSense charon: 00[CFG] loading unbound trust anchors from '/usr/local/etc/ipsec.d/dnssec.keys'
Nov 23 09:55:12 pfSense charon: 00[CFG] ipseckey plugin is disabled
Nov 23 09:55:12 pfSense charon: 00[CFG] loading ca certificates from '/usr/local/etc/ipsec.d/cacerts'
Nov 23 09:55:12 pfSense charon: 00[CFG] loading aa certificates from '/usr/local/etc/ipsec.d/aacerts'
Nov 23 09:55:12 pfSense charon: 00[CFG] loading ocsp signer certificates from '/usr/local/etc/ipsec.d/ocspcerts'
Nov 23 09:55:12 pfSense charon: 00[CFG] loading attribute certificates from '/usr/local/etc/ipsec.d/acerts'
Nov 23 09:55:12 pfSense charon: 00[CFG] loading crls from '/usr/local/etc/ipsec.d/crls'
Nov 23 09:55:12 pfSense charon: 00[CFG] loading secrets from '/var/etc/ipsec/ipsec.secrets'
Nov 23 09:55:12 pfSense charon: 00[CFG]   loaded IKE secret for %any 111.222.333.444
Nov 23 09:55:12 pfSense charon: 00[CFG] opening triplet file /usr/local/etc/ipsec.d/triplets.dat failed: No such file or directory
Nov 23 09:55:12 pfSense charon: 00[CFG] loaded 0 RADIUS server configurations
Nov 23 09:55:12 pfSense charon: 00[LIB] loaded plugins: charon unbound aes des blowfish rc2 sha2 sha1 md4 md5 random nonce x509 revocation constraints pubkey pkcs1 pkcs7 pkcs8 pkcs12 pgp dnskey sshkey ipseckey pem openssl fips-prf curve25519 xcbc cmac hmac curl attr kernel-pfkey kernel-pfroute resolve socket-default stroke vici updown eap-identity eap-sim eap-md5 eap-mschapv2 eap-dynamic eap-radius eap-tls eap-ttls eap-peap xauth-generic xauth-eap whitelist addrblock
Nov 23 09:55:12 pfSense charon: 00[JOB] spawning 16 worker threads
Nov 23 09:55:12 pfSense ipsec_starter[59608]: charon (59869) started after 40 ms
Nov 23 09:55:12 pfSense charon: 15[CFG] received stroke: add connection 'con1000'
Nov 23 09:55:12 pfSense charon: 15[CFG] conn con1000
Nov 23 09:55:12 pfSense charon: 15[CFG]   left=192.168.0.100
Nov 23 09:55:12 pfSense charon: 15[CFG]   leftsubnet=192.168.56.0/24
Nov 23 09:55:12 pfSense charon: 15[CFG]   leftauth=psk
Nov 23 09:55:12 pfSense charon: 15[CFG]   leftid=192.168.0.100
Nov 23 09:55:12 pfSense charon: 15[CFG]   right=111.222.333.444
Nov 23 09:55:12 pfSense charon: 15[CFG]   rightsubnet=10.0.0.0/16
Nov 23 09:55:12 pfSense charon: 15[CFG]   rightauth=psk
Nov 23 09:55:12 pfSense charon: 15[CFG]   rightid=111.222.333.444
Nov 23 09:55:12 pfSense charon: 15[CFG]   ike=aes128-sha1-modp1024!
Nov 23 09:55:12 pfSense charon: 15[CFG]   esp=aes128-sha1-modp1024!
Nov 23 09:55:12 pfSense charon: 15[CFG]   dpddelay=10
Nov 23 09:55:12 pfSense charon: 15[CFG]   dpdtimeout=60
Nov 23 09:55:12 pfSense charon: 15[CFG]   dpdaction=3
Nov 23 09:55:12 pfSense charon: 15[CFG]   sha256_96=no
Nov 23 09:55:12 pfSense charon: 15[CFG]   mediation=no
Nov 23 09:55:12 pfSense charon: 15[CFG]   keyexchange=ikev1
Nov 23 09:55:12 pfSense charon: 15[CFG] added configuration 'con1000'
Nov 23 09:55:12 pfSense charon: 14[CFG] received stroke: route 'con1000'
Nov 23 09:55:12 pfSense charon: 14[CFG] proposing traffic selectors for us:
Nov 23 09:55:12 pfSense charon: 14[CFG]  192.168.56.0/24|/0
Nov 23 09:55:12 pfSense charon: 14[CFG] proposing traffic selectors for other:
Nov 23 09:55:12 pfSense charon: 14[CFG]  10.0.0.0/16|/0
Nov 23 09:55:12 pfSense charon: 14[CFG] configured proposals: ESP:AES_CBC_128/HMAC_SHA1_96/NO_EXT_SEQ
Nov 23 09:55:12 pfSense charon: 14[CHD] CHILD_SA con1000{1} state change: CREATED => ROUTED
Nov 23 09:55:12 pfSense ipsec_starter[59608]: 'con1000' routed
Nov 23 09:55:12 pfSense ipsec_starter[59608]: 
Nov 23 09:55:14 pfSense charon: 14[CFG] vici client 1 connected
Nov 23 09:55:14 pfSense charon: 14[CFG] vici client 1 registered for: list-sa
Nov 23 09:55:14 pfSense charon: 14[CFG] vici client 1 requests: list-sas
Nov 23 09:55:14 pfSense charon: 15[CFG] vici client 1 disconnected
Nov 23 09:55:17 pfSense charon: 15[CFG] received stroke: terminate 'con1000'
Nov 23 09:55:17 pfSense charon: 15[CFG] no IKE_SA named 'con1000' found
Nov 23 09:55:17 pfSense charon: 15[CFG] received stroke: initiate 'con1000'
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> queueing ISAKMP_VENDOR task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> queueing ISAKMP_CERT_PRE task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> queueing MAIN_MODE task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> queueing ISAKMP_CERT_POST task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> queueing ISAKMP_NATD task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> queueing QUICK_MODE task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> activating new tasks
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1>   activating ISAKMP_VENDOR task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1>   activating ISAKMP_CERT_PRE task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1>   activating MAIN_MODE task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1>   activating ISAKMP_CERT_POST task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1>   activating ISAKMP_NATD task
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> sending XAuth vendor ID
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> sending DPD vendor ID
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> sending FRAGMENTATION vendor ID
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> sending NAT-T (RFC 3947) vendor ID
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> sending draft-ietf-ipsec-nat-t-ike-02\n vendor ID
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> initiating Main Mode IKE_SA con1000[1] to 111.222.333.444
Nov 23 09:55:17 pfSense charon: 13[IKE] <con1000|1> IKE_SA con1000[1] state change: CREATED => CONNECTING
Nov 23 09:55:17 pfSense charon: 13[CFG] <con1000|1> configured proposals: IKE:AES_CBC_128/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
Nov 23 09:55:17 pfSense charon: 13[ENC] <con1000|1> generating ID_PROT request 0 [ SA V V V V V ]
Nov 23 09:55:17 pfSense charon: 13[NET] <con1000|1> sending packet: from 192.168.0.100[500] to 111.222.333.444[500] (180 bytes)
Nov 23 09:55:17 pfSense charon: 13[CFG] vici client 2 connected
Nov 23 09:55:17 pfSense charon: 13[CFG] vici client 2 registered for: list-sa
Nov 23 09:55:17 pfSense charon: 12[CFG] vici client 2 requests: list-sas
Nov 23 09:55:17 pfSense charon: 12[CFG] vici client 2 disconnected
Nov 23 09:55:21 pfSense charon: 06[IKE] <con1000|1> sending retransmit 1 of request message ID 0, seq 1
Nov 23 09:55:21 pfSense charon: 06[NET] <con1000|1> sending packet: from 192.168.0.100[500] to 111.222.333.444[500] (180 bytes)
Nov 23 09:55:23 pfSense charon: 06[CFG] vici client 3 connected
Nov 23 09:55:23 pfSense charon: 06[CFG] vici client 3 registered for: list-sa
Nov 23 09:55:23 pfSense charon: 06[CFG] vici client 3 requests: list-sas
Nov 23 09:55:23 pfSense charon: 06[CFG] vici client 3 disconnected
Nov 23 09:55:28 pfSense charon: 08[CFG] vici client 4 connected
Nov 23 09:55:28 pfSense charon: 06[CFG] vici client 4 registered for: list-sa
Nov 23 09:55:28 pfSense charon: 10[CFG] vici client 4 requests: list-sas
Nov 23 09:55:28 pfSense charon: 10[CFG] vici client 4 disconnected
Nov 23 09:55:29 pfSense charon: 10[IKE] <con1000|1> sending retransmit 2 of request message ID 0, seq 1
Nov 23 09:55:29 pfSense charon: 10[NET] <con1000|1> sending packet: from 192.168.0.100[500] to 111.222.333.444[500] (180 bytes)

Проблема

Клиент немедленно отключается, и я не вижу очень четкого сообщения об ошибке. Я полагаю, проблема в том, что fpsense находится за NAT. Должен ли левый IP-адрес также быть IP-адресом подсети виртуальной машины, например 192.168.56.2?

0
задан 23 November 2017 в 11:33
1 ответ

Левая подсеть и правая подсеть в файле журнала совпадают. Левая подсеть должна быть CIDR VPC. Подсеть с правами должна быть офисным CIDR. Также левый и правый не выглядят правильно.

Где вы взяли конфигурацию (ipsec.conf) для подключения? Скачать с Amazon или вручную?

0
ответ дан 5 December 2019 в 07:09

Теги

Похожие вопросы