저는 지난 5년 동안 Linux 내부를 파헤치고 많은 네트워킹 기능을 마스터한 네트워킹 선배입니다. 하지만 최근에야 Netfilter 세계에 뛰어들어 지난 3~4년 동안 nftables를 배워 제가 필요한 것을 구현했습니다. 실험실. 나는 이 포털과 ServerFault 포털에서 "MAC 주소 변환/NAT"를 정직하게 검색하여 여기에 도착했습니다.
VM Linux 브리징을 수행할 때 일부 ESXI vSwitch의 부족한 VLAN 관리 기능을 해결해야 합니다.ARP-hw_addr의 MAC 주소와 실제 패킷을 Linux VM 포트에 할당된 VNIC의 MAC@과 일치하도록 변환하려고 합니다., 테마로.
전체 이야기는 다음에서 공유됩니다.https://docs.google.com/document/d/1TBFYlO-n8G-inYO6cdnMnSEeYUP2Ch9vWNO_TwIxK9M/edit?usp=sharing
참고로 뭐?내가 할 수 있는 일은 정적으로 번역하는 것뿐이다.예를 들어 Y측 호스트 IP@를 일치시키고 ARP 및 실제 Eth 헤더의 MAC@를 MAC A(X측)의 MAC@으로 변환하거나 그 반대로 변환합니다.
table netdev mpls {
chain input {
type filter hook ingress device "mpls" priority filter; policy accept;
arp daddr ip 172.16.100.189 arp daddr ether set 00:50:56:01:00:61 counter
ether daddr 00:50:56:01:02:03 ether daddr set 00:50:56:01:00:61 counter accept
}
chain output {
type filter hook egress device "mpls" priority filter; policy accept;
arp saddr ip 172.16.100.189 arp saddr ether set 00:50:56:01:02:03 counter
ether saddr 00:50:56:01:00:61 ether saddr set 00:50:56:01:02:03 counter accept
}
}
하지만 이 작업을 동적으로 비례적으로 수행해야 합니다., 선택한 IP 주소와 일치하고 NF가 즉시 양방향 작업을 수행할 수 있도록 합니다. 다른 네트워킹/가상화 담당자가 vSwitch의 일부 단점(주관적)을 해결하는 데 이 내용이 유용할 수 있기를 바랍니다.
질문:netdev 도메인 뒤에서 작동하는 대규모 Netfilter 캡을 사용하여 이를 동적으로 수행하려면 어떻게 해야 합니까? 그렇지 않은 경우 사용자 정의 애플리케이션을 사용하는 브리지 시리즈의 nf-queue 호출만 이를 수행할 수 있습니까?
피터 씨