Justin Luth:

ping source is firewall ? set sourceIP to vpn IP address

       The problem can be seen easily in Puzzle 2, VPN Demo.
       From firewall2, ping firewall0. The ping request tunnels
       to firewall0 with a source address of 0.0.0.0, and so
       the reply returns untunneled and drops at the default gateway.

       This patch probably needs to be tweaked a bit in case it
       covers too many situations, but in general something like
       this is needed.
This commit is contained in:
Tim Young 2019-02-22 13:15:43 -06:00
parent 110a751d25
commit 7c292f5b7d

View File

@ -701,6 +701,15 @@ namespace EduNetworkBuilder
}
}
}
if (nf != null && nf.myIP != null && nf.myIP.GetIPString != NB.ZeroIPString)
{
//If the source IP is empty then it originated from here. We set the source to be us
if (tPacket.sourceIP == null || tPacket.sourceIP.GetIPString == NB.ZeroIPString)
{
tPacket.sourceIP = nf.myIP;
WhereFrom.StoreOutgoingPacketInfo(tPacket); //the packet is not yet tunneled
}
}
if (nf.isLocal(tPacket.OutboundIP, false))
{
//We need to tell the original packet that it is inside another packet