%EB%A5%BC%20%EC%A0%84%EB%8B%AC%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
나는 지금조사Docker 브리지 뒤에 DHCP 서버를 설정합니다. 내 docker 브리지가 을(를) 사용하고 있습니다 . 들어오는 요청을 브리지된 네트워크로 docker compose
전달하는 방법을 찾고 있습니다 . 확인하는 데 사용할 계획인 DHCPDISCOVER
IPS가 모드로 설정되어 있습니다.NFQUEUE
변화*) 일부 DHCP 패킷. 체인이나 체인 queue num
에서는 사용이 불가능해 보입니다 .ingress
egress
체인 fwd
에서 사용할 수 있다는 것을 알고 있지만 이로 인해 두 가지 문제가 발생합니다.ingress
- 패킷
fwd
에드는NF_STOLEN
중요성더 이상 통과가 발생하지 않아 패킷이 IPS로 전송되지 않습니다. fwd
규칙과ingress
체인에는 명명된 NIC가 필요합니다. Docker는 이러한 인터페이스를 동적으로 제공하므로 이는 깔끔한 솔루션처럼 보이지 않으며 나중에 테이블과 체인을 추가해야 하는 오버헤드를 추가합니다.
이를 위해 다음을 시도했습니다.
table inet nat {
chain prerouting {
type nat hook prerouting priority -100; policy accept;
ether daddr ff:ff:ff:ff:ff:ff udp sport 68 ip daddr 255.255.255.255 dnat to 172.25.10.5;
}
}
그리고
table netdev filterearly_lan {
chain ingress {
type filter hook ingress device enp1s0.10 priority -500; policy accept;
ether daddr ff:ff:ff:ff:ff:ff udp sport 68 ip daddr set 172.25.10.5;
}
}
그러나 의 출력에는 아무 것도 나타나지 않는 것 같습니다 tcpdump -i br-a039f83f0bc5 port 67 and port 68 or arp -nne
.
NIC를 지정하지 않고 이런 종류의 전달을 수행할 수 있습니까? 감사해요
* nftables는 패킷 깊숙한 곳에 도달할 수 없으므로 DHCP 서버 IP(옵션 54) 필드를 변경합니다.