Mam sieć za NAT z kilkoma maszynami.
Maszyny to:
- router - NAT, dnsmasq, przekazywanie - bezpośrednio podłączony do inet
- serwer - który uruchamia ssh, www i kilka innych rzeczy
- klienci - którzy robią rzeczy na serwerze
Mam także mydomain.com.
server.mydomain.com wskazuje adres IP mojego połączenia (pojedynczy adres IP), który jest routerem, który przekazuje porty do serwera.
Serwer, działa httpd, który obsługuje różne strony oparte na vhostach.
Mam więc site1.server.mydomain.com, site2 ..
Problem polega na tym, że cały ruch przechodzi przez router, a kiedy sprawdzam logi, zawsze widzę adres IP routera dla wszystkiego (więc trudno jest zobaczyć, kto uruchamia skrypt z chwilą (1)).
Chciałbym tylko ServerAlias site1.server.local, ale większość stron ma zapisany główny adres URL, na którym zbudowane są inne adresy URL, więc nie mogę tego zrobić.
Rozwiązaniem byłoby powiedzenie dnsmasq odpowiedzi na * .mydomain.com z adresem IP serwera.
Czy to jest jakoś możliwe?
Nie jestem pewien, czy rozumiem twój problem, ale wydaje mi się, że główną przyczyną twoich problemów jest NATing połączeń przychodzących na routerze. Mówiąc dokładniej, ponieważ powiedziałeś, że wszystkie połączenia przychodzące pojawiają się w logach z adresem IP routera, wygląda na to, że maskujesz wszystkie połączenia przychodzące.
Co powinieneś zrobić, to połączenie przychodzące DNAT i połączenia wychodzące SNAT na routerze, które zachowałyby źródłowy adres IP każdego połączenia.
źródło