Mam domenę, która kieruje na adres publiczny. Na adresie publicznym mam serwer 192.168.1.1 z kilkoma vhostami
Na jednym vhoście mam stronę z certyfikatem SSL.
Domena i certyfikat są przeniesione na inny serwer wewnątrz sieci na adres 192.168.1.200
Jak przekierować, żeby ten adres i certyfikat był odpytywany na tym wewnętrznym adresie?
Tak to było, gdy strona żyła na starym serwerze: 192.168.1.1:
Chyba to zrobię prościej...
Przeniosę wszystkie te strony na ten nowy serwer...
I wtedy przekieruję porty www (80, 443 i 8080) na ten wewnętrzny adres IP.
Dobrze rozumiem?
To, co próbujesz zrobić, to przeniesienie usługi do DMZ-etu. Na serwerze 192.168.1.1 musisz włączyć przekazywanie pakietów (sysctl net.ipv4.ip_forward=1) i skonfigurować NAT, aby maszyna w DMZ-ecie komunikowała się ze światem:
Powyższe przekieruje cały ruch przychodzący z zewnątrz na 192.168.1.200. Jeżeli chcesz przekierować tylko ruch na określonych portach to zamiast drugiej reguły zastosuj:
Przekierowujesz UDP, zamiast TCP, więc nie oczekuj, że będzie działać.
Reguły dla łańcucha FORWARD nie są potrzebne, jeżeli masz ustawioną domyślną politykę (ACCEPT). Czy ustawiłeś /proc/sys/net/ipv4/ip_forward na 1? Na przykład poprzez:
wtedy będzie działać?
Wiesz... wolę zapytać, niż namieszać
Na adresie publicznym mam też VPN'a ale mam nadzieję, że się nic nie namiesza? - chodzi tylko, żeby www odpytywało się na ten adres 192.168.1.200 Pytam też dlatego, że tak jak powyżej mam skonfigurowane przesłanie VPN na inny adres w sieci i to działa bez tego net.ipv4.ip_forward...
Czym różnią się Twoje wpisy od mojego, oprócz tego, że ja ogarnąłem całość jednym poleceniem?
Pokaż wynik polecenie sysctl net.ipv4.ip_forward (bez "=1").
Nie trzeba, bo masz już włączone w jądrze przekazywanie pakietów. Jeżeli powyższy parametr ustawisz na 0, to reguły iptables dla FORWARD przestaną działać.