我有一个networking在NAT几台机器后面。
这些机器是:
我也有mydomain.com。
server.mydomain.com指向我的连接的IP(单个IP),这是路由器,将端口转发到服务器。
服务器,有一个httpd运行,它基于虚拟主机服务于不同的站点。
所以我有site1.server.mydomain.com,site2 ..
问题是,所有的stream量都通过路由器,当我检查日志时,我总是看到路由器的IP地址(所以很难看到谁用while(1)来运行脚本)。
我只是ServerAlias site1.server.local,但大多数网站有一个根URL保存在其他url的顶部build立,所以我不能这样做。
对我来说,解决办法是告诉dnsmasq以某种方式回答* .mydomain.com与服务器的IP。
这是可能的吗?
我在我的开发服务器上做了完全相同的事情,这样我就可以在本地拥有一个rsynced镜像,并在具有相同configuration的异地服务器上拥有rsynced镜像。
假设你的networking服务器的内部接口是192.168.0.3,那么你需要在你的dnsmasq.conf里面(需要重新启动它)
address=/.server.mydomain.com/192.168.0.3
这将为* .server.mydomain.com创build一个通配符条目,并且只要您的客户端正在使用DNSMasq作为他们的DNS(并且您的服务器在内部接口中侦听),就会被设置。
我不确定我是否理解你的问题,但在我看来,你的麻烦的根本原因是NAT在你的路由器上的传入连接。 更具体地说,因为你说所有的传入连接都出现在具有路由器IP地址的日志中,所以你似乎正在伪装所有传入的连接。
你应该做的是在路由器上的DNAT传入连接和SNAT传出连接,它将保留每个连接的源IP。