Chcę przetestować coś lokalnie. W tym celu chciałbym móc upuszczać pakiety wychodzące wysyłane do określonego hosta / portu. Próbowałem zadzierać z regułami pf przy użyciu Murusa (wersja niewolna), ale zakończyło się to niepowodzeniem.
Czuję się komfortowo w terminalu, ale nie jestem pewien, gdzie wprowadzić zmiany i jak je zastosować. Znam iptables na Linuksie.
Czy mogę uzyskać wskazówki, jak to osiągnąć?
Odpowiedzi:
Aby trwale zablokować ruch wychodzący do określonych domen i / lub portów, należy utworzyć nowy plik kotwicy i dodać go do pliku pf.conf.
Utwórz plik kotwicy org.user.block.out w /private/etc/pf.anchors
o następującej treści i końcowej pustej linii
Dodatkowe nazwy domen / adresy IP na hostach mybad * to tylko przykład dodawania dodatkowych domen. To samo dotyczy portów 80/5353 w portach mybad *.
Proste, ale mniej elastyczne rozwiązanie to:
Zmodyfikuj plik /private/etc/pf.conf, ale pozostaw końcową pustą linię
oryginalny plik:
do
Analizuj i testuj plik kontrolny, aby upewnić się, że nie ma błędów:
Teraz zmodyfikuj /System/Library/LaunchDaemons/com.apple.pfctl.plist z
do
Musisz wyłączyć Ochronę integralności systemu, jeśli El Capitan jest zainstalowany, aby to osiągnąć. Po edycji pliku można ponownie włączyć SIP. Po ponownym uruchomieniu komputera Mac pf zostanie włączony (jest to opcja -e).
Alternatywnie możesz utworzyć własnego demona uruchamiania podobnego do odpowiedzi tutaj: Używanie serwera 5.0.15 do udostępniania Internetu BEZ udostępniania Internetu .
Po aktualizacji systemu lub aktualizacji niektóre oryginalne pliki powyżej mogły zostać zastąpione i trzeba ponownie zastosować wszystkie zmiany.
Murus:
Otwórz Murusa. Kliknij koło zębate w panelu konfiguracji, aby utworzyć niestandardową regułę:
Wprowadź wszystkie niezbędne szczegóły:
Naciśnij niebieski przycisk Add Custom PF rule i uruchom PF w prawym górnym rogu strzałką w prawo (lub przyciskiem „odtwarzaj”).
źródło
Możesz użyć zapory ogniowej PF:
Dodaj tę linię do /etc/pf.conf, aby upuścić wszystkie pakiety na podany port ip:
Po zmianie pf.conf powinieneś go ponownie załadować
W końcu będziesz musiał włączyć to za pomocą
źródło