Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 12 additions & 31 deletions src/content/docs/magic-transit/analytics/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,34 +9,15 @@ description: Use Magic Transit's different analytic options for an overview of

---

Magic Transit customers can follow the troubleshooting steps listed below to gather information at the beginning of a troubleshooting process, then move to more detailed network data collection and analysis to identify the root cause of a problem.

- Analyze network traffic data over time in [Magic Transit Network Analytics](#magic-transit-network-analytics)
- Perform more detailed troubleshooting with:
- [Traceroutes](#traceroutes)
- [Packet captures](#packet-captures)

## Magic Transit Network Analytics

Network Analytics provides detailed analytics on Magic Transit traffic over time. Customers can filter data on specific traffic characteristics and view traffic analytics over time.

Refer to [Magic Transit Network Analytics](/magic-transit/analytics/network-analytics/) to learn more.

## Traceroutes

Traceroutes provide a hop by hop breakdown of the Internet path network traffic follows as it traverses from Cloudflare's network to a customer's network.

Refer to [Traceroutes](/magic-transit/analytics/traceroutes/) to learn more.

## Packet captures

Packet captures allow customers to analyze the raw packet data that a customer is sending and receiving from Cloudflare's network.

Refer to [packet captures](/magic-firewall/packet-captures/) to learn more.

## Query Analytics with GraphQL

GraphQL Analytics provides customers with a GraphQL API that they can query to receive raw JSON data of their Magic WAN traffic analytics. This data can be ingested into a SIEM or other tool and analyzed further.

- [Querying Magic Transit tunnel bandwidth analytics with GraphQL](/magic-transit/analytics/query-bandwidth/)
- [Querying Magic Transit tunnel health check results with GraphQL](/magic-transit/analytics/query-tunnel-health/)
import { Render } from "~/components";

<Render file="analytics/overview"
product="magic-wan"
params={{
productName: "Magic Transit",
analyticsAnchorHeading: "#magic-transit-network-analytics",
networkAnalyticsURL: "/magic-transit/analytics/network-analytics/",
traceRoutes: "/magic-transit/analytics/traceroutes/",
graphQl: "/magic-transit/"
}}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,17 @@ description: Magic Transit uses a static configuration to route your traffic

import { Render } from "~/components"

<Render file="static-routes/static-routes1" params={{ productName: "Magic Transit", BGPpath: "/magic-transit/how-to/bgp-peering/", anycastURL: "/magic-transit/reference/tunnels/", trafficSteering: "/magic-transit/reference/traffic-steering/", magicWANecmp: "" }} />

<Render file="static-routes/static-routes2-prefixes-smaller-24" />

<Render file="static-routes/static-routes3" params={{ createPath: "Magic Transit > Configuration", tunnelEndpoints: "/magic-transit/how-to/configure-tunnels/", ipRanges: " " }} />
<Render
file="static-routes"
params={{
magicProduct: "Magic Transit",
productName: "Magic Transit",
BGPpath: "/magic-transit/how-to/bgp-peering/",
anycastURL: "/magic-transit/reference/tunnels/",
trafficSteering: "/magic-transit/reference/traffic-steering/",
magicWANecmp: " ",
createPath: "Magic Transit > Configuration",
tunnelEndpoints: "/magic-transit/how-to/configure-tunnels/",
ipRanges: " "
}}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,7 @@ import { Render } from "~/components";
file="tunnel-health/update-tunnel-health-checks-frequency"
params={{
productName: "Magic Transit.",
connectorExtraInfo: "",
healthChecksUrl: "/magic-transit/reference/tunnel-health-checks/",
addTunnelsPath: "/magic-transit/how-to/configure-tunnels/#add-tunnels",
connectorNote: "",
connectorTitle1: "",
connectorTitle2: "",
connectorSteps: "",
addTunnelsPath: "/magic-transit/how-to/configure-tunnels/#add-tunnels"
}}
/>
22 changes: 7 additions & 15 deletions src/content/docs/magic-transit/reference/mtu-mss.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,10 @@ sidebar:

import { Render } from "~/components";

<Render file="mtu-mss/mtu-mss" params={{ productName: "Magic Transit" }} />

## MSS with Magic Transit and Direct Server Return

<Render file="mtu-mss/mt-dsr" />

## MSS clamping recommendations

### GRE tunnels as off-ramp

<Render file="mtu-mss/mss-clamping-gre" />

### IPsec tunnels

<Render file="mtu-mss/mss-clamping-ipsec" />
<Render
file="mtu-mss/mtu-mss"
params={{
magicProduct: "Magic Transit",
productName: "Magic Transit"
}}
/>
50 changes: 12 additions & 38 deletions src/content/docs/magic-wan/analytics/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -9,41 +9,15 @@ description: Use Magic WAN's different analytic options for an overview of the

---

Magic WAN customers can follow the troubleshooting steps listed below to gather information at the beginning of a troubleshooting process, then move to more detailed network data collection and analysis to identify the root cause of a problem.

- Overview in [Magic WAN Site Analytics](#magic-wan-site-analytics)
- Analyze network traffic data overtime in [Magic WAN Network Analytics](#magic-wan-network-analytics)
- Perform more detailed troubleshooting with:
- [Traceroutes](#traceroutes)
- [Packet captures](#packet-captures)

## Magic WAN Site Analytics

Magic WAN Site Analytics provides an overview of the connectivity status and traffic analytics of all Magic WAN sites. This is a great place to start if you receive an alert, need to begin the Magic WAN troubleshooting process, or are performing routine monitoring.

Refer to [Magic WAN Site Analytics](/magic-wan/analytics/site-analytics/) to learn more.

## Magic WAN Network Analytics

Network Analytics provides detailed analytics on Magic WAN traffic over time. Customers can filter data on specific traffic characteristics and view traffic analytics over time.

Refer to [Magic WAN Network Analytics](/magic-wan/analytics/network-analytics/) to learn more.

## Traceroutes

Traceroutes provide a hop by hop breakdown of the Internet path network traffic follows as it traverses from Cloudflare's network to a customer's network.

Refer to [Traceroutes](/magic-wan/analytics/traceroutes/) to learn more.

## Packet captures

Packet captures allow customers to analyze the raw packet data that a customer is sending and receiving from Cloudflare's network.

Refer to [packet captures](/magic-firewall/packet-captures/) to learn more.

## Query Analytics with GraphQL

GraphQL Analytics provides customers with a GraphQL API that they can query to receive raw JSON data of their Magic WAN traffic analytics. This data can be ingested into a SIEM or other tool and analyzed further.

- [Querying Magic WAN tunnel bandwidth analytics with GraphQL](/magic-wan/analytics/query-bandwidth/)
- [Querying Magic WAN tunnel health check results with GraphQL](/magic-wan/analytics/query-tunnel-health/)
import { Render } from "~/components";

<Render file="analytics/overview"
params={{
magicProduct: "Magic WAN",
productName: "Magic WAN",
analyticsAnchorHeading: "#magic-wan-network-analytics",
networkAnalyticsURL: "/magic-wan/analytics/network-analytics/",
traceRoutes: "/magic-wan/analytics/traceroutes/",
graphQl: "/magic-wan/"
}}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,9 @@ import { Render } from "~/components";
file="tunnel-health/update-tunnel-health-checks-frequency"
product="magic-transit"
params={{
magicProduct: "Magic WAN",
productName: "Magic WAN",
connectorExtraInfo: "For Magic WAN Connector, health checks are sent to IPsec tunnel endpoints.",
healthChecksUrl: "/magic-wan/reference/tunnel-health-checks/",
addTunnelsPath:
"/magic-wan/configuration/manually/how-to/configure-tunnels/#add-tunnels",
connectorNote: "<br /> <br /> To configure health checks frequency in Magic WAN Connector, refer to [Configure Connector](#configure-connector).",
connectorTitle1: "Manual configuration",
connectorTitle2: "Configure Connector",
connectorSteps: "<ol><li>Log in to the <a href='https://dash.cloudflare.com/'>Cloudflare dashboard</a> and select your account.</li><li>Go to **Magic WAN** > **Sites**.</li><li>Select your site > **Edit**.</li><li>In **Network** > **WAN configuration** > select your WAN > **Edit**.</li><li>Change the **Health check rate** to your desire rate.</li><li>Select **Save**.</li></ol>",
addTunnelsPath: "/magic-wan/configuration/manually/how-to/configure-tunnels/#add-tunnels"
}}
/>
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,20 @@ description: Magic WAN uses a static configuration to route your traffic through

import { Render } from "~/components"

<Render file="static-routes/static-routes1" product="magic-transit" params={{ productName: "Magic WAN", BGPpath: "/magic-wan/configuration/manually/how-to/bgp-peering/", anycastURL: "/magic-wan/reference/tunnels/", trafficSteering: "/magic-wan/reference/traffic-steering/", magicWANecmp: "The maximum number of routes you can have with the same priority is 64." }} />

<Render file="static-routes/static-routes3" product="magic-transit" params={{ createPath: "Magic WAN > Configuration", tunnelEndpoints: "/magic-wan/configuration/manually/how-to/configure-tunnels/", ipRanges: "<br /> When using Magic WAN and Cloudflare Tunnel together, remember to consider the IP ranges utilized in the static routes of Cloudflare Tunnel when selecting static routes for Magic WAN. For more information, refer to [Cloudflare Tunnel](/magic-wan/zero-trust/cloudflare-tunnel/).<br>" }} />
<Render
file="static-routes"
product="magic-transit"
params={{
productName: "Magic WAN",
BGPpath: "/magic-wan/configuration/manually/how-to/bgp-peering/",
anycastURL: "/magic-wan/reference/tunnels/",
trafficSteering: "/magic-wan/reference/traffic-steering/",
magicWANecmp: "The maximum number of routes you can have with the same priority is 64.",
createPath: "Magic WAN > Configuration",
tunnelEndpoints: "/magic-wan/configuration/manually/how-to/configure-tunnels/",
ipRanges: "<br /> When using Magic WAN and Cloudflare Tunnel together, remember to consider the IP ranges utilized in the static routes of Cloudflare Tunnel when selecting static routes for Magic WAN. For more information, refer to [Cloudflare Tunnel](/magic-wan/zero-trust/cloudflare-tunnel/). <p></p>"
}}
/>

## Next steps

Expand Down
17 changes: 5 additions & 12 deletions src/content/docs/magic-wan/reference/mtu-mss.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,8 @@ import { Render } from "~/components";
<Render
file="mtu-mss/mtu-mss"
product="magic-transit"
params={{ productName: "Magic WAN" }}
/>

## MSS clamping recommendations

### GRE tunnels as off-ramp

<Render file="mtu-mss/mss-clamping-gre" />

### IPsec tunnels

<Render file="mtu-mss/mss-clamping-ipsec" />
params={{
magicProduct: "Magic WAN",
productName: "Magic WAN"
}}
/>
21 changes: 0 additions & 21 deletions src/content/partials/magic-transit/mtu-mss/mt-dsr.mdx

This file was deleted.

61 changes: 59 additions & 2 deletions src/content/partials/magic-transit/mtu-mss/mtu-mss.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
---
params:
- magicProduct?
- productName
---

import { AnchorHeading, Render } from "~/components";
import { Image } from 'astro:assets';
import dsr from "~/assets/images/magic-transit/mtu-mss/dsr.png"
import tunnel from "~/assets/images/magic-transit/mtu-mss/tcp-mss.png"
import mss_ipsec from "~/assets/images/magic-transit/mtu-mss/ipsec-mss.png"

{props.productName} has operation requirements that customers should know about to make sure their network works as intended. Customers should pay particular attention to the maximum transmission unit (MTU) and maximum segment size (MSS) values. The incorrect configuration of these values might lead to loss of performance or inability to deliver data packets.

## MTU and MSS
Expand All @@ -17,7 +24,7 @@ One common misconception about MSS/MTU is that setting these values negatively i

Since {props.productName} uses encapsulation to deliver its services, it is also important to understand why MTU and MSS matter in this case.

Encapsulation adds bytes to the packet, since we add a new IP header and (often) some sort of encapsulating header to every packet. For example, in the case of GRE for IPv4, we add 24 bytes - 20 bytes for the IPv4 header, and 4 bytes for the GRE tunnel header.
Encapsulation adds bytes to the packet, since we add a new IP header and (often) some sort of encapsulating header to every packet. For example, in the case of GRE for IPv4, we add 24 bytes 20 bytes for the IPv4 header, and 4 bytes for the GRE tunnel header.

A network interface which performs GRE encapsulation needs to account for the added overhead by reducing its MTU. Since the MTU maximum size is 1,500 bytes, for IPv4 this means that the MTU can be 1,476 bytes (the original 1,500 bytes minus the 24 bytes from the GRE encapsulation). This reduced MTU defines the maximum size of the IP packet that can be encapsulated by GRE.

Expand All @@ -29,7 +36,7 @@ Setting the `do not fragment` (DF) bit in the TCP header to `1` denotes that the

If you are experiencing issues with fragmentation and are unable to set an MSS clamp, Cloudflare can clear the `do not fragment` (DF) bit for you. When this option is enabled, Cloudflare fragments packets greater than 1,500 bytes, and the packets are reassembled on your infrastructure after decapsulation. This should be a last resort option. Contact your account team for more information.

### Fragmentation in {props.productName}
<AnchorHeading depth={3} title={`Fragmentation in ${props.productName}`} />

Consider a UDP datagram of size 3,000 bytes (8 bytes for the UDP header + 2,992 bytes for the UDP data). To fit within a standard 1,500 bytes MTU, this UDP datagram would be fragmented across three IP packets as follows:

Expand Down Expand Up @@ -64,3 +71,53 @@ Refer to [MSS clamping recommendations](#mss-clamping-recommendations) for infor
:::caution
Cloudflare only recommends applying a MSS clamp to adjust the size of TCP packets. Changing the MTU of a network interface is not recommended as this might have unforeseen impacts on traffic.
:::

{ props.magicProduct === "Magic Transit" && (
<>
<AnchorHeading title="MSS with Magic Transit and Direct Server Return" depth={2} />
<p>Asymmetric routing is a common scenario especially with Magic Transit. Ingress traffic from the Internet enters the Cloudflare network, then traverses a GRE tunnel (MTU of 1,476 bytes), and egress traffic from the datacenter is sent via Direct Server Return (DSR) over the Internet (MTU of 1,500 bytes).</p>
<p>In an asymmetric scenario, we want to reduce the MSS value of packets sent by Magic Transit users to the Internet in order to reduce the size of packets sent from the Internet towards their network. To accomplish this, the configuration must be done either on the customer's end-hosts or through an MSS clamp on an intermediary device on the egress path of traffic leaving their network. How MSS values affect payload sizes on both routing paths is detailed below.</p>
<Image src={dsr} alt="A diagram showing how MSS works with Magic Transit and Direct Server Return." />
<p><em>Key takeaway from the chart above: MSS clamping affects TCP packet payload sizes flowing in the opposite direction vs. where the clamp is applied.</em></p>
<AnchorHeading title="Tunnel-in-tunnel scenario with Magic Transit" depth={2} />
<p>MSS clamping only affects TCP traffic. If, for example, you have a web server on your Magic Transit prefix, then the MSS clamp will take effect on the TCP data from direct server return traffic. However, be aware that you will have to take a different approach for any tunnels inside of your Magic Transit tunnel (tunnel-in-tunnel scenario).</p>
<Image src={tunnel} alt="A diagram showing where the MSS clamp goes with TCP traffic." />
<p>For example, if you have a Magic Transit GRE tunnel set up, and then another IPsec or GRE tunnel running from third-party devices on your premises, MSS clamp will have no impact on the outer packets of the encapsulated traffic. This is because MSS clamping affects only TCP traffic, and IPsec/GRE encapsulated traffic is IP. For this scenario, you will have to lower the MTU of the internal tunnel interface further, both for your ingress and egress traffic.</p>
<Image src={mss_ipsec} alt="A diagram showing where the MSS clamp goes with an IPsec tunnel inside a GRE tunnel." />
</>
)
}

## MSS clamping recommendations

### GRE tunnels as off-ramp

{ props.magicProduct === "Magic WAN" && (
<>
<Render file="mtu-mss/mss-clamping-gre" product="magic-wan"/>
</>
)
}

{ props.magicProduct === "Magic Transit" && (
<>
<Render file="mtu-mss/mss-clamping-gre" />
</>
)
}

### IPsec tunnels

{ props.magicProduct === "Magic WAN" && (
<>
<Render file="mtu-mss/mss-clamping-ipsec" product="magic-wan" />
</>
)
}

{ props.magicProduct === "Magic Transit" && (
<>
<Render file="mtu-mss/mss-clamping-ipsec" />
</>
)
}
Loading
Loading