Usiłuję uzyskać dostęp do hosta w mojej sieci lokalnej (w rzeczywistości mojej własnej maszynie) za pośrednictwem zewnętrznego adresu IP, do którego mam NAT NAT routera dsl, więc konfiguracja jest następująca:
/----------------------------/
/-------------/ / Router / /----------/
/ Host /-------/ 192.168.1.2 | 79.44.63.132 /----/ Internet /
/ 192.168.1.1 / / internal ip | external ip / /----------/
/-------------/ /----------------------------/
Na moim routerze włączyłem przekierowanie portów dla portu 1234, dzięki czemu ruch do 79.44.63.132:1234 jest mapowany na 192.168.1.1:1234. Mogę uzyskać dostęp do 79.44.63.132:1234 z zewnątrz zgodnie z oczekiwaniami, ale kiedy próbuję uzyskać do niego dostęp z sieci, coś idzie nie tak. Mówiąc dokładniej, kiedy ja
telnet 79.44.63.132 1234
od 192.168.1.1 dostaję połączenie z moją maszyną, ale nie odpowiada. Kontrola ruchu ujawnia, że router w rzeczywistości nie upuszcza żadnych pakietów, to NAT, jakby ruch pochodził z zewnątrz, tj. Przekierowanie fortu i translacja adresów sieciowych powoduje, że pakiety są przepisywane jak
/-------------------------/ /--------------------------/
/ payload: 10001010110101 / / payload: 10001010110101 /
/ from: 192.168.1.1:44713 / |--> / from: 79.44.63.132:63944 /
/ to: 79.44.63.132:1234 / / to: 192.168.1.1:1234 /
/-------------------------/ /--------------------------/
i
/--------------------------/ /-------------------------/
/ payload: 00110110101101 / / payload: 00110110101101 /
/ from: 192.168.1.1:1234 / |--> / from: 79.44.63.132:1234 /
/ to: 79.44.63.132:63944 / / to: 192.168.1.1:44713 /
/--------------------------/ /-------------------------/
Wygląda na to, że powinien działać, ale nie działa. Co mogło tu pójść nie tak?
iptables -L
wynik?