是否有网络地址转换模拟器可用于测试P2P软件?
目前我正在开发一款针对设备的P2P软件,并面临如何在不同类型的NAT中测试我的软件的问题,例如: - 相同NAT(相同私有网络)下的客户端,不同NAT(不同私有网络)下的客户端,在不同全球网络,不同NAT级别下的客户端。
-- 我需要物理设置测试环境,例如:节点位于NAT后面吗?
OR
-- 是否有网络地址转换模拟器可用于测试P2P软件?
目前我正在开发一款针对设备的P2P软件,并面临如何在不同类型的NAT中测试我的软件的问题,例如: - 相同NAT(相同私有网络)下的客户端,不同NAT(不同私有网络)下的客户端,在不同全球网络,不同NAT级别下的客户端。
-- 我需要物理设置测试环境,例如:节点位于NAT后面吗?
OR
-- 是否有网络地址转换模拟器可用于测试P2P软件?
iptables
命令允许您设置netfilter规则以实现各种NAT行为(如上述维基百科文章所述),例如使用iptables
进行全锥形NAT。
请参阅此操作指南,了解有关设置netfilter / IP-masquerading(NAT所需)的一般信息:
http://www.ibiblio.org/pub/linux/docs/howto/other-formats/html_single/IP-Masquerade-HOWTO.html
当然,您可以将P2P软件绑定到各种本地接口(在127.0.0.0/24范围内或使用IPv6子网),并在单台计算机上配置路由表和netfilter规则,以实现此目的而无需虚拟化。不过我不确定哪种方法对您来说更容易,如果您有机器资源,虚拟化方法可能更容易跟踪。