У меня есть сеть за NAT с несколькими машинами.
Машины являются:
- роутер - NAT, dnsmasq, forwarding - напрямую подключен к инету
- сервер - который запускает ssh, www и некоторые другие вещи
- клиенты - которые делают вещи на сервере
У меня также есть mydomain.com.
server.mydomain.com указывает на IP моего соединения (одиночный IP), который является маршрутизатором, который перенаправляет порты на сервер.
На сервере работает httpd, который обслуживает разные сайты на основе vhosts.
Итак, у меня есть site1.server.mydomain.com, site2 ..
Проблема в том, что весь трафик проходит через маршрутизатор, и когда я проверяю логи, я всегда вижу IP-адрес маршрутизатора для всего (поэтому трудно увидеть, кто запускает скрипт с while (1)).
Я хотел бы просто ServerAlias site1.server.local, но у большинства сайтов есть корневой URL-адрес, сохраненный где-то поверх того, на котором построены другие URL-адреса, поэтому я не могу этого сделать.
Решением для меня было бы сказать dnsmasq как-то ответить * .mydomain.com с IP-адресом сервера.
Возможно ли это как-то?
Я не уверен, что понимаю вашу проблему, но мне кажется, что основной причиной ваших проблем является NAT входящие соединения на вашем маршрутизаторе. Более конкретно, поскольку вы сказали, что все входящие подключения отображаются в журналах с IP-адресом маршрутизатора, похоже, вы маскируете все входящие подключения.
То, что вы должны сделать, это входящее соединение DNAT и исходящие соединения SNAT на маршрутизаторе, которые сохранят исходный IP-адрес каждого соединения.
источник