如何解决内网IP端口映射,从而取不到IP地址的情况
牛知道 2005-03-09 04:50:45 内网有一台MAIL服务器(192.168.0.111),这台服务器不直接对外网,而是通过另外一个电脑(192.168.0.1)连接公网,并且接收数据,如果有登陆25端口的数据就直接转发到MAIL服务器上,但是有这样一个问题,因为是从作为网关的那台服务器发送过来的,所以我的MAIL服务器在 判断连接IP的时候总是那台网关服务器的IP,请问如何解决这个问题?
我现在在192.168.0.111(mail服务器上)使用了如下的编程
if((new_fd = accept(sockfd,(struct sockaddr *) &their_addr,&sin_size))==-1)
{
perror("accept");
close(sockfd);
exit(0);
}
is_connected[new_fd] =1;
printf("\n\n-------------------------------------------\n");
printf("New Connect From %s\n",inet_ntoa(their_addr.sin_addr));
printf("-------------------------------------------\n");
则现在这里现实的IP一直是 192.168.0.1,而我原本希望的是,从外网的什么IP连接进来,就现实什么IP