INTEGRITY Документация

Туннель с межсетевым экраном

С помощью Cloudflare Tunnel можно реализовать модель позитивной безопасности: заблокировать весь входящий трафик и разрешить только исходящий трафик от cloudflared. Извне будут доступны только службы, указанные в конфигурации вашего туннеля.

Порты

Приведённые ниже параметры можно настроить для исходящего трафика внутри межсетевого экрана.

Способ настройки брандмауэра зависит от его типа:

Убедитесь, что порт 7844 разрешён для протоколов TCP и UDP (для http2 и quic).

Требуется для работы туннеля

cloudflared подключается к глобальной сети Cloudflare через порт 7844. Чтобы использовать Cloudflare Tunnel, ваш брандмауэр должен разрешать исходящие подключения к следующим адресам на порте 7844 (через UDP, если используется quic протокол или TCP при использовании http2 протокол).

region1.v2.argotunnel.com

IPv4 IPv6 Порт Протоколы
198.41.192.167 198.41.192.67 198.41.192.57 198.41.192.107 198.41.192.27 198.41.192.7 198.41.192.227 198.41.192.47 198.41.192.37 198.41.192.77 2606:4700:a0::1 2606:4700:a0::2 2606:4700:a0::3 2606:4700:a0::4 2606:4700:a0::5 2606:4700:a0::6 2606:4700:a0::7 2606:4700:a0::8 2606:4700:a0::9 2606:4700:a0::10 7844 TCP/UDP (http2/quic)

region2.v2.argotunnel.com

IPv4 IPv6 Порт Протоколы
198.41.200.13 198.41.200.193 198.41.200.33 198.41.200.233 198.41.200.53 198.41.200.63 198.41.200.113 198.41.200.73 198.41.200.43 198.41.200.23 2606:4700:a8::1 2606:4700:a8::2 2606:4700:a8::3 2606:4700:a8::4 2606:4700:a8::5 2606:4700:a8::6 2606:4700:a8::7 2606:4700:a8::8 2606:4700:a8::9 2606:4700:a8::10 7844 TCP/UDP (http2/quic)

межсетевые экраны, требующие SNI

Если ваш межсетевой экран применяет Server Name Indication (SNI), также разрешите эти имена хостов на порту 7844:

Имя хоста Порт Протоколы
_v2-origintunneld._tcp.argotunnel.com 7844 TCP (http2)
cftunnel.com 7844 TCP/UDP (http2/quic)
h2.cftunnel.com 7844 TCP (http2)
quic.cftunnel.com 7844 UDP (quic)

Регион US

При использовании --region us флаг, убедитесь, что ваш межсетевой экран разрешает исходящие подключения к этим адресатам в регионе США на порте 7844 (TCP/UDP).

us-region1.v2.argotunnel.com

IPv4 IPv6 Порт Протокол
198.41.218.1 198.41.218.2 198.41.218.3 198.41.218.4 198.41.218.5 198.41.218.6 198.41.218.7 198.41.218.8 198.41.218.9 198.41.218.10 2606:4700:a1::1 2606:4700:a1::2 2606:4700:a1::3 2606:4700:a1::4 2606:4700:a1::5 2606:4700:a1::6 2606:4700:a1::7 2606:4700:a1::8 2606:4700:a1::9 2606:4700:a1::10 7844 TCP/UDP (http2/quic)

us-region2.v2.argotunnel.com

IPv4 IPv6 Порт Протокол
198.41.219.1 198.41.219.2 198.41.219.3 198.41.219.4 198.41.219.5 198.41.219.6 198.41.219.7 198.41.219.8 198.41.219.9 198.41.219.10 2606:4700:a9::1 2606:4700:a9::2 2606:4700:a9::3 2606:4700:a9::4 2606:4700:a9::5 2606:4700:a9::6 2606:4700:a9::7 2606:4700:a9::8 2606:4700:a9::9 2606:4700:a9::10 7844 TCP/UDP (http2/quic)

Регион FedRAMP High

При развёртывании cloudflared в FedRAMP High окружение, cloudflared автоматически направляется в центры обработки данных FedRAMP на основе токен туннеля. Убедитесь, что ваш межсетевой экран разрешает исходящие подключения к следующим адресам, специфичным для FedRAMP, через порт 7844 (TCP/UDP).

fed-region1.v2.argotunnel.com

IPv4 IPv6 Порт Протоколы
162.159.234.1 162.159.234.2 162.159.234.3 162.159.234.4 162.159.234.5 162.159.234.6 162.159.234.7 162.159.234.8 162.159.234.9 162.159.234.10 2a06:98c1:4d::1 2a06:98c1:4d::2 2a06:98c1:4d::3 2a06:98c1:4d::4 2a06:98c1:4d::5 2a06:98c1:4d::6 2a06:98c1:4d::7 2a06:98c1:4d::8 2a06:98c1:4d::9 2a06:98c1:4d::10 7844 TCP/UDP (http2/quic)

fed-region2.v2.argotunnel.com

IPv4 IPv6 Порт Протоколы
172.64.234.1 172.64.234.2 172.64.234.3 172.64.234.4 172.64.234.5 172.64.234.6 172.64.234.7 172.64.234.8 172.64.234.9 172.64.234.10 2606:4700:f6::1 2606:4700:f6::2 2606:4700:f6::3 2606:4700:f6::4 2606:4700:f6::5 2606:4700:f6::6 2606:4700:f6::7 2606:4700:f6::8 2606:4700:f6::9 2606:4700:f6::10 7844 TCP/UDP (http2/quic)

Необязательно

Открытие порта 443 включает некоторые необязательные функции. Если эти подключения не будут разрешены, в журнале может появиться ошибка, однако cloudflared по-прежнему будет работать корректно.

api.cloudflare.com

Позволяет cloudflared и узнайте, доступны ли обновления ПО.

IPv4 IPv6 Порт Протоколы
104.19.192.29 104.19.192.177 104.19.192.175 104.19.193.29 104.19.192.174 104.19.192.176 2606:4700:300a::6813:c0af 2606:4700:300a::6813:c01d 2606:4700:300a::6813:c0ae 2606:4700:300a::6813:c11d 2606:4700:300a::6813:c0b0 2606:4700:300a::6813:c0b1 443 TCP (HTTPS)

update.argotunnel.com

Позволяет cloudflared и узнайте, доступны ли обновления ПО.

IPv4 IPv6 Порт Протоколы
104.18.25.129 104.18.24.129 2606:4700::6812:1881 2606:4700::6812:1981 443 TCP (HTTPS)

github.com

Позволяет cloudflared чтобы скачать последнюю версию и выполнить обновление ПО.

IPv4 IPv6 Порт Протоколы
IP-адреса GitHub IP-адреса GitHub 443 TCP (HTTPS)

<your-team-name>.cloudflareaccess.com

Позволяет cloudflared чтобы проверить Access JWT. Требуется только если access параметр включён.

IPv4 IPv6 Порт Протоколы
104.19.194.29 104.19.195.29 2606:4700:300a::6813:c31d 2606:4700:300a::6813:c21d 443 TCP (HTTPS)

pqtunnels.cloudflareresearch.com

Позволяет cloudflared и сообщите постквантовый обмен ключами ошибки в Cloudflare.

IPv4 IPv6 Порт Протоколы
104.18.4.64 104.18.5.64 2606:4700::6812:540 2606:4700::6812:440 443 TCP (HTTPS)

cfd-features.argotunnel.com

IPv4 IPv6 Порт Протоколы
Не применимо Не применимо Не применимо Не применимо

Выполнение DNS-запроса для TXT запись для этого имени хоста позволяет cloudflared чтобы определить, какая версия UDP datagram для использования при подключении через quic протокол. Если ваш межсетевой экран фильтрует исходящие DNS-запросы по FQDN, может потребоваться разрешить запросы к этому домену для обеспечения оптимальной quic производительность.

Настройка межсетевого экрана

Межсетевой экран Cloud VM

Если вы размещаете свои сервисы на экземпляре виртуальной машины (VM) у облачного провайдера, вы можете настроить правила межсетевого экрана на уровне экземпляра, блокирующие весь входящий трафик и разрешающие только исходящий. Например, в Google Cloud Platform (GCP) можно удалить все правила для входящего трафика, оставив только нужные правила для исходящего. Это связано с тем, что межсетевой экран GCP по умолчанию блокирует входящий трафик, если он не соответствует явно заданному правилу.

Брандмауэр ОС

Как вариант, можно использовать правила брандмауэра на уровне операционной системы (ОС), чтобы заблокировать весь входящий трафик и разрешить только исходящий. Например, если ваш сервер работает на Linux, можно использовать iptables чтобы настроить правила брандмауэра:

  1. Проверьте свои текущие правила межсетевого экрана.

    sudo iptables -L
  2. Разрешить localhost чтобы взаимодействовать с самим собой.

    sudo iptables -A INPUT -i lo -j ACCEPT
  3. Разрешить уже установленные соединения и связанный с ними трафик.

    sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
  4. Разрешить новые SSH-подключения.

    sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT
  5. Отбрасывайте весь остальной входящий трафик.

    sudo iptables -A INPUT -j DROP
  6. Настроив правила межсетевого экрана, используйте эту команду, чтобы проверить текущий iptables параметры:

    sudo iptables -L
  7. Запустите туннель и проверьте, что все настроенные службы по-прежнему доступны извне через туннель, но недоступны через внешний IP-адрес сервера.

  8. По умолчанию правила, добавленные через iptables команды хранятся только в памяти и не сохраняются после перезагрузки. Существует множество способов сохранить и перезагрузить правила брандмауэра в зависимости от дистрибутива Linux. Например, в Debian можно использовать iptables-persistent пакет:

    sudo apt install iptables-persistent
    sudo netfilter-persistent save

Протестировать подключение

Протестировать с помощью dig

Чтобы проверить подключение к Cloudflare, можно использовать dig команду для запроса перечисленных выше имен хостов. Обратите внимание, что cloudflared по умолчанию подключается по IPv4.

dig A region1.v2.argotunnel.com
;; ANSWER SECTION:
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.167
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.67
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.57
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.107
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.27
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.7
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.227
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.47
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.37
region1.v2.argotunnel.com. 86400 IN	A	198.41.192.77
...
dig AAAA region1.v2.argotunnel.com
...
;; ANSWER SECTION:
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::1
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::2
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::3
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::4
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::5
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::6
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::7
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::8
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::9
region1.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a0::10
...
dig A region2.v2.argotunnel.com
;; ANSWER SECTION:
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.13
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.193
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.33
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.233
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.53
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.63
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.113
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.73
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.43
region2.v2.argotunnel.com. 86400 IN	A	198.41.200.23
...
dig AAAA region2.v2.argotunnel.com
...
;; ANSWER SECTION:
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::1
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::2
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::3
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::4
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::5
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::6
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::7
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::8
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::9
region2.v2.argotunnel.com. 86400 IN	AAAA	2606:4700:a8::10
...

Протестировать с помощью PowerShell

В Windows можно использовать команды PowerShell, если dig недоступен.

Чтобы протестировать DNS:

Resolve-DnsName -Name _v2-origintunneld._tcp.argotunnel.com SRV
Name                                     Type   TTL   Section    NameTarget                     Priority Weight Port
----                                     ----   ---   -------    ----------                     -------- ------ ----
_v2-origintunneld._tcp.argotunnel.com       SRV    112   Answer     region2.v2.argotunnel.com         2        1      7844
_v2-origintunneld._tcp.argotunnel.com       SRV    112   Answer     region1.v2.argotunnel.com         1        1      7844

Чтобы протестировать порты:

tnc region1.v2.argotunnel.com -port 443
ComputerName     : region1.v2.argotunnel.com
RemoteAddress    : 198.41.192.227
RemotePort       : 443
InterfaceAlias   : Ethernet
SourceAddress    : 10.0.2.15
TcpTestSucceeded : True
tnc region1.v2.argotunnel.com -port 7844
ComputerName     : region1.v2.argotunnel.com
RemoteAddress    : 198.41.192.227
RemotePort       : 7844
InterfaceAlias   : Ethernet
SourceAddress    : 10.0.2.15
TcpTestSucceeded : True