toddproject / todd

A distributed network assurance platform
Apache License 2.0
237 stars 30 forks source link

Fix testing over NAT #60

Open Mierdin opened 8 years ago

Mierdin commented 8 years ago

Doesn't work over NAT in some cases, due to the way that agent IP addresses are being discovered. Maybe don't mention this in your preso, since this can be overcome easily. Need to test that this works in your integration tests once fixed (use multiple docker bridges maybe?)

You may be able to solve the NAT problem by offering a discovery service on the server. You probably want to have a default interface on the server so the agents know what IP address it has, but they can then connect to a TCP or HTTP service offered by the server, and the server can simply add the source IP to that agent's metadata

(more from earlier) testlet/service discovery integration for agents, to get around the NAT limitation (might need to do stuff like docker port mappings here as well)

Mierdin commented 8 years ago

Might also be worth looking at doing a portknock test periodically between agents on known ports like 5001 for iperf. That way if you want to run iperf, you can know if this is posisble between certain groups by simply querying historical data

Mierdin commented 5 years ago

Adding to rebuild project so that's it's considered. But it should be noted that since we're getting rid of middleware like RMQ, we can detect the incoming IP address of the agent directly, so this becomes a lot easier.

Mierdin commented 5 years ago

Also, want to make sure IPv6 is supported here.