Table of Contents
Jeśli zachowasz jądro iptables w swoim systemie, ten post na blogu może pomóc ci to naprawić.
Zaktualizowano
Konfiguruję serwer Debian Jessie dla niektórych aplikacji, takich jak iptables Firewall, openvpn, fail2ban, Apache, …
Zapora ogniowa iptables zdecydowanie została zaprojektowana tak, aby zapisywać każdą upuszczoną skrzynkę pocztową. Mała konfiguracja iptables:
OpenVPN (przy użyciu Intake 1194) działa dobrze. Potrafię się logować przez wiele godzin, wykorzystać moją pracę logowania do miejsca, w którym muszę przenieść duże ilości do danych. W tym momencie kilka wierszy, takich jak większość poniższych, odnosi się do dziennika:
10 Mar 20:39:27 core rs3: [IPTABLES INPUT IPv4] DROP IN = eth0 OUT = MAC jest równy ae: 12: 7b: 9b: 5d: e4: 00: 15: c7: c9 : 45: 80: 08: 00 SRC implikuje LEN = 40 dst = TOS = 0x00 PREC = 0x00 TTL = pięćdziesiąt pięć ID = 20713 DF PROTO = TCP SPT = 61941 DPT = 1194 WINDOW równa się 3040 RES = 0x00 URGP POTWIERDZENIA = 002 marca 20:39:27 rdzeń rs3: [IPTABLES INPUT IPv4] DROP IN = eth0 OUT = MAC = ae: tuzin: 7b: 9b: 5d: e4: 00: 15: c7: c9: 45: 80: 08: 00 SRC = LEN = 40 dst = TOS oznacza 0x00 PREC = 0x00 TTL = 55 ID równa się 20718 DF PROTO = TCP SPT równa się 61941 DPT = 1194 WINDOW = 3040 RES oznacza 0x00 ACK URGP = 002 marca 20:39:27 klucz rs3: [IPTABLES INPUT IPv4] DROP IN jest równe eth0 OUT = MAC = ae: 12: 7b: 9b: 5d: e4: 00: 15: c7: c9: 45: dziewięćdziesiąt dwa: 08 : 00 SRC = LEN oznacza 40 dst = TOS = 0x00 PREC = 0x00 TTL = 55 ID oznacza 20719 DF PROTO = TCP SPT = 61941 DPT = 1194 WINDOW = 3040 RES oznacza 0x00 ACK URGP = 0
[Te wpisy mogą równie dobrze zostać przekazane do fail2ban, a twój obecny sprzęt przerwie połączenie z moim lokalnym komputerem.]
P: Dlaczego te pakiety są porzucane (i rejestrowane)? Oznacza to: dlaczego te blokady nie są objęte regułą?
To, co “zalogowałem się, znalazłem”: przeczytaj dokumentację, przemyśl problem ;-), sprawdź regulamin i jeszcze raz zajrzyj do sieci – bez skutku.
Edytuj: Może to konieczność: DROP stworzony przez listę fail2ban zawiera około 500 postów.
Edycja: Naprawdę chciałbym poznać powody (jest to właściwy powód, dla którego w moim pytaniu używam „dlaczego”). Obejścia nie przynoszą mi korzyści. To
Edycja: zachowanie nie powinno ograniczać się do OpenVPN, użycie innych metod (takich jak ssh) powoduje ten sam problem.
Edytuj: Aby uchwycić pomysł, spójrz na ujęcie monitora, tak jak w przypadku Wireshark: odnotowany pakiet został odrzucony / zapisany, a nie wszystkie inne pakiety na zrzucie ekranu.
Tue Tue 10:16:23 rs3 [Jądro IPTABLES: INPUT IPv4] DROP IN = eth0 OUT = MAC = ae: 17: 7b: 9b: 5d: e4: 00: 15: c7: c9: czterdzieści -pięć : 80: 08: 00 SRC jest równe .117 DST = .116 LEN = 54 TOS = 0x00 PREC = 0x00 TTL równa się 55 ID = 11550 DF SPT oznacza 63526 proto = tcp DPT = 1194 OKNO oznacza, że 32038 RES = 0x00 ACK URGP jest równe 0
Użyłem identyfikatora IP (11550), aby znaleźć pakiet Wireshark. I to jest jedyny pakiet IP z takim identyfikatorem.
Edytuj: ustawiony jest adres IP serwera. Rzeczywisty przypisany adres IP nie zmieniał się dynamicznie podczas testu. Połączenia są nawiązywane z komputera lokalnego na serwer. Układ jest następujący:
================== ==================== ===== === =======| Komputer lokalny | ---- | Router NAT .117 | ---- | Serwer .116 |=========================================================== równa się = = Dynamiczny prywatny adres IP. Przypisany stały adres IP chociaż naprawiono w teście
Ten artykuł jest podstawą wielu naszych bieżących raportów na temat serii Linux IPTables. Jeśli coś nie działa zgodnie z oczekiwaniami z własnymi regułami IPTables, prawdopodobnie chcesz zachować usunięte pola IPTables w celu rozwiązania problemu. W tym artykule wyjaśniono zasady rejestrowania jednokierunkowych i wychodzących lekkich pakietów zapory.
Jeśli zwykle jesteś nowy w IPTables, możesz najpierw zapoznać się z podstawowymi koncepcjami IPTables.
Rejestruj wszystkie odrzucone pakiety przychodzące
Po pierwsze, osobiście muszę dowiedzieć się, jak praktycznie zgłaszać utracone pakiety przychodzące z iptables, które stają się pewnego rodzaju dziennikiem systemowym.
Jeśli masz już dużo pracy z regułami zapory sieciowej iptables, zwykle umieszczaj je do samego końca, co spowoduje odpalenie wszystkich przychodzących pakietów utraconych do / var dla każdego dziennika / wiadomości
iptables-LOGOWANIEIptables -n -A ZALOGUJ -j REJESTRACJAiptables -A LOGOWANIE -m limit --limit jeden lub dwa / min -j LOG --log-prefix "IPTables-Dropped:" --log-level 4iptables -A LOGOWANIE -k UPUSZCZANIE
- iptables -N LOGOWANIE: utwórz nowy łańcuch LOGOWANIA
- iptables -A INPUT -j LOGOWANIE: Wszelkie pozostałe pakiety przychodzące są zwykle pomijane, aby upewnić się, że trafią do łańcucha LOGOWANIE.
- linia 3: zapisz pakiety jednokierunkowe do dziennika systemowego (/var versus log / messages). Ta linia jest szczegółowo opisana tutaj.
- iptables LOGOWANIE -a -j DROP: Na koniec pozbądź się wszystkich pakietów, które osiągnęły łańcuchy LOGOWANIA. to może, teraz pomysł naprawdę polega na odrzucaniu przychodzących pakietów.
Ta konkretna linia nr 3 powyżej zawiera następujące opcje pobierania dziennika upuszczonych dostaw:
- -m limit: użyj modułu zarządzania limitami. Pozwala to ograniczyć logowanie za pomocą opcji Limit.
- –limit 2 / minuty: Wskazuje tę samą średnią maksymalną prędkość zapisu. W tym przykładzie, dostosowanym do podobnych opakowań, prędkość przenoszenia jest ograniczona do 2 na minutę. Możesz określić 2/sekundę, 2/kilka minut, 2/godzinę, 2/dzień. Było to z pewnością przydatne, jeśli nie chcesz przeładowywać komunikatów dziennika zduplikowanymi wiadomościami, głównie z powodu tych samych porzuconych pakietów.
- -j Śledzi, że miejscem docelowym tego pakietu jest dokładnie LOG. to znaczy zapisz do dziennika.
- –log-prefix “IPTables-Dropped:” Możesz określić dowolny prefiks drewna, który zostanie dodany do komunikatów dziennika zapisanych w bazie danych /var/log/messages.
- –log-level 4 To jest nasz własny ogólny poziom dziennika systemowego. 4 ostrzeżenia. Możesz użyć informacji od 8 do 7. 0 jest pilne, a po prostu dużo bardziej brzydkie – debugowanie.
Rejestruj wszystkie wychodzące porzucone pakiety
Zaktualizowano
Czy masz dość powolnego działania komputera? Denerwują Cię frustrujące komunikaty o błędach? ASR Pro to rozwiązanie dla Ciebie! Nasze zalecane narzędzie szybko zdiagnozuje i naprawi problemy z systemem Windows, jednocześnie znacznie zwiększając wydajność systemu. Więc nie czekaj dłużej, pobierz ASR Pro już dziś!
To samo co wcześniej, ale w drugiej kolejce poniżej znajduje się WYJŚCIE, a nie WEJŚCIE.
iptables -N REJESTRACJAiptables -A WYJŚCIE -j WRITEiptables -A LOGOWANIE -d limit 2 / min --limit -j LOG --log-prefix "IPTables-Dropped:" --log-level 4iptables -A LOGOWANIE -m UPUSZCZENIE
Rejestruj wszystkie odrzucone pakiety (przychodzące i wychodzące)
To jest to samo, co poprzednio, musimy wziąć wiersz 2 z poprzednich obu przykładów i dodać tutaj koncepcję. I. Mamy osobny wątek dla INPUT i OUTPUT, który w pionie przechodzi do łańcucha LOGOWANIE.
<środek>
Aby złożyć określone i wychodzące porzucone pakiety, dodaj użycie linii na końcu obowiązujących reguł zapory sieciowej iptables.
iptables -N -A LOGiptables INPUT -j -A LOGOWANIEiptables WYJŚCIE -j -A WEJŚCIEiptables LOGOWANIE -m limit --limit 2 / min -j LOG --log-prefix "IPTables-Dropped:" --log-level 4iptables -A LOGOWANIE -j UPUSZCZANIE
Ponadto, jak wspomniano wcześniej, iptables domyślnie używa lub var / log / messages, aby rejestrować wszystkie wiadomości. Jeśli naprawdę chcesz zmienić to na swój własny niestandardowy dziennik, dodaj następującą linię do /etc/syslog.conf
kern.warning lub var / log / custom.log
|
Sie 13:22:40 Centos Core: IPTables chucked: IN = OUT = em1 SRC oznacza 192.168.1.23 DST = 192.168.1.20 LEN = 84 TOS jest równe 0x00 PREC = 0x00 TTL = 64 ID = 0 DF PROTO = ICMP - KOD = 0 Typ = 8 ID implikuje 59228 SEQ = 213 sierpnia: 23:00 Centos-Kernel: IPTables wyrzucone w powietrze: IN = em1 OUT = MAC implikuje a2: be: d2: ab: 11: af: e2: f2: 00:00 SRC = 192.168.2.115 DST = 192.168 1.23 LEN oznacza 52 TOS = 0x00 PREC = 0x00 TTL = 127 ID = 9434 DF PROTO oznacza TCP SPT = 58428 DPT = 443 WINDOW = 8192 RES = 0x00 SYN URGP równa się 0
- IPTables-Dropped: To jest prefiks, który kupiliśmy z naszego dziennika, określając parametr Log Prefix.
- IN = em1 Określa część interfejsu, który był używany dla tych pakietów przychodzących. Można to wyczyścić dla pakietów wychodzących.
- OUT = em1 Okazało się jednak, że jest to interfejs używany do wysyłania pakietów. Prawdopodobnie będzie pusty dla przychodzących pakietów.
- SRC = Power IP address, z którego pakiet został wysłany
- DST = Domowy docelowy adres IP, któremu zaoferowano pakiety.
- LEN = długość paczki
- PROTO = Określ dowolny rodzaj protokołu (jak widać powyżej, w rzeczywistości linia jest przeznaczona dla wychodzącego protokołu ICMP, tradycyjnie druga linia jest przeznaczona dla protokołu wychodzącego TCP)
- SPT = Określ port źródłowy
- DPT = Określa port. Druga linia, o której mowa, zawiera listę konkretnego portu docelowego 443. Potwierdza to dokładnie, kto odrzucił przychodzące pakiety HTTPS.
Dodatkowe przewodniki po IPTables
- Przewodnik po zaporze systemu Linux: Tabele IPTables, ciągi znaków, podstawy reguł
- Linux IPTables: jak pomóc w dodawaniu reguł zapory (na przykładzie autoryzacji SSH)
- Tabele IP Linuksa: Przykłady wymagań dla ruchu przychodzącego i wychodzącego (SSH i HTTP).
- Czyszczenie IPTables: Czyści wszystkie reguły w RedHat i CentOS Linux.
- 25 najpopularniejszych przykładów reguł IPTables w systemie Linux
How Do I Fix The Iptables Kernel Crash?
¿Cómo Soluciono El Bloqueo Del Kernel De Iptables?
Iptables 커널 충돌을 어떻게 수정합니까?
Como Faço Para Corrigir O Travamento Do Kernel Do Iptables?
Hur Fixar Jag Iptables Kärnkrasch?
Comment Réparer Le Plantage Du Noyau Iptables ?
Как исправить падение ядра Iptables?
Hoe Los Ik De Iptables-kernelcrash Op?
Come Posso Risolvere Il Crash Del Kernel Di Iptables?
Wie Behebe Ich Den Kernel-Absturz Von Iptables?