Na moim komputerze Ubuntu w /etc/sysctl.conf
pliku mam opcje filtrowania odwrotnej ścieżki domyślnie skomentowane w następujący sposób:
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
ale w /etc/sysctl.d/10-network-security.conf
nich (ponownie domyślnie) nie komentowano:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Czy więc włączono filtrowanie odwrotnej ścieżki? Które lokalizacje konfiguracji mają pierwszeństwo? Jak sprawdzić bieżące wartości tych i innych opcji jądra?
źródło
sysctl -e
do edycji isysctl -f
do wykonania konfiguracji?Tego rodzaju rzeczy zwykle znajdują się w interfejsach jądra
/proc
i / lub/sys
jądra (po pierwsze, pamiętajcie, że nic w tych katalogach nie jest zwykłym plikiem na dysku, wszystkie są bezpośrednimi liniami do jądra).Więc np .:
Wygląda na to, że mam ustawiony rp_filter dla em1, wlan0 i „default”. Możesz je ustawić lub rozbroić, pisząc do uchwytu pliku:
Jak wspomniano, jest to bezpośrednia komunikacja z jądrem, dzięki czemu działa natychmiast. To nie są pliki konfiguracyjne. Jeśli spróbujesz zrobić coś złego:
Oczywiście nie można powiedzieć, że nie można tego popsuć. I koniecznie przeczytaj poniższe komentarze.
źródło
sysctl -a
...sysctl
(patrzman 2 sysctl
), jednak nie jest on przenoszony do większości innych języków (w niektórych jest), aw takich przypadkach najlepszą opcją jest czytanie lub pisanie do proc. Może się zdarzyć, że bashecho
może się nie powieść, ponieważ mogę powiedzieć, że funkcje We / Wy strumienia wysokiego poziomu dostępne w C i innych językach mogą. Jednak niski poziom odczytu / zapisu nie będzie. W każdym razie wiedza o interfejsie proc jest ważna, dlatego goAby uzupełnić zaakceptowaną odpowiedź , chociaż prawdą jest, że
/etc/sysctl.conf
ustawienia mają pierwszeństwo przed tymi w/etc/sysctl.d/
, przykład przedstawiony w pierwotnym pytaniu pokazuje dwie zmienione komentarze w/etc/sysctl.conf
:i te same zmienne nieskomentowane w
/etc/sysctl.d/10-network-security.conf
:Może to być mylące, ponieważ komentarz nie jest ustawieniem, a jedynie uwagą na temat tego, co może być ustawieniem.
W tej sytuacji zmienne są faktycznie ustawione na 1, mimo że w silniejszym pliku konfiguracyjnym zostały skomentowane.
W razie
/etc/sysctl.conf
mieliśmy:wtedy zmienne zostaną ostatecznie ustawione na 0.
źródło