możesz również kopiować pakiety z poru na port za pomocą nftables.
jeden z przykładów, tylko że u mnie na wirtualkach porty są eth2, eth3 zamiast lan2, lan3 itd:
nft 'add table netdev filter'
nft 'add chain netdev filter ingress { type filter hook ingress device eth3 priority 0 ; }'
nft 'add rule netdev filter ingress dup to eth2'
komunikacja między portem eth3 a jakimś hostem w wewnętrznej sieci, jest kopiowana na port eth2 do którego jest podłączony mój system gospodarza.
$ sudo tcpdump -i vboxnet5 port 5201
14:49:34.177284 IP 172.16.1.2.39826 > 172.16.1.1.5201: Flags [.], seq 251009389:251010837, ack 1, win 2008, options [nop,nop,TS val 2632048138 ecr 666081630], length 1448
14:49:34.177295 IP 172.16.1.2.39826 > 172.16.1.1.5201: Flags [.], seq 251010837:251012285, ack 1, win 2008, options [nop,nop,TS val 2632048138 ecr 666081630], length 1448
14:49:34.177308 IP 172.16.1.2.39826 > 172.16.1.1.5201: Flags [.], seq 251012285:251013733, ack 1, win 2008, options [nop,nop,TS val 2632048138 ecr 666081630], length 1448
^C
$ sudo tcpdump -i vboxnet5 icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vboxnet5, link-type EN10MB (Ethernet), capture size 262144 bytes
14:52:08.407251 IP 172.16.1.2 > 172.16.1.1: ICMP echo request, id 4271, seq 0, length 64
14:52:09.407609 IP 172.16.1.2 > 172.16.1.1: ICMP echo request, id 4271, seq 1, length 64
14:52:10.407968 IP 172.16.1.2 > 172.16.1.1: ICMP echo request, id 4271, seq 2, length 64
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
$ sudo tcpdump -i vboxnet5 arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on vboxnet5, link-type EN10MB (Ethernet), capture size 262144 bytes
14:54:54.835752 ARP, Request who-has 172.16.1.1 tell 172.16.1.164, length 46
14:54:54.835773 ARP, Request who-has 172.16.1.1 tell 172.16.1.164, length 46
14:54:56.247861 ARP, Reply 172.16.1.164 is-at 08:00:27:f7:e0:d4 (oui Unknown), length 46
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
$ ip a | grep vboxnet5
13: vboxnet5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
inet 192.168.15.2/24 brd 192.168.15.255 scope global vboxnet5
Mając adres z sieci 192.168.15.0/24 słucham sobie transmisji w sieci 172.16.1.0/24 (po kolei: iperf3, ping, żądanie adresu po DHCP )
Xiaomi AX3000T @ Netgear R6220
* DVBT2 - T230C *