저는 Proxmox PVE 호스트를 실행 중이고 VXLAN을 사용하여 이 호스트에서 실행되는 컴퓨터를 우리 연구실의 다양한 네트워크에 연결하려고 합니다. 그러나 나는 이해할 수 없는 이상한 MTU 관련 문제에 직면하고 있습니다.
먼저 내 설정입니다. 기본 레이아웃은 PVE 호스트의 가상 머신이 브리지를 통해 VXLAN 터널에 연결된다는 것입니다. 터널 반대편에는 VXLAN 엔드포인트(EP) 역할을 하는 실제 머신이 실험실에 있습니다. 이더넷 포트 중 하나에 대한 브리지를 통해 VTEP에 연결되고, 이는 다시 VM을 넣으려는 네트워크를 보유하는 스위치에 연결됩니다.
PVE 호스트(예: VM 1개와 VXLAN 1개):
___________ __________ __________ ___________
| VM eth0 | | Bridge | | VXLAN | | Host eno1 |
| 192.168.. |___| ---- |___| VNI 1 |___| 10... |___ to LabNet
| MTU 1500 | | MTU 1550 | | MTU 1550 | | MTU 1600 |
|___________| |__________| |__________| |___________|
실습(예: 하나의 터널 + 하나의 실습 장치가 있는 엔드포인트):
___________ __________ __________ __________ ___________
| LabDevice | | EP eth1 | | Bridge | | VXLAN | | EP eth0 |
| 192.168.. |___ lab switch etc ___| ---- |___| ---- |___| VNI 1 |___| 10... |___ to PVE Host
| MTU 1500 | | MTU 1500 | | MTU 1550 | | MTU 1550 | | MTU 1600 |
|___________| |__________| |__________| |__________| |___________|
이제 PMTUD가 L2이므로 대부분의 장치가 다시 보고할 수 없기 때문에 여기서는 실제로 작동하지 않는다는 것을 알았습니다. 이것이 바로 VXLAN 오버헤드를 처리해야 하는 장치의 MTU를 늘린 이유입니다(1550이 아니라 1600임). 관련이 없으므로 있는 그대로의 상태를 정확하게 설명하고 싶습니다.)
그러나 여전히 MTU 불일치/ICMP 블랙홀 문제가 발생합니다.
문제 1) 체인의 어떤 항목이 MTU 1450만 지원한다고 주장합니다. SSH를 통해 VM에서 LabDevice로 연결을 시도하면 연결이 중단되고 시간 초과됩니다. ping -M do -s 1450
일반적인 조각화 필요... 메시지로 응답하는 어딘가를 통해 MTU를 테스트하면 최대 MTU 1450이 저장되고 후속 SSH 연결 시도가 작동합니다(저장된 MTU1450 항목 시간이 초과될 때까지). PVE 호스트에는 MTU가 1450으로 설정된 장치가 있지만 그 중 어느 것도 VM에 연결되어 있지 않습니다.
문제 2) 터널과 관련되지 않은 장치에서도 PMTUD가 작동하지 않습니다. VM eth0의 MTU를 낮추고 ping -s... VM에 비해 너무 큰 LabDevice에서 발생하지만 다른 모든 것에 대해서는 괜찮습니다. VM이 ICMP로 응답할 수 있어야 한다고 이해하더라도 응답이 없습니다. 조각화가 필요합니다... 메시지.
세미 관련: 엔드포인트에 연결된 장치가 감소된 MTU를 검색할 수 있도록 PVE 호스트 및 엔드포인트 장치에서 수행할 수 있는 작업이 있습니까? 왜냐하면 점보 프레임을 보낼 수 없는 일부 연구실이 있고 해당 연구실의 모든 단일 장치에 더 낮은 MTU를 설정하지 않는 것을 선호하기 때문입니다.
편집: 어쩌면 관련성이 있을 수도 있습니다. 현재 멀티캐스트를 실행하고 있지 않지만 bridge fdb ...
. 또한 VM 호스트에서 VM은 브리지에 직접 연결되지 않고 일부 마법을 통해 연결됩니다.