Thank you, after more digging and tests, I was finally able to solve it by running theses commands!
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -o bond0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i bond0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
which is weird because my FORWARD chain was already looking like this:
Chain FORWARD (policy DROP)
target prot opt source destination
DOCKER-USER all -- anywhere anywhere
DOCKER-ISOLATION-STAGE-1 all -- anywhere anywhere
ACCEPT all -- anywhere anywhere ctstate RELATED,ESTABLISHED
DOCKER all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
root@nexus2-bullseye-latest5:~# ping 192.168.1.230
PING 192.168.1.230 (192.168.1.230) 56(84) bytes of data.
64 bytes from 192.168.1.230: icmp_seq=1 ttl=63 time=13.6 ms
64 bytes from 192.168.1.230: icmp_seq=2 ttl=63 time=24.7 ms
64 bytes from 192.168.1.230: icmp_seq=3 ttl=63 time=9.77 ms
But now my last step is for internet, DNS isn't working properly, do I need to add a specific conf for that?
root@nexus2-bullseye-latest5:~# dig
www.google.com
; <<>> DiG 9.16.22-Debian <<>>
www.google.com
;; global options: +cmd
;; connection timed out; no servers could be reached