这个问题实质就是通过NAT(http://blog.csdn.net/chance_yin/article/details/37913963)实现内外网络的互联。上面文章描述了NAT的过程。
如上面这张图所示,网络A的路由器A可以视作一台NAT网关,实现NAT的方式就是在iptable的NAT表中添加条目,从A的NAT表中可以看到表的格式是<usrA-ip, userA-port --- routerA-ip, routerA-port>。其中userA-port用于分离不同服务,因为linux中每个服务例如apach占用一个端口,这个可用于TCP或者UDP协议中。