Iptables dostęp do zasobów wew przez "świat"

Hej,

Rozumiem, że z własnej sieci chcesz dostać się przez publiczne IP do tej samej sieci? Jeśli tak, to musisz ustawić regułę zezwalającą na taką pętlę. Domyślnie Linux i wiele routerów takie zapętlenie odrzuca.

zgadza się. 

Rozumiem też, że stosujesz NAT? Spróbuj tak.

iptables -t nat -A POSTROUTING -s x.x.x.x/xx -d y.y.y.y -j SNAT --to z.z.z.z

Gdzie x.x.x.x/xx to podsieć, której dotyczy reguła, y.y.y.y to IP zewnętrzne, z.z.z.z to IP hosta, którego chcesz się dostać.

Dziękuję, zaraz zweryfikuję.

Czy aby mieć dostęp z zew. to chyba muszą dodać PREROUTING dodatkowo ?

Jakbyś odpowiadał na pytania, to wiedziałbym co Ci poradzić :x

Tak, NAT

Jeśli łączysz się z własnej sieci przez publiczne IP, to router z NAT musi przetworzyć pakiet w pętli. Ty masz już zrobione przekierowanie (PREROUTING), tyle że pakiet wysłany z sieci 192.168.x.x, który ma trafić do komputera w sieci 192.168.x.x musi być przetworzony przez NAT. Domyślnie każdy router odrzuci taki pakiet, chyba że potrafi odebrać pakiet w pętli. Jak wiesz jak działa NAT, to będziesz wiedział o czym mówię.