With the caveat that I am not an expert in 7D2D peer-to-peer gaming...
Your logs appear to show that it is trying to use Steamworks to connect. This is, I think, a 3rd-party broker network scheme where you connect to Steam, your friend connects to Steam, and then Steam brokers the handshake between your two games. This ought to avoid the NAT problems that a more direct connection would encounter, however it's still probably useful to open the ports in your router.
In any case, this is the part where it tries to make a more direct connection, I think (using LiteNet):
Code:
2020-01-04T21:04:55 63.786 INF NET: LiteNetLib trying to connect to: 77.xx.xx.126:26900
2020-01-04T21:04:55 63.795 INF Exited thread ServerBrowserListUpdater
2020-01-04T21:05:01 69.787 INF NET: LiteNetLib: Connection failed: ConnectionFailed
If I had to guess, that failure is due to NAT restrictions. Having your friend open the ports in his router might fix that. After that fails it moves to Steam networking and to my untrained eye your connection to your friend is working, but then a couple of minutes after you connect the server disconnects you.
Code:
2020-01-04T21:05:01 69.788 INF [steamworks.NET] NET: Connecting to SteamID 901xxxxxxxxxxx
2020-01-04T21:05:01 69.789 INF Started thread SteamNetworkingClient
2020-01-04T21:05:05 74.044 INF [steamworks.NET] NET: Connection established
2020-01-04T21:05:05 74.066 INF [steamworks.NET] NET: Password accepted
2020-01-04T21:05:05 74.075 INF Started thread NCSteam_Reader_0
2020-01-04T21:05:05 74.076 INF Started thread NCSteam_Writer_0
2020-01-04T21:05:05 74.090 INF Started thread NCSteam_Reader_1
2020-01-04T21:05:05 74.091 INF Started thread NCSteam_Writer_1
2020-01-04T21:05:05 74.127 INF NPCID.Read
2020-01-04T21:05:05 74.132 INF Connection handshake done
2020-01-04T21:05:05 74.133 INF [steamworks.NET] Auth.GetAuthTicket()
2020-01-04T21:05:05 74.134 INF [EAC] Connected to game server
2020-01-04T21:05:05 74.135 INF NPPL.Write
2020-01-04T21:05:05 74.189 INF Login: WaitingForSteam
2020-01-04T21:05:06 74.566 INF Login: Authenticated
2020-01-04T21:05:06 74.567 INF Player allowed
2020-01-04T21:05:06 74.567 INF [steamworks.NET] Joining Lobby
2020-01-04T21:05:06 74.569 INF StartGame
2020-01-04T21:05:06 74.682 INF Persistent GamePrefs saved
...
2020-01-04T21:05:06 74.698 INF StartAsClient
2020-01-04T21:05:06 74.698 INF Sending RequestToEnterGame...
2020-01-04T21:05:06 74.700 INF StartGame done
2020-01-04T21:05:06 74.850 INF [steamworks.NET] Lobby entered: 109775241080705934
2020-01-04T21:07:06 194.711 INF [steamworks.NET] NET: Connection closed
I would definitely open up the ports in your routers and try again, to see if LiteNet can connect instead of Steam. When you set up a port forward, it is telling the router "if any requests come in to ports XYZ, send them to <some LAN IP address>". In this case, that <some LAN IP address> needs to be the IP of your PC where 7D2D is running, not the IP address of your router/gateway.
If your PC is using DHCP, then its IP address may change from boot to boot; I'd recommend setting it up as a static IP if possible. Otherwise, get its current IP address (command line "ipconfig") and put that into your router forwarding rule. As long as you don't reboot (or disable/enable the network card) you should be fine.
If your friend is hosting, he would need to do the same, most likely. It's pretty rare I think for a home LAN to
not have a NAT router at the head end.