iptables - przekierowanie portu

Masz problemy z siecią bądź internetem? Zapytaj tu
Awatar użytkownika
Gordon1x
Posty: 78
Rejestracja: 30 sierpnia 2007, 17:23
Lokalizacja: Polska

iptables - przekierowanie portu

Post autor: Gordon1x »

Witam
W jaki sposób przekierować pakiet tcp wychodzący z portu 80 na port 7000 oraz numer ip 10.0.8.1?

Kod: Zaznacz cały

iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 10.0.8.1:7000
Po wydaniu w/w komendy komputer łączy się z numerem 10.0.8.1:7000, ale squid zwraca błąd, że jest błędne zapytanie.
W jaki sposób rozwiązać ten problem?
fnmirk
Senior Member
Posty: 8295
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

Przejrzyj forum niedawno o tym było.
Awatar użytkownika
Gordon1x
Posty: 78
Rejestracja: 30 sierpnia 2007, 17:23
Lokalizacja: Polska

Post autor: Gordon1x »

Szukałem na forum i nie znalazłem odpowiedzi.
Za pomocą polecenia próbuje przekierować cały ruch z portu 80 na serwer proxy.

Kod: Zaznacz cały

iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-destination 10.0.8.1:7000
Niestety to rozwiązanie nie działa, gdyż cały czas serwer proxy zwraca błąd.

Obrazek

Kod: Zaznacz cały

cat /proc/sys/net/ipv4/ip_forward
Polecenie w/w zwraca wartość 1.

Próbowałem rozwiązać problem w inny sposób, ale również i to rozwiązanie nie zadziałało.

Kod: Zaznacz cały

iptables -t nat -I PREROUTING -p tcp --dport 80 -j DNAT --to-destination 10.0.8.1:7000
Proszę o pomoc w rozwiązaniu problemu.
arturwlodarek
Posty: 9
Rejestracja: 04 grudnia 2009, 21:38

Post autor: arturwlodarek »

W pliku firewall(ten w którym masz reguły iptables) muszą się znaleść następujące wpisy:

Kod: Zaznacz cały

#wlaczenie w kernelu forwordowania
echo 1 > /proc/sys/net/ipv4/ip_forward

#polaczenie nawiazane
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

#udostepnjianie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.4.0/24 -j ACCEPT
(sieć której udostępniam neta ma adres 192.168.4.0)

#przekierowanie portu na squid'a
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 10.0.8.1:7000
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 7000
U mnie przy tych wpisach śmiga aż miło, wiec u Ciebie też musi :)
Awatar użytkownika
Gordon1x
Posty: 78
Rejestracja: 30 sierpnia 2007, 17:23
Lokalizacja: Polska

Post autor: Gordon1x »

arturwlodarek pisze:W pliku firewall(ten w którym masz reguły iptables) muszą się znaleść następujące wpisy:

Kod: Zaznacz cały

#wlaczenie w kernelu forwordowania
echo 1 > /proc/sys/net/ipv4/ip_forward

#polaczenie nawiazane
iptables -A INPUT -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A FORWARD -j ACCEPT -m state --state ESTABLISHED,RELATED
iptables -A OUTPUT -j ACCEPT -m state --state ESTABLISHED,RELATED

#udostepnjianie internetu w sieci lokalnej
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -j MASQUERADE
iptables -A FORWARD -s 192.168.4.0/24 -j ACCEPT
(sieć której udostępniam neta ma adres 192.168.4.0)

#przekierowanie portu na squid'a
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to-destination 10.0.8.1:7000
iptables -t nat -A PREROUTING -i eth2 -p tcp --dport 80 -j REDIRECT --to-port 7000
U mnie przy tych wpisach śmiga aż miło, wiec u Ciebie też musi :)
Bardzo dziękuję za pomoc, ale niestety coś u mnie nie działa to rozwiązanie.


Sprawdziłem wysyłane nagłówki za pomocą TCPwatch.
  1. Proxy ustawione w przeglądarce - witryny są ładowane

    Obrazek
  2. Przekierowanie na proxy za pomocą iptables - serwer proxy zwraca błąd

    Obrazek
Jak widać na w/w zrzutach ekranu przy przekierowaniu za pomocą iptables różni się nagłówek GET, który jak przypuszczam może powodować ten problem.
Może macie jakiś pomysł na rozwiązanie tego problemu.
ODPOWIEDZ