Cloudflare Tunnel では、受信トラフィックをすべて遮断し、cloudflared からの送信トラフィックだけを許可する許可リスト型のセキュリティモデルを実装できます。トンネル設定で指定したサービスだけが外部に公開されます。
次のパラメーターは、ファイアウォール内の送信トラフィックに設定できます。
ファイアウォールの設定方法は、ファイアウォールの種類によって異なります。
- ドメインベースのルール(FQDN 許可リスト)に対応している場合は、次に示すホスト名への送信接続を許可できます。
- IP ベースのルールが必要な場合は、各ドメインに記載されたすべての IP アドレスへの送信接続を許可します。
ポート 7844 は、TCP と UDP の両方(http2 と quic)で許可してください。
cloudflared は、ポート 7844 で Cloudflare のグローバルネットワークに接続します。Cloudflare Tunnel を使うには、ファイアウォールがポート 7844 で次の宛先への送信接続を許可する必要があります(quic プロトコルを使う場合は UDP、http2 プロトコルを使う場合は TCP)。
| 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) |
| 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) |
ファイアウォールが 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) |
--region us フラグを使う場合は、ファイアウォールがこれらの米国リージョン向け宛先へポート 7844(TCP/UDP)の送信接続を許可していることを確認します。
| 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) |
| 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 をデプロイすると、cloudflared は トンネルトークン に基づいて FedRAMP データセンターへ自動でルーティングします。ファイアウォールで、ポート 7844(TCP/UDP)向けにこれらの FedRAMP 専用宛先への送信接続を許可してください。
| 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) |
| 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 は正常に動作します。
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) |
cloudflared がソフトウェア更新の有無を問い合わせられるようにします。
| IPv4 | IPv6 | ポート | プロトコル |
|---|---|---|---|
104.18.25.129 104.18.24.129 |
2606:4700::6812:1881 2606:4700::6812:1981 |
443 | TCP (HTTPS) |
cloudflared が最新リリースをダウンロードし、ソフトウェア更新を実行できるようにします。
| IPv4 | IPv6 | ポート | プロトコル |
|---|---|---|---|
| GitHub's IPs ↗ | GitHub's IPs ↗ | 443 | TCP (HTTPS) |
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) |
cloudflared が ポスト量子鍵交換 ↗ のエラーを Cloudflare に報告できるようにします。
| IPv4 | IPv6 | ポート | プロトコル |
|---|---|---|---|
104.18.4.64 104.18.5.64 |
2606:4700::6812:540 2606:4700::6812:440 |
443 | TCP (HTTPS) |
| IPv4 | IPv6 | ポート | プロトコル |
|---|---|---|---|
| 該当なし | 該当なし | 該当なし | 該当なし |
このホスト名に対する TXT レコードの DNS クエリにより、cloudflared は quic プロトコル接続時に使う UDP データグラム のバージョンを判断できます。ファイアウォールが送信 DNS クエリを FQDN でフィルタする場合、最適な quic 性能を得るために、このドメインへのクエリを許可する必要があることがあります。
クラウドプロバイダーの仮想マシン(VM)インスタンスでサービスをホストしている場合は、インスタンスレベルのファイアウォールルールで受信をすべて遮断し、送信だけを許可できます。たとえば Google Cloud Platform(GCP)では、関連する送信ルールだけを残し、受信ルールをすべて削除できます。GCP のファイアウォールは、明示的なルールに一致しない受信トラフィックを拒否するためです。
あるいは、オペレーティングシステム(OS)レベルのファイアウォールルールで受信をすべて遮断し、送信だけを許可できます。たとえばサーバーが Linux の場合は、iptables でファイアウォールルールを設定できます。
-
現在のファイアウォールルールを確認します。
sudo iptables -L -
localhostが自身と通信できるようにします。sudo iptables -A INPUT -i lo -j ACCEPT -
確立済みの接続と関連トラフィックを許可します。
sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -
新しい SSH 接続を許可します。
sudo iptables -A INPUT -p tcp --dport ssh -j ACCEPT -
その他の受信トラフィックをすべて破棄します。
sudo iptables -A INPUT -j DROP -
ファイアウォールルールを設定したら、次のコマンドで現在の
iptables設定を確認します。sudo iptables -L -
トンネルを実行し、設定したサービスがトンネル経由では外部から到達でき、サーバーの外部 IP アドレス経由では到達できないことを確認します。
-
デフォルトでは、
iptablesコマンドで追加したルールはメモリ上にだけ保存され、再起動後は残りません。ファイアウォールルールの保存と再読み込みの方法は、Linux ディストリビューションによって異なります。たとえば Debian ではiptables-persistent↗ パッケージを使えます。sudo apt install iptables-persistent sudo netfilter-persistent save
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
...Windows で dig が使えない場合は、PowerShell コマンドを使えます。
DNS をテストするには:
Resolve-DnsName -Name _v2-origintunneld._tcp.argotunnel.com SRVName 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 443ComputerName : region1.v2.argotunnel.com
RemoteAddress : 198.41.192.227
RemotePort : 443
InterfaceAlias : Ethernet
SourceAddress : 10.0.2.15
TcpTestSucceeded : Truetnc region1.v2.argotunnel.com -port 7844ComputerName : region1.v2.argotunnel.com
RemoteAddress : 198.41.192.227
RemotePort : 7844
InterfaceAlias : Ethernet
SourceAddress : 10.0.2.15
TcpTestSucceeded : True