Ubuntu: Jak dodać regułę iptables, której UFW nie może utworzyć


15

UFW działa dla mnie naprawdę dobrze, z wyjątkiem przypadków, w których nie ...

Czy mogę ręcznie dodać kolejną regułę, która zostanie zastosowana podczas uruchamiania?

  • gdzie powinienem umieścić tę zasadę?
  • jak mam zacząć od uruchomienia?
  • jak sprawić, by gra ładnie działała w UFW?

1
ufw to jedna z tych rzeczy, które „widzisz, to wszystko, co dostajesz”, które ułatwiają początkującym. Jeśli potrzebujesz zrobić więcej, niż jest to w stanie zrobić, rozważ całkowite przejście na iptables. To, że „działa dla mnie naprawdę dobrze” jest dobrym dowodem na to, że możesz spróbować czegoś (iptables) bardziej skomplikowanego (ale także bardziej elastycznego).
— halp

Odpowiedzi:


14

Zgodnie z tą stroną wiki Ubuntu (przewiń w dół do „Zaawansowanej funkcjonalności”), możesz osiągnąć to, co chcesz, umieszczając własne iptablesreguły w następujących plikach:

  • /etc/ufw/before.rules
  • /etc/ufw/after.rules

beforePlik jest oceniana zanim jakiekolwiek ufwsą stosowane zasady; afterplik jest oceniany po. (Istnieją również odpowiednie before6i after6reguły plików dla twoich ip6tablesreguł.)

Pliki reguł powinny mieć iptables-restoreniekompatybilną składnię, prawdopodobnie dlatego, że ufwpo prostu ładuje je iptables-restore. Na koniec pamiętaj, że musisz zatrzymać i uruchomić ponownie ufwpo wprowadzeniu jakichkolwiek zmian w plikach reguł.


3
Zauważ, że możesz (być może nieumyślnie) zmienić pierwszeństwo reguł iptables, jeśli zapomnisz ustandaryzować użycie -I lub -A podczas korzystania z tych plików. -I (wstaw) dodaje reguły do ​​GÓRY łańcucha, najpierw oceniane, podczas gdy -A (dołącz) dodaje je do dolnej części łańcucha. Może to powodować nieoczekiwane wyniki, jeśli na przykład użyjesz -I w pliku .after. Tylko myśl.
— Sam Halicke,

0

UFW usunie każdą RĘCZNIE dodaną regułę, w /etc/ufw/user.rulesktórej NIE jest poprzedzony komentarzem:

### tuple ### allow tcp 80 0.0.0.0/0 any 0.0.0.0/0 out
-A ufw-user-output -p tcp --dport 80 -j ACCEPT

Kiedy rozsądek UFW sprawdza reguły przy uruchamianiu, oczekuje komentarza towarzyszącego. Jeśli NIE jest obecny, nawet jeśli składnia reguły jest poprawna, UFW nadal ją wyczyści.

I nie używaj tylko dowolnych komentarzy: MUSI to być komentarz, który UFW wstawiłby podczas tworzenia reguły użytkownika za pomocą cli, tj .:

sudo ufw allow http/tcp

Więc jeśli chcesz wstępnie zaszczepić serię reguł w zestawie reguł w prostym pliku, nadal musisz utworzyć reguły za pomocą interfejsu CLI UFW, aby poznać składnię komentarzy, których oczekuje, że reguła przejdzie sprawdzanie poprawności i będzie trwała .

Wypróbuj powyższe z komentarzem BEZ komentarza i BEZ, a następnie ponownie załaduj przykładową regułę HTTP powyżej; zauważysz tylko z komentarzem, czy ręcznie dodana reguła przetrwa restart ( UFW ) UFW.

Jest to naprawdę sprzeczne z intuicją zachowanie i wcale nie udokumentowane.

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.