

# Configuración de la MTU de instancias de Amazon EC2
<a name="ec2-instance-mtu"></a>

La unidad de transmisión máxima (MTU) de una conexión de red es el tamaño, en bytes, del mayor paquete permitido que se puede transferir a través de la conexión. Todos los tipos de instancias de Amazon EC2 admiten marcos estándar (1500 MTU) y todos los tipos de instancias de la generación actual admiten marcos gigantes (9001 MTU).

Puede ver la MTU de sus instancias de Amazon EC2, ver la MTU de ruta entre su instancia y otro host y configurar las instancias para que utilicen marcos estándar o gigantes.

**Topics**
+ [Comprobar la MTU de la ruta entre dos hosts](#check_path_mtu)
+ [Comprobación de la MTU de la instancia](#check_mtu)
+ [Configuración de la MTU de la instancia](#set_mtu)

## Comprobar la MTU de la ruta entre dos hosts
<a name="check_path_mtu"></a>

Puede comprobar la MTU de la ruta entre la instancia EC2 y otro host. Puede especificar un nombre de DNS o una dirección IP como destino. Si el destino es otra instancia EC2, verifique que el grupo de seguridad permita el tráfico de UDP entrante.

El procedimiento que utiliza depende del sistema operativo de la instancia.

### Instancias de Linux
<a name="check-path-mtu-linux"></a>

Ejecute el comando **tracepath** en la instancia para comprobar la MTU de la ruta entre la instancia de EC2 y el destino especificado. Este comando forma parte del paquete `iputils`, que está disponible de forma predeterminada en muchas distribuciones de Linux.

En este ejemplo se comprueba la MTU de la ruta entre la instancia EC2 y `amazon.com`.

```
[ec2-user ~]$ tracepath amazon.com
```

En esta salida de ejemplo, la MTU de la ruta es 1500.

```
 1?: [LOCALHOST]     pmtu 9001
 1:  ip-172-31-16-1.us-west-1.compute.internal (172.31.16.1)   0.187ms pmtu 1500
 1:  no reply
 2:  no reply
 3:  no reply
 4:  100.64.16.241 (100.64.16.241)                          0.574ms
 5:  72.21.222.221 (72.21.222.221)                         84.447ms asymm 21
 6:  205.251.229.97 (205.251.229.97)                       79.970ms asymm 19
 7:  72.21.222.194 (72.21.222.194)                         96.546ms asymm 16
 8:  72.21.222.239 (72.21.222.239)                         79.244ms asymm 15
 9:  205.251.225.73 (205.251.225.73)                       91.867ms asymm 16
...
31:  no reply
     Too many hops: pmtu 1500
     Resume: pmtu 1500
```

### instancias de Windows
<a name="check-path-mtu-windows"></a>

**Para comprobar la MTU de la ruta con mturoute**

1. Descargue **mturoute.exe** en su instancia de EC2 desde [https://elifulkerson.com/projects/mturoute.php](https://elifulkerson.com/projects/mturoute.php).

1. Abra una ventana del símbolo del sistema y cambie al directorio en el que haya descargado **mturoute.exe**.

1. Utilice el siguiente comando para comprobar la MTU de la ruta entre la instancia EC2 y el destino especificado. En este ejemplo se comprueba la MTU de la ruta entre la instancia EC2 y `www.elifulkerson.com`.

   ```
   .\mturoute.exe www.elifulkerson.com
   ```

   En esta salida de ejemplo, la MTU de la ruta es 1500.

   ```
   * ICMP Fragmentation is not permitted. *
   * Speed optimization is enabled. *
   * Maximum payload is 10000 bytes. *
   + ICMP payload of 1472 bytes succeeded.
   - ICMP payload of 1473 bytes is too big.
   Path MTU: 1500 bytes.
   ```

## Comprobación de la MTU de la instancia
<a name="check_mtu"></a>

Puede comprobar el valor de la MTU de la instancia. Algunas instancias están configuradas para utilizar tramas gigantes y otras están configuradas para utilizar tamaños de trama estándar. 

El procedimiento que utiliza depende del sistema operativo de la instancia.

### Instancias de Linux
<a name="check-mtu-linux"></a>

**Para comprobar la configuración de la MTU de una instancia Linux**  
Ejecute el siguiente comando **ip** en la instancia EC2. Si la interfaz de red principal no es `eth0`, sustituya `eth0` por la interfaz de red.

```
[ec2-user ~]$ ip link show eth0
```

En la salida del ejemplo, *mtu 9001* indica que esta instancia utiliza tramas gigantes.

```
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:90:c0:b7:9e:d1 brd ff:ff:ff:ff:ff:ff
```

### instancias de Windows
<a name="check-mtu-windows"></a>

El procedimiento que utiliza depende del controlador de su instancia.

------
#### [ ENA driver ]

**Versión 2.1.0 y posteriores**  
Para obtener el valor de la MTU, use el siguiente comando **Get-NetAdapterAdvancedProperty** en la instancia de EC2. Utilice el comodín (asterisco) para obtener todos los nombres de Ethernet. Compruebe la salida correspondiente al nombre de interfaz `*JumboPacket`. Un valor de 9015 indica que las tramas gigantes están habilitadas. Las tramas gigantes están deshabilitadas de forma predeterminada.

```
Get-NetAdapterAdvancedProperty -Name "Ethernet*"
```

**Versión 1.5 y anteriores**  
Para obtener el valor de la MTU, use el siguiente comando **Get-NetAdapterAdvancedProperty** en la instancia de EC2. Compruebe la salida correspondiente al nombre de interfaz `MTU`. Un valor de 9001 indica que las tramas gigantes están habilitadas. Las tramas gigantes están deshabilitadas de forma predeterminada.

```
Get-NetAdapterAdvancedProperty -Name "Ethernet"
```

------
#### [ Intel SRIOV 82599 driver ]

Para obtener el valor de la MTU, use el siguiente comando **Get-NetAdapterAdvancedProperty** en la instancia de EC2. Compruebe la entrada correspondiente al nombre de interfaz `*JumboPacket`. Un valor de 9014 indica que las tramas gigantes están habilitadas. (Tenga en cuenta que el tamaño de la MTU incluye el encabezado y la carga). Las tramas gigantes están deshabilitadas de forma predeterminada.

```
Get-NetAdapterAdvancedProperty -Name "Ethernet"
```

------
#### [ AWS PV driver ]

Para obtener el valor de la MTU, use el siguiente comando en la instancia EC2. El nombre de la interfaz puede variar. En la salida, busque una entrada llamada "Ethernet", "Ethernet 2" o "Local Area Connection". Necesita el nombre de la interfaz para habilitar y para deshabilitar las tramas gigantes. Un valor de 9001 indica que las tramas gigantes están habilitadas.

```
netsh interface ipv4 show subinterface
```

------

## Configuración de la MTU de la instancia
<a name="set_mtu"></a>

Es posible que desee utilizar tramas gigantes para el tráfico de red dentro de la VPC y tramas estándar para el tráfico de Internet. Sea cual sea el caso de uso, le recomendamos que verifique que su instancia se comporte según lo previsto.

El procedimiento que utiliza depende del sistema operativo de la instancia.

### Instancias de Linux
<a name="set-mtu-linux"></a>

**Para establecer el valor de la MTU con una instancia de Linux**

1. Ejecute el siguiente comando **ip** en la instancia. Establece el valor deseado de la MTU en 1500, pero también puede utilizar un valor de 9001. Si la interfaz de red principal no es `eth0`, sustituya `eth0` por la interfaz de red real.

   ```
   [ec2-user ~]$ sudo ip link set dev eth0 mtu 1500
   ```

1. (Opcional) Para que la configuración de la MTU de la red persista tras un reinicio, modifique los siguientes archivos de configuración, en función del tipo de sistema operativo que use.
   + **Amazon Linux 2023**: modifique la sección `[Link]` del archivo de configuración. El archivo de configuración predeterminado es `/usr/lib/systemd/network/80-ec2.network`. O bien, puede actualizar cualquier archivo de configuración personalizado creado en /run/systemd/network/, donde el nombre del archivo es *prioridad*-*interfaz*. Para obtener más información, consulte [Networking service](https://docs.aws.amazon.com/linux/al2023/ug/networking-service.html) en la Guía del usuario de Amazon Linux.

     ```
     MTUBytes=1500
     ```
   + **Amazon Linux 2**: agregue la línea siguiente al archivo `/etc/sysconfig/network-scripts/ifcfg-eth0`:

     ```
     MTU=1500
     ```

     Añada la línea siguiente al archivo `/etc/dhcp/dhclient.conf`:

     ```
     request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-search, domain-name-servers, host-name, nis-domain, nis-servers, ntp-servers;
     ```
   + **Otras distribuciones de Linux**: consulte la documentación específica.

1. (Opcional) Reinicie la instancia y compruebe que la configuración de la MTU sea correcta.

### instancias de Windows
<a name="set-mtu-windows"></a>

El procedimiento que utiliza depende del controlador de su instancia.

------
#### [ ENA driver ]

Para cambiar la MTU, utilice el administrador de dispositivos o el comando **Set-NetAdapterAdvancedProperty** en la instancia.

**Versión 2.1.0 y posteriores**  
Utilice el siguiente comando para activar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9015
```

Utilice el siguiente comando para desactivar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514
```

**Versión 1.5 y anteriores**  
Utilice el siguiente comando para activar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 9001
```

Utilice el siguiente comando para desactivar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "MTU" -RegistryValue 1500
```

------
#### [ Intel SRIOV 82599 driver ]

Para cambiar la MTU, utilice el administrador de dispositivos o el comando **Set-NetAdapterAdvancedProperty** en la instancia.

Utilice el siguiente comando para activar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 9014
```

Utilice el siguiente comando para desactivar tramas gigantes.

```
Set-NetAdapterAdvancedProperty -Name "Ethernet" -RegistryKeyword "*JumboPacket" -RegistryValue 1514
```

------
#### [ AWS PV driver ]

Puede cambiar la MTU con el comando **netsh** en la instancia. No puede cambiar la MTU con el administrador de dispositivos.

Utilice el siguiente comando para activar tramas gigantes.

```
netsh interface ipv4 set subinterface "Ethernet" mtu=9001
```

Utilice el siguiente comando para desactivar tramas gigantes.

```
netsh interface ipv4 set subinterface "Ethernet" mtu=1500
```

------