Ahoj,
nikdy jsem si nemyslel, že na dnat udp portu strávím několik dní, ale stalo se :-)
Mám hostitele s aktuálním debianem 12.7. Jako firewall se používá nftables. /etc/alternatives/iptables -> /usr/sbin/iptables-nft
V něm pod libvirt 9 běží jako guest další debian 12.7. Bez firewallu. IP 192.168.122.2
Úkolem je přesměrovat UDP port z internetu do hostitele. Řekl bych triviální úkol, ale něco mi uniká.
Na guestu poslouchám pomocí: tshark udp port 94
Paket z hosta vidím: echo a | netcat -u -p 94 192.168.122.2 94
Paket z interntu: echo a | netcat -u -p 94 IP_HOSTA 94 vidím na hostu, ale už ne na guestu
V nftables hosta mám pravidlo:
table ip my_nat {
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
udp dport 94 log prefix "DNAT" flags all
udp dport 94 dnat to 192.168.122.2:94
}
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
}
}
v journalctl -k | grep DNAT vidím:
... DNATIN=venet0 OUT= MACSRC=xxx MACDST=x MACPROTO=0800 SRC=TEST DST=IP_HOSTA LEN=30 TOS=0x00 PREC=0x00 TTL=56 ID=41461 DF PROTO=UDP SPT=94 DPT=94 LEN=10
Ale guest nic nevidí.
Co dalšího vyzkoušet?
Díky Ighor