MTU 설정은 systemd-networkd에서는 작동하지 않지만 "ip link set mtu"에서는 작동합니다.

MTU 설정은 systemd-networkd에서는 작동하지 않지만 "ip link set mtu"에서는 작동합니다.

MTU인터페이스를 변경하려고 합니다 .
를 사용할 때 올바르게 변경되지 않는 것을 확인했지만 systemd-networkd명령 ip link set mtu을 사용하면 작동합니다.

현재 MTU1500:

3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 8 numrxqueues 8 gso_max_size 65536 gso_max_segs 65535 

/etc/systemd/network/50_eth0.network이제 파일을 변경 하고 다음을 추가했습니다.

[Link]
MTUBytes = 1000

systemd-networkd서비스가 다시 시작되면 syslog다음이 표시됩니다.

Nov 30 23:36:20 me kernel: [84974.429088] igb 0000:00:14.0: changing MTU from 1500 to 1280

현재 MTU1280:

3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1280 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff promiscuity 0 addrgenmode eui64 numtxqueues 8 numrxqueues 8 gso_max_size 65536 gso_max_segs 65535 

보시다시피 1000을 원했는데 1280으로 변경되었습니다. IPv6의 한계에 대해 어딘가에서 읽은 것 같습니다.

이제 ip도구를 사용할 때:

ip link set mtu 1000 dev eth0

syslog:

Nov 30 23:36:44 me kernel: [84998.785039] igb 0000:00:14.0: changing MTU from 1280 to 1000

현재 MTU1000개:

# ip -d link show dev eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1000 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff promiscuity 0 numtxqueues 8 numrxqueues 8 gso_max_size 65536 gso_max_segs 65535 

왜 한 접근 방식은 작동하고 다른 접근 방식은 작동하지 않습니까?
감사해요.

답변1

AB의 의견을 바탕으로 합니다.
실제로 MTUBytes[Link]섹션의 일부에서는 다음 IPv6 참고 사항을 언급합니다.

MTUBytes=
The maximum transmission unit in bytes to set for the device. The usual suffixes K, M, G, are supported and are understood to the base of 1024.
Note that if IPv6 is enabled on the interface, and the MTU is chosen below 1280 (the minimum MTU for IPv6) it will automatically be increased to this value.

이 인터페이스에 대해 IPv6를 비활성화한 후 MTU는 1280 미만입니다. 이 섹션의 다음 지시문을 값 과 함께
사용하여 이 인터페이스에 대해 IPv6를 비활성화했습니다 .[Network]none

IPv6LinkLocalAddressGenerationMode=
Specifies how IPv6 link-local address is generated. Takes one of "eui64", "none", "stable-privacy" and "random". When unset, "stable-privacy" is used if IPv6StableSecretAddress= is specified, and if not, "eui64" is used. Note that if LinkLocalAddressing= is "no" or "ipv4", then IPv6LinkLocalAddressGenerationMode= will be ignored. Also, even if LinkLocalAddressing= is "yes" or "ipv6", setting IPv6LinkLocalAddressGenerationMode=none disables to configure an IPv6 link-local address.

관련 정보