Machine A has ip address 192.168.56.101
Machine B has ip address 192.168.56.102

You can call your tunnel whatever you like and i will  call for example tl0.

Machine A

ip tunnel add tl0 mode ipip remote 192.168.56.102 local 192.168.56.101
ip link set tl0 up
ip addr add 10.10.10.1/24 dev tl0

Machine B

ip tunnel add tl0 mode ipip remote 192.168.56.101 local 192.168.56.102
ip link set tl0 up
ip addr add 10.10.10.2/24 dev tl0

On machine A

[email protected]:~# ping 10.10.10.2
PING 10.10.10.2 (10.10.10.2) 56(84) bytes of data.
64 bytes from 10.10.10.2: icmp_req=1 ttl=62 time=0.403 ms
64 bytes from 10.10.10.2: icmp_req=2 ttl=62 time=0.397 ms
^C
— 10.10.10.2 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.397/0.400/0.403/0.003 ms

[email protected]:~# ping 10.10.10.1
PING 10.10.10.1 (10.10.10.1) 56(84) bytes of data.
64 bytes from 10.10.10.1: icmp_req=1 ttl=62 time=0.403 ms
64 bytes from 10.10.10.1: icmp_req=2 ttl=62 time=0.397 ms
^C
— 10.10.10.1 ping statistics —
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.397/0.400/0.403/0.003 ms

and its works, but insecure 🙁