Jak włączyć zaporę ufw, aby umożliwić odpowiedź icmp?


21

Mam serię serwerów Ubuntu 10.04 i każdy z nich ma włączoną zaporę ufw. Zezwoliłem na port 22 (dla SSH) i 80 (jeśli jest to serwer WWW). Moje pytanie jest takie, że próbuję włączyć odpowiedź echa icmp (odpowiedź ping).

ICMP działa inaczej niż inne protokoły - wiem, że jest poniżej poziomu IP w sensie technicznym. Możesz po prostu pisać sudo ufw allow 22, ale nie możesz pisaćsudo ufw allow icmp

Odpowiedzi:


17

ufw nie zezwala na określanie reguł icmp za pomocą polecenia interfejsu wiersza poleceń. Pozwala dostosować zestaw reguł za pomocą plików reguł, które są plikami w stylu iptables-restore.

ufw domyślnie dopuszcza pewien ruch icmp, w tym odpowiedź echa icmp, i jest to już domyślnie skonfigurowane w /etc/ufw/before.rules:

-A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

Jeśli twój host nie odpowiada na ping, sprawdź w tym pliku, czy powyższa linia jest obecna, a jeśli to nie zadziała, spójrz na host pingujący i wszelkie zapory ogniowe między nimi.


3
nie działa dla mnie: serwer 11.04. jak mogę rozwiązać ten problem?
pylover

Czy potrzebuje resetowania czy coś takiego?
Amir Karimi,

1
@AmirKarimi sudo ufw reload(i umożliwić żądań ping Miałem dodać -A ufw-before-output -p icmp --icmp-type echo-request -j ACCEPTw /etc/ufw/before.rules)
baptx

2

W przypadku Ubuntu 18.04 powinieneś mieć następujące reguły w swoim pliku /etc/ufw/before.rules :

# ok icmp codes for INPUT
-A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-input -p icmp --icmp-type source-quench           -j ACCEPT
-A ufw-before-input -p icmp --icmp-type time-exceeded           -j ACCEPT
-A ufw-before-input -p icmp --icmp-type parameter-problem       -j ACCEPT
-A ufw-before-input -p icmp --icmp-type echo-request            -j ACCEPT

# ok icmp code for FORWARD
-A ufw-before-forward -p icmp --icmp-type destination-unreachable -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type source-quench           -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type time-exceeded           -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type parameter-problem       -j ACCEPT
-A ufw-before-forward -p icmp --icmp-type echo-request            -j ACCEPT

Były w moim domyślnym pliku.

Oczywiście, upewnij się, że to jest naprawdę problem. Mój problem polegał na tym, że mój komputer blokował wysyłanie pingów do sieci, w której istniał serwer, który próbowałem pingować. Skończyło się na tym, że użyłem strony internetowej, która była już dostępna w Internecie, aby wykonać ping dla mnie (np. Https://ping.eu/ping/ ).



0

Dodaj następujące pliki do pliku /etc/ufw/before.rules:

# allow outbound icmp
-A ufw-before-output -p icmp -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
-A ufw-before-output -p icmp -m state --state ESTABLISHED,RELATED -j ACCEPT

Po edycji pliku uruchom polecenie:

sudo ufw reload
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.