modified on 1 lip 2010 at 11:24 ••• 19 254 views

HTTP (Proxy)

Z MikroTik Wiki

Spis treści

Informacje Ogólne

Wprowadzenie

MikroTik RouterOS posiada poniższe usługi serwera proxy:

  • Normalne HTTP proxy
  • Przezroczyste proxy. Może być na raz przezroczyste i normalne
  • Lista dostępu w zależności od źródła, punktu docelowego, URL i metod zapytania
  • Lista dostępu cache (pamięci podręcznej) ( decyduje, które obiekty trafią do pamięci podręcznej, a które nie)
  • Bezpośrednia lista dostępu ( decyduje, do których zasobów powinien być bezpośredni dostęp, a do który przez inny serwer proxy)
  • Narzędzie logów

Przewodnik szybkiej konfiguracji

Aby ustawić cache stron o wielkości 1 GiB, która nasłuchuje na porcie 8000:

                 enabled: yes
             src-address: 0.0.0.0
                    port: 8000
            parent-proxy: 0.0.0.0
       parent-proxy-port: 0
             cache-drive: system
     cache-administrator: "webmaster"
          max-cache-size: 1048576KiB
           cache-on-disk: no
  max-client-connections: 600
  max-server-connections: 600
          max-fresh-time: 3d
   serialize-connections: no
       always-from-cache: no
          cache-hit-dscp: 4
[admin@MikroTik] ip proxy>

Pamiętaj, aby zabezpieczyć swoje proxy przed nieautoryzowanym dostępem, w przeciwnym wypadku może zostać użyte jako open proxy. Ponadto musisz ustawić docelowe NAT w celu wykorzystania usługi przezroczystego proxy:

[admin@MikroTik] ip firewall nat> add chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=8000
[admin@MikroTik] ip firewall nat>

Specyfikacja

Wymagane pakiety: web-proxy

Wymagana licencja: Level3

Poziom menu: /ip web-proxy

Standardy i Technologie: HTTP/1.0, HTTP/1.1/, FTP

Wykorzystanie sprzętu: używa pamięc oraz miejsce na dysku, jeżeli możliwe (patrz opis niżej)

Opis

Proxy pełni funkcję pamięci podręcznej internetu poprzez przechowywanie żadanych objektów internetowych, np. dane dostępne przez protokoły HTTP i FTP ma systemie położonym bliżej odbiorcy niż miejsca, z którego pochodzą dane. 'Bliżej' oznacza niezawodność, prędkość lub obie te rzeczy. Przeglądarki web mogą używać lokalnej pamięci podręcznej proxy w celu przyspieszenia dostępu i zmniejszenia użycia łącza zewnętrznego.

Podczas ustawiania Web proxy, upewnij się, że obsługuje ono wyłącznie Twoich klientów i nie jest niewłaściwie używane jako przekaźnik. Przeczytaj uwagi o bezpieczeństwie w sekcji Listy Dostępu!

Pamiętaj, że użyteczne jest włączenie Web proxy nawet bez cache'u, gdy chcesz użyć czegoś takiego jak firewall HTTP i FTP (np. zabraniając dostępu do plików mp3) lub aby przezroczysto przekierować zapytania na zewnętrzne proxy z dużą ilością cache'u

Ustawienia

Poziom menu: /ip proxy

Nazewnictwo

always-from-cache (yes | no; default: no) - ignoruj żądania odświeżania klienta jeżeli zawartość jest uznana za aktualną

cache-administrator (text; default: webmaster) - e-mail administratora wyświetlana na stronie o błędzie proxy

cache-drive (system | name; default: system) - określa docelowy napęd dysku używany do przechowywania obiektów. Możesz skorzystać z uzupełniania poleceń w konsoli aby zobaczyć listę dostępnych napędów

cache-hit-dscp (integer: 0..63) - automatycznie oznacza trafienie pamięci podręcznej wartością DSCP

cache-on-disk (yes | no; default: no) - określa, czy przechowywać pliki pamięci podręcznej na dysku, czy na pamięci RAM

enabled (yes | no; default: no) - określa, czy włączona jest usługa web proxy

max-cache-size (none | unlimited | integer: 0..4294967295; default: none) - określa maksymalny rozmiar pamięci podręcznej, mierzona w kilobitach

max-client-connections (integer; default: 600) - maksymalna ilość równoczesnych połączeń akceptowanych przez proxy. Kolejne połączenia będą odrzucane

max-fresh-time (time; default: 3d) - górny limit czasu, poniżej którego obiekty bez określonego czasu przedawnienia będą uznawane za aktualne

max-server-connections (integer; default: 600) - maksymalna ilość równoczesnych połączeń proxy z zewnętrznymi serwerami. Kolejne połączenia będą wstrzymane, dopóki nie zostaną zakończone już istniejące połaczenia z zewnętrznymi serwerami

parent-proxy (IP address:port; default: 0.0.0.0) - adres IP proxy wyższego poziomu (rodzica)

port (port{1,10}; default: 3128) - określa port, na którym web proxy będzie nasłuchiwać

serialize-connections (yes | no; default: no) - określa, czy tworzyć wielokrotne połączenia z serwerem dla wielokrotnych połączeń klienta, o ile to możliwe (np. serwer obsługuje trwałe połączenia HTTP). Klienci będą obsługiwani według zasady FIFO; następny klient będzie obsłużony, gdy transfer zwrotny do poprzedniego zostanie zakończony. Gdy klient jest bezczynny bez zbyt długi czas (domyślnie przez 5 sekund), następuje zaprzestanie oczekiwania i otwarcie kolejnego połączenia z serwerem

src-address (IP address; default: 0.0.0.0) - web proxy będzie używać tego adresu podczas łączenia się z proxy wyższego poziomu lub stroną web.

  • 0.0.0.0 - odpowiedni src-address będzie pobierany automatycznie z tablicy routingu (preferowane źródło poszczególnej trasy)

Uwagi

Web proxy nastłuchuje na wszystkich adresach IP, które router ma na liście adresów IP.

Przykład

Aby włączyć proxy na porcie 8080 z maksymalnym możliwym rozmiarem pamięci podręcznej:

[admin@MikroTik] ip proxy> set enabled=yes port=8080 \
\...  max-cache-size=unlimited
[admin@MikroTik] ip proxy> print
                 enabled: yes
             src-address: 0.0.0.0
                    port: 8000
            parent-proxy: 0.0.0.0
       parent-proxy-port: 0
             cache-drive: system
     cache-administrator: "webmaster"
          max-cache-size: 21000KiB
           cache-on-disk: no
  max-client-connections: 600
  max-server-connections: 600
          max-fresh-time: 3d
   serialize-connections: no
       always-from-cache: no
          cache-hit-dscp: 4
[admin@MikroTik] ip proxy>

Zauważ, jak została obliczona wartość max-cache-size z unlimited do aktualnej wartości w kilobajtach.

Monitorowanie Proxy

Nazwa polecenia: /ip proxy monitor

Nazewnictwo

cache-used (read-only: integer) - ilość przestrzeni dyskowej (lub RAMu, jeśli przechowywana jest w RAMie) używanej przez cache

free-disk-space (read-only: integer) - ilość wolnego miejsca na dysku z cache

hits (read-only: integer) - ilość zapytań klientów obsłużonych przez cache

hits-sent-to-clients (read-only: integer) - ilość trafień cache przesłanych do klienta

received-from-servers (read-only: integer) - całkowita ilość danych przesłanych z zewnętrznych serwerów

requests (read-only: integer) - całkowita ilość zapytań klienów do proxy

sent-to-clients (read-only: integer) - całkowita ilość danych wysłanych do klientów

status (read-only: text; default: stopped) - wyświetla informację o statusie serwera proxy

  • stopped - proxy jest wyłączone
  • running - proxy jest włączone
  • formatting-disk - dysk cache jest formatowany
  • checking-disk - dysk cache jest sprawdzany i cache jest niepoprawna
  • invalid-address - usługa proxy jest włączona, ale nie działa z powodu niepoprawnych adresów (powinieneś zmienić adres lub port)

total-disk-size (read-only: integer) - rozmiar dysku cache

total-ram-used (read-only: integer) - ilość pamięci używanej przez proxy (wykluczając pamięć RAM)

uptime (read-only: time) - czas, który upłynął od momentu włączenia proxy

Lista Dostępu

Lista Bezpośredniego Dostępu

Zarządzanie Pamięcią Podręczną

Lista Połączeń

Zawartość Pamięci Podręcznej

Wpisy Pamięci Podręcznej

Przeszukiwanie Pamięci Podręcznej

Narzędzia uzupełniające

Tryb przezroczysty

Metody HTTP